[Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ] Bash Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ: 21 ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°ΠΌΠ΅ днСс, Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ искат Π΄Π° сС запознаят с командния Ρ€Π΅Π΄ Π½Π° Linux. Π£ΠΌΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ‚ΠΎΠ·ΠΈ инструмСнт спСстява ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅. По-ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, Ρ‚ΡƒΠΊ Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° командния ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Bash ΠΈ Π·Π° 21 ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Ρ‰Π΅ обсъдим ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ„Π»Π°Π³ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ псСвдонимитС Π½Π° Bash, ΠΊΠΎΠΈΡ‚ΠΎ улСсняват Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° дълги инструкции.

[Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ] Bash Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ: 21 ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°

β†’ Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ°, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ Π² нашия Π±Π»ΠΎΠ³ Ρ†ΠΈΠΊΡŠΠ»Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π° bash-скриптовС

Π’Π΅Ρ€ΠΌΠΈΠ½ΠΈ

ΠŸΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с командния Ρ€Π΅Π΄ Π½Π° Linux Ρ‰Π΅ сС срСщнСтС с мноТСство понятия, ΠΊΠΎΠΈΡ‚ΠΎ Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅. Някои ΠΎΡ‚ тях, ΠΊΠ°Ρ‚ΠΎ β€žLinuxβ€œ ΠΈ β€žUnixβ€œ, ΠΈΠ»ΠΈ β€žΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€β€œ ΠΈ β€žΡ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»β€œ, понякога сС ΠΎΠ±ΡŠΡ€ΠΊΠ²Π°Ρ‚. НСка ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Ρ‚Π΅Π·ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π²Π°ΠΆΠ½ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ.

Unix β€” это популярна ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° ΠΎΡ‚ Bell Labs Π² 1970-Ρ‚Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ΠšΠΎΠ΄ΡŠΡ‚ ѝ Π΅ Π±ΠΈΠ» Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½.

Linux β€” это Π½Π°ΠΉ-популярната Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма. Π’ наши Π΄Π½ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° мноТСство устройства, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ.

Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» (terminaΠ»), ΠΈΠ»ΠΈ Π΅ΠΌΡƒΠ»ΠΈΡ€Π°Ρ‰ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, която осигурява Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ няколко Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π½ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

Обвивка (shell) β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, която позволява Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма, написани Π½Π° спСциалСн Π΅Π·ΠΈΠΊ.

Bash Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°Ρ‚ΠΎ Bourne Again SHell. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-разпространСният Π΅Π·ΠΈΠΊ Π½Π° командния ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° взаимодСйствиС с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма. ОсвСн Ρ‚ΠΎΠ²Π°, ΠΎΠ±ΠΎΠ»ΠΊΠ°Ρ‚Π° Bash ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² macOS.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Π½Π° командния Ρ€Π΅Π΄ (Command Line Interface, CLI) β€” это Π½Π°Ρ‡ΠΈΠ½ Π½Π° взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡ΠΎΠ²Π΅ΠΊ ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ потрСбитСлят въвСТда ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ‚Π°, Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ΡŠΡ‚, ΠΊΠ°Ρ‚ΠΎ изпълнява Ρ‚Π΅Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΈΠ·Π²Π΅ΠΆΠ΄Π° тСкстови ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π·Π° потрСбитСля. Основно, CLI сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»Π½Π° информация Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡŠΡ‚ Π½Π° командния Ρ€Π΅Π΄ трябва Π΄Π° бъдС Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΎΡ‚ графичния потрСбитСлски интСрфСйс (Graphical User Interface, GUI), ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с ΠΊΠΎΠΉΡ‚ΠΎ основно сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠΈΡˆΠΊΠ°Ρ‚Π°. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡŠΡ‚ Π½Π° командния Ρ€Π΅Π΄ чСсто сС Π½Π°Ρ€ΠΈΡ‡Π° просто ΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ Ρ€Π΅Π΄.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ (скрипт) β€” Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ°Π»ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, която ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° послСдоватСлност ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° командния Ρ€Π΅Π΄. Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π΅Ρ‚Π΅ сС записват във Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ. ΠŸΡ€ΠΈ писанСто Π½Π° скриптовС ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, условни конструкции, Ρ†ΠΈΠΊΠ»ΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ.

Π‘Π΅Π³Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ Π²Π°ΠΆΠ½ΠΈΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ, искам Π΄Π° подчСртая, Ρ‡Π΅ Ρ‚ΡƒΠΊ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ‚Π΅ β€žBashβ€œ, β€žΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°β€œ ΠΈ β€žΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ Ρ€Π΅Π΄β€œ ΠΊΠ°Ρ‚ΠΎ взаимозамСняСми, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ понятията β€žΠ΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡβ€œ (directory) ΠΈ β€žΠΏΠ°ΠΏΠΊΠ°β€œ (folder).

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚ΡƒΠΊ β€” Ρ‚ΠΎΠ²Π° Π΅ стандартният Π²Ρ…ΠΎΠ΄ (standard input, stdin), стандартният ΠΈΠ·Ρ…ΠΎΠ΄ (standard output, stdout) ΠΈ стандартният ΠΈΠ·Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π΅ΡˆΠΊΠΈ (standard error, stderr).

Ако Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈΡ‚Π΅ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ, срСщнСтС Π½Π΅Ρ‰ΠΎ ΠΊΠ°Ρ‚ΠΎ my_whatever β€” Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ трябва Π΄Π° бъдС Π·Π°ΠΌΠ΅Π½Π΅Π½ с Π½Π΅Ρ‰ΠΎ вашС. НапримСр β€” ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»Π°.

Π‘Π΅Π³Π°, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ посвСтСн Ρ‚ΠΎΠ·ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», Π½Π΅ΠΊΠ° Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ списъка ΠΈΠΌ ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠΈ описания.

21 Bash-ΠΊΠΎΠΌΠ°Π½Π΄Π°

β–ΠŸΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° информация

  • man: ΠΈΠ·Π²Π΅ΠΆΠ΄Π° Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π½Π° потрСбитСля (справка) Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°.
  • pwd: ΠΈΠ·Π²Π΅ΠΆΠ΄Π° информация Π·Π° Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° дирСктория.
  • ls: ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° дирСкторията.
  • ps: позволява Π΄Π° сС ΠΏΡ€Π΅Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ информация Π·Π° Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈΡ‚Π΅ процСси.

β–ΠœΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΠΈ с Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма

  • cd: промяна Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° дирСктория.
  • touch: създаванС Π½Π° Ρ„Π°ΠΉΠ».
  • mkdir: създаванС Π½Π° дирСктория.
  • cp: ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ».
  • mv: прСмСстванС ΠΈΠ»ΠΈ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ».
  • ln: създаванС Π½Π° символна Π²Ρ€ΡŠΠ·ΠΊΠ°.

β–ΠŸΡ€Π΅Π½Π°ΡΠΎΡ‡Π²Π°Π½Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΈΠ·Ρ…ΠΎΠ΄Π° ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΈ

  • <: прСнасочванС stdin.
  • >: прСнасочванС stdout.
  • |: прСнасочванС с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€, ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ‰ Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π° Π²Ρ…ΠΎΠ΄Π° Π½Π° Π΄Ρ€ΡƒΠ³Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°.

▍ЧСтСнС Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

  • head: Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ».
  • tail: Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° края Π½Π° Ρ„Π°ΠΉΠ».
  • cat: Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ» ΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ ΠΌΡƒ Π½Π° Π΅ΠΊΡ€Π°Π½Π° ΠΈΠ»ΠΈ конкатСнация Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

β–Π˜Π·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, спиранС Π½Π° процСси

  • rm: ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ».
  • kill: спиранС Π½Π° процСс.

β–Π’ΡŠΡ€ΡΠ΅Π½Π΅

  • grep: Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° информация.
  • ag: Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅.

▍АрхивиранС

  • tar: създаванС Π½Π° Π°Ρ€Ρ…ΠΈΠ²ΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с тях.

НСка ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π·Π° Ρ‚Π΅Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅

ΠŸΡŠΡ€Π²ΠΎ Π½Π΅ΠΊΠ° Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅, Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ‚ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° stdout. ОбикновСно Ρ‚Π΅Π·ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΈΠ·Π»ΠΈΠ·Π°Ρ‚ Π² тСрминалния ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†.

β–ΠŸΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° информация

man command_name: ΠΈΠ·Π²Π΅ΠΆΠ΄Π° Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎΡ‚ΠΎ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°, тоСст β€” справочната информация.

pwd: ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡŠΡ‚ΠΈΡ‰Π°Ρ‚Π° към Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π½Π° дирСктория. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с командния Ρ€Π΅Π΄ потрСбитСлят чСсто трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ къдС Ρ‚ΠΎΡ‡Π½ΠΎ Π² систСмата сС Π½Π°ΠΌΠΈΡ€Π°.

ls: ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° дирСкторията. Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡŠΡ‰ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ чСсто.

ls -a: ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° скрититС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π’ΡƒΠΊ Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ Ρ„Π»Π°Π³ -a ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ls. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π»Π°Π³ΠΎΠ²Π΅ ΠΏΠΎΠΌΠ°Π³Π° Π·Π° настройванС Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅.

ls -l: ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π° информация Π·Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅.

ΠžΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Π΅ Ρ„Π»Π°Π³ΠΎΠ²Π΅Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ. НапримСр β€” Ρ‚Π°ΠΊΠ°: ls -al.

ps: ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ‚Π΅ процСси.

ps -e: ΠΏΠΎΠΊΠ°Π·Π²Π° информация Π·Π° всички Ρ‚Π΅ΠΊΡƒΡ‰ΠΈ процСси, Π° Π½Π΅ само Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π½Π° потрСбитСля. Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½.

β–ΠœΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΠΈ с Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма

cd my_directory: промяна Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½Π°Ρ‚Π° дирСктория Π½Π° my_directory. Π—Π° Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅Ρ‚Π΅ Π½Π° Π΅Π΄ΠΈΠ½ Π½ΠΈΠ²o ΠΏΠΎ-високо Π² Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈΡ‚Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠ°Ρ‚ΠΎ my_directory относитСлСн ΠΏΡŠΡ‚ ../.

[Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ] Bash Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ: 21 ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° cd

touch my_file: създаванС Π½Π° Ρ„Π°ΠΉΠ» my_file Π½Π° зададСния ΠΏΡŠΡ‚.

mkdir my_directory: създаванС Π½Π° ΠΏΠ°ΠΏΠΊΠ° my_directory Π½Π° зададСния ΠΏΡŠΡ‚.

mv my_file target_directory: ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»Π° my_file Π² ΠΏΠ°ΠΏΠΊΠ° target_directory. ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ†Π΅Π»Π΅Π²Π°Ρ‚Π° дирСктория трябва Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°Π±ΡΠΎΠ»ΡŽΡ‚Π΅Π½ ΠΏΡŠΡ‚ Π΄ΠΎ нСя (Π° Π½Π΅ конструкция ΠΊΠ°Ρ‚ΠΎ ../).

ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° mv, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠΈ. НапримСр, Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
: създаванС Π½Π° ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Ρ„Π°ΠΉΠ»Π° my_source_file ΠΈ поставянС ΠΌΡƒ Π² ΠΏΠ°ΠΏΠΊΠ° target_directory.

ln -s my_source_file my_target_file: създаванС Π½Π° символна Π²Ρ€ΡŠΠ·ΠΊΠ° my_target_file към Ρ„Π°ΠΉΠ»Π°. my_source_fileАко ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π°, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΈ оригиналният Ρ„Π°ΠΉΠ».

Ако Ρ„Π°ΠΉΠ»ΡŠΡ‚ my_source_file бъдС ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚, Ρ‚ΠΎΠ³Π°Π²Π° my_target_file остава. Π€Π»Π°Π³ΡŠΡ‚ -s ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ln позволява ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΈ Π·Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

Π‘Π΅Π³Π° Π΄Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° прСнасочванС Π½Π° Π²Ρ…ΠΎΠ΄Π°-ΠΈΠ·Ρ…ΠΎΠ΄Π° ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΈΡ‚Π΅.

β–ΠŸΡ€Π΅Π½Π°ΡΠΎΡ‡Π²Π°Π½Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΈΠ·Ρ…ΠΎΠ΄Π° ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΈ

my_command < my_file: замСня дСскриптора Π½Π° стандартния Π²Ρ…ΠΎΠ΄ (stdin) с Ρ„Π°ΠΉΠ» my_file. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ситуация, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ΠΎΡ‡Π°ΠΊΠ²Π° Π²Ρ…ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ‚Π°, Π° Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ са ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ записани Π² Ρ„Π°ΠΉΠ».

my_command > my_file: прСнасочва Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°, Ρ‚.Π΅. Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΏΠΎΠΏΠ°Π΄Π° Π² stdout ΠΈ сС ΠΏΠΎΠΊΠ°Π·Π²Π° Π½Π° Π΅ΠΊΡ€Π°Π½Π°, Π² Ρ„Π°ΠΉΠ» my_file. Ако Ρ„Π°ΠΉΠ»ΡŠΡ‚ my_file Π½Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° β€” Ρ‚ΠΎΠΉ сС създава. Ако Ρ„Π°ΠΉΠ»ΡŠΡ‚ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° β€” Ρ‚ΠΎΠΉ сС прСзаписва.

НапримСр, слСд ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ls > my_folder_contents.txt Ρ‰Π΅ бъдС създадСн тСкстов Ρ„Π°ΠΉΠ», ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ списък Π½Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π½Π°ΠΌΠΈΡ€Π° Π² Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π½Π° дирСктория.

Ако вмСсто символа > ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ конструкцията >>, Ρ‚ΠΎ, ΠΏΡ€ΠΈ условиС сущСствуванСто Π½Π° Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΠΉΡ‚ΠΎ сС прСнасочва ΠΈΠ·Ρ…ΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°, Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΉΠ» няма Π΄Π° бъдС прСзаписан. Π”Π°Π½Π½ΠΈΡ‚Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π² края Π½Π° Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΉΠ».

Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π½Π°Ρ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ.

[Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ] Bash Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ: 21 ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°
Π’ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ·Ρ…ΠΎΠ΄ΡŠΡ‚ ΠΎΡ‚ Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, сС ΠΏΠΎΠ΄Π°Π²Π° Π½Π° Π²Ρ…ΠΎΠ΄Π° Π½Π° Π΄Ρ€ΡƒΠ³Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Π΄Π½Π° Ρ‚Ρ€ΡŠΠ±Π° към Π΄Ρ€ΡƒΠ³Π°.

first_command | second_command: символ Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°, |, сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π·Π° Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π° Π΄Ρ€ΡƒΠ³Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°. Π’ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ΠΎΡ‚ лявата страна Π½Π° описаната конструкция ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π² stdout, ΠΏΠΎΠΏΠ°Π΄Π° Π² stdin ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°, която сС Π½Π°ΠΌΠΈΡ€Π° вдясно ΠΎΡ‚ Π·Π½Π°ΠΊΠ° Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°.

Π’ Linux ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π½Π°Ρ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° практичСски всяка ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°. ЧСсто сС ΠΊΠ°Π·Π²Π°, Ρ‡Π΅ всичко Π² Linux Π΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€.

Π‘ ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π·Π½Π°ΠΊΠ° Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚Π΅ Π² послСдоватСлност няколко ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. ИзглСТда Ρ‚Π°ΠΊΠ°:

first_command | second_command | third_command

[Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ] Bash Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ: 21 ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠšΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΡŠΡ‚ ΠΎΡ‚ няколко ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС сравни с Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄.

ΠžΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Π΅ ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°, Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° наляво ΠΎΡ‚ Π·Π½Π°ΠΊΠ° |, ΠΈΠ·Π²Π΅Π΄Π΅ Π½Π΅Ρ‰ΠΎ Π² stdout, Ρ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ тя Π΅ ΠΈΠ·Π²Π΅Π΄Π΅Π½o, Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ става Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ Π·Π° stdin Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°. ВоСст, ΠΎΠΊΠ°Π·Π²Π° сС, Ρ‡Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°, ΠΈΠΌΠ°ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Понякога Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π΅ΠΎΡ‡Π°ΠΊΠ²Π°Π½ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ Π·Π° Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Ρ‚ΡƒΠΊ..

Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Ρ‚Π΅Π·ΠΈ Π½Π° Π΅ΠΊΡ€Π°Π½Π°.

▍ЧСтСнС Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

head my_file: Ρ‡Π΅Ρ‚Π΅ Ρ€Π΅Π΄ΠΎΠ²Π΅ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»Π° ΠΈ Π³ΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π° Π½Π° Π΅ΠΊΡ€Π°Π½Π°. МоТС Π΄Π° сС Ρ‡Π΅Ρ‚Π΅ Π½Π΅ само ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, Π½ΠΎ ΠΈ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ‚ Π² stdin, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Ρ‚Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠ°Ρ‚ΠΎ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°.

tail my_file: Ρ‡Π΅Ρ‚Π΅ Ρ€Π΅Π΄ΠΎΠ²Π΅ ΠΎΡ‚ края Π½Π° Ρ„Π°ΠΉΠ»Π°. Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡŠΡ‰ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°.

[Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ] Bash Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ: 21 ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°
Head (Π³Π»Π°Π²Π°) Π΅ ΠΎΡ‚ΠΏΡ€Π΅Π΄, Π° tail (опашка) β€” ΠΎΡ‚Π·Π°Π΄.

Ако Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с Π΄Π°Π½Π½ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° pandas, Ρ‚ΠΎ Ρ‚ΠΎΠ³Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ head ΠΈ tail трябва Π΄Π° са Π²ΠΈ ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ. Ако Π½Π΅ Π΅ Ρ‚Π°ΠΊΠ° β€” ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ горния Ρ€ΠΈΡΡƒΠ½ΡŠΠΊ ΠΈ лСсно Ρ‰Π΅ Π³ΠΈ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅.

НСка Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° cat.

Π•ΠΊΠΈΠΏ cat ΠΈΠ»ΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»Π° Π½Π° Π΅ΠΊΡ€Π°Π½Π°, ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½ΠΈΡ€Π° няколко Ρ„Π°ΠΉΠ»Π°. Π’ΠΎΠ²Π° зависи ΠΎΡ‚ Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ Ρ„Π°ΠΉΠ»Π° са ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ΠΈ Π½Π° Ρ‚Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ.

[Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ] Bash Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ: 21 ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° cat

cat my_one_file.txt: ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½Π° Ρ‚Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° сС ΠΏΡ€Π΅Π΄Π°Π΄Π΅ Π΅Π΄ΠΈΠ½ Ρ„Π°ΠΉΠ» β€” тя Π³ΠΎ ΠΈΠ·Π²Π΅ΠΆΠ΄Π° Π² stdout.

Ако ΠΏΡ€Π΅Π΄Π°Π΄Π΅Ρ‚Π΅ Π΄Π²Π° Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅, Ρ‚ΠΎ тя Ρ‰Π΅ сС Π΄ΡŠΡ€ΠΆΠΈ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½.

cat my_file1.txt my_file2.txt: ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΉΠΊΠΈ Π½Π° Π²Ρ…ΠΎΠ΄ няколко Ρ„Π°ΠΉΠ»Π°, Ρ‚Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π³ΠΈ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½ΠΈΡ€Π° ΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° Π² stdout.

Ако искатС Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° ΠΎΡ‚ конкатСнацията Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ Π΄Π° бъдС Π·Π°ΠΏΠ°Π·Π΅Π½ Π² Π½ΠΎΠ² Ρ„Π°ΠΉΠ», ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° >:

cat my_file1.txt my_file2.txt > my_new_file.txt

Π‘Π΅Π³Π° Π΄Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°ΠΌΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π΄Π° спирамС процСси.

β–Π˜Π·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, спиранС Π½Π° процСси

rm my_file: ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π° Ρ„Π°ΠΉΠ»Π° my_file.

rm -r my_folder: ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π° ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° my_folder ΠΈ всички Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π² нСя. Π€Π»Π°Π³ΡŠΡ‚ -r ΠΏΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² рСкурсивСн Ρ€Π΅ΠΆΠΈΠΌ.

Π—Π° Π΄Π° систСмата Π΄Π° Π½Π΅ иска ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ всяка опСрация ΠΏΠΎ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Ρ„Π»Π°Π³Π° -f.

kill 012345: спира посочСния Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ процСс, Π΄Π°Π²Π°ΠΉΠΊΠΈ ΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π°.

kill -9 012345: ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎ прСкратява ΡƒΠΊΠ°Π·Π°Π½ стартиран процСс. Π€Π»Π°Π³ΡŠΡ‚ -s SIGKILL ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° ΡΡŠΡ‰ΠΎΡ‚ΠΎ ΠΊΠ°Ρ‚ΠΎ Ρ„Π»Π°Π³Π° -9.

β–Π’ΡŠΡ€ΡΠ΅Π½Π΅

Π—Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Π’ частност β€” grep, ag ΠΈ ack. НСка Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ Π½Π°ΡˆΠ΅Ρ‚ΠΎ запознанство с Ρ‚Π΅Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ с grep. Π’ΠΎΠ²Π° Π΅ β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, която ΠΎΠ±Π°Ρ‡Π΅ Π΅ ΠΏΠΎ-Π±Π°Π²Π½Π° ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΈ Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΡƒΠ΄ΠΎΠ±Π½Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅.

[Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ] Bash Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ: 21 ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° grep

grep my_regex my_file: ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° my_regex Π² my_file. ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈΠ΅ Π½Π° съвпадСния сС Π²Ρ€ΡŠΡ‰Π°, Π·Π° всяко ΠΎΡ‚ тях, цСлият Ρ€Π΅Π΄. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ my_regex сС счита Π·Π° рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ.

grep -i my_regex my_file: Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅Ρ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π±Π΅Π· ΠΎΠ³Π»Π΅Π΄ Π½Π° рСгистра Π½Π° символитС.

grep -v my_regex my_file: Π²Ρ€ΡŠΡ‰Π° всички Ρ€Π΅Π΄ΠΎΠ²Π΅, Π² ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ сС ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° my_regex. Π€Π»Π°Π³ΡŠΡ‚ -v ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° инвСрсия, Ρ‚ΠΎΠΉ напомня Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° NOT, Π½Π°Π»ΠΈΡ‡Π΅Π½ Π² ΠΌΠ½ΠΎΠ³ΠΎ Π΅Π·ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅.

grep -c my_regex my_file: Π²Ρ€ΡŠΡ‰Π° информация Π·Π° броя Π½Π° съвпадСния с Ρ‚ΡŠΡ€ΡΠ΅Π½ΠΈΡ шаблон, Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ във Ρ„Π°ΠΉΠ»Π°.

grep -R my_regex my_folder: ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° рСкурсивно Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ във всички Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, находящи сС Π² посочСната ΠΏΠ°ΠΏΠΊΠ° ΠΈ Π² Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΠΈ.

Π‘Π΅Π³Π° Π΄Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ag. Вя сС появи ΠΏΠΎ-късно grep, ΠΏΠΎ-Π±ΡŠΡ€Π·Π° Π΅ ΠΈ Π΅ ΠΏΠΎ-ΡƒΠ΄ΠΎΠ±Π½Π° Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°.

[Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ] Bash Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ: 21 ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ag

ag my_regex my_file: Π²Ρ€ΡŠΡ‰Π° информация Π·Π° Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅ ΠΈ самитС Ρ€Π΅Π΄ΠΎΠ²Π΅, Π² ΠΊΠΎΠΈΡ‚ΠΎ са Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ съвпадСния с my_regex.

ag -i my_regex my_file: Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅Ρ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π±Π΅Π· ΠΎΠ³Π»Π΅Π΄ Π½Π° рСгистра Π½Π° символитС.

Π•ΠΊΠΈΠΏ ag Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Ρ„Π°ΠΉΠ»Π° .gitignore ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π° ΠΎΡ‚ ΠΈΠ·Ρ…ΠΎΠ΄Π° всичко, Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΎ Π² ΠΏΠ°ΠΏΠΊΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΈ Π² Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΉΠ». Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ.

ag my_regex my_file -- skip-vcs-ignores: ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° систСмитС Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° вСрсиитС (ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° .gitignore) Π½Π΅ сС Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΏΡ€ΠΈ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅.

ОсвСн Ρ‚ΠΎΠ²Π°, Π·Π° Π΄Π° ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ag ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡŠΡ‚ΠΈΡ‰Π° към Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ ΠΎΡ‚ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅Ρ‚ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ Ρ„Π°ΠΉΠ» .agignore.

Π’ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° Ρ‚ΠΎΠ·ΠΈ Ρ€Π°Π·Π΄Π΅Π» спомСнахмС ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ack. ΠšΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ ack ΠΈ ag са ΠΌΠ½ΠΎΠ³ΠΎ сходни, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΊΠ°ΠΆΠ΅, Ρ‡Π΅ са взаимнозамСняСми Π½Π° 99%. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ag Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ, Π·Π°Ρ‚ΠΎΠ²Π° описах ΠΈΠΌΠ΅Π½Π½ΠΎ нСя.

Π‘Π΅Π³Π° Π΄Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π°Ρ€Ρ…ΠΈΠ²ΠΈ.

▍АрхивиранС

tar my_source_directory: обСдинява Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ ΠΎΡ‚ ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° my_source_directory Π² Π΅Π΄ΠΈΠ½ tarball Ρ„Π°ΠΉΠ». Π’Π°ΠΊΠΈΠ²Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ са ΡƒΠ΄ΠΎΠ±Π½ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π½Π°Π±ΠΎΡ€ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° някого.

[Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ] Bash Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ: 21 ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° tar

Tarball Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, създавани ΠΎΡ‚ Ρ‚Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°, прСдставляват Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ .tar (Tape ARchive). Π’ΠΎΠ²Π°, Ρ‡Π΅ Π² ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ΠΈ Π² Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ тя създава, сС ΠΊΡ€ΠΈΠ΅ Π΄ΡƒΠΌΠ°Ρ‚Π° "Π»Π΅Π½Ρ‚Π°", ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ»ΠΊΠΎ ΠΎΡ‚Π΄Π°Π²Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Ρ‚Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°.

tar -cf my_file.tar my_source_directory: създава tarball Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅ my_file.tar с ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° my_source_directory. Π€Π»Π°Π³ΡŠΡ‚ -c сС Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π° ΠΊΠ°Ρ‚ΠΎ "create" (създаванС), Π° Ρ„Π»Π°Π³ΡŠΡ‚ -f ΠΊΠ°Ρ‚ΠΎ "file" (Ρ„Π°ΠΉΠ»).

Π—Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ сС Π½Π°ΠΌΠΈΡ€Π°Ρ‚ Π² .tar-Ρ„Π°ΠΉΠ»Π°, сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° tar с Ρ„Π»Π°Π³ΠΎΠ²Π΅Ρ‚Π΅ -x ("extract", ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅) ΠΈ -f ("file", Ρ„Π°ΠΉΠ»).

tar -xf my_file.tar: ΠΈΠ·Π²Π»ΠΈΡ‡Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ ΠΎΡ‚ my_file.tar Π² Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π½Π° дирСктория.

Π‘Π΅Π³Π° Π΄Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° компрСсирамС ΠΈ Ρ€Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°ΠΌΠ΅ .tar-Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

tar -cfz my_file.tar.gz my_source_directory: Ρ‚ΡƒΠΊ, с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π»Π°Π³Π° -z ("zip", Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° компрСсия), Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Π΅ Π·Π° компрСсиранС Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ трябва Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ gzip (GNU zip). ΠšΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ позволява пСстСнС Π½Π° дисково пространство ΠΏΡ€ΠΈ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Ако Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, Ρ‚ΠΎΠ²Π° спомага Π·Π° ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ изтСглянС Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅.

Π Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ» .tar.gz ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ, добавяйки Ρ„Π»Π°Π³ -z към ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ .tar-Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, която Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ ΠΏΠΎ-Π³ΠΎΡ€Π΅. ИзглСТда Ρ‚Π°ΠΊΠ°:

tar -xfz my_file.tar.gz
Врябва Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° tar ΠΈΠΌΠ° ΠΎΡ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Ρ„Π»Π°Π³ΠΎΠ²Π΅.

Bash псСвдоними

Bash псСвдонимитС (Π½Π°Ρ€ΠΈΡ‡Π°Ρ‚ сС ΠΎΡ‰Π΅ алиаси ΠΈΠ»ΠΈ ΡΡŠΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΡ) са ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π·Π° създаванС Π½Π° ΡΡŠΠΊΡ€Π°Ρ‚Π΅Π½ΠΈ наимСнования Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈΠ»ΠΈ Ρ‚Π΅Ρ…Π½ΠΈ послСдоватСлности, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ вмСсто ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ускорява Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π°. Ако ΠΈΠΌΠ°Ρ‚Π΅, Π΄Π° Ρ€Π΅Ρ‡Π΅ΠΌ, псСвдоним bu, Π·Π°Π΄ ΠΊΠΎΠΉΡ‚ΠΎ стои ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° python setup.py sdist bdist_wheel, Ρ‚ΠΎ Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Ρ‚Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ‚ΠΎΠ·ΠΈ псСвдоним.

Π—Π° Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ псСвдоним, Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ слСдната ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² Ρ„Π°ΠΉΠ»Π° ~/ .bash_profile:

alias bu="python setup.py sdist bdist_wheel"

Ако Π² систСмата Π²ΠΈ няма Ρ„Π°ΠΉΠ» ~/ .bash_profile, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ сами, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° touch. Π‘Π»Π΅Π΄ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° псСвдонима рСстартирайтС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅. Π’ Ρ‚ΠΎΠ·ΠΈ случай Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π²Π° символа замСня Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ тридСсСт символа ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°, която Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π·Π° сборкитС Python ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ.

Π’ ~/ .bash_profile ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° добавятС псСвдоними Π·Π° всякакви чСсто ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.

β–Π Π΅Π·ΡŽΠΌΠ΅

Π’ Ρ‚ΠΎΠ·ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ 21 популярна ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° Bash ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ…ΠΌΠ΅ Π·Π° ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° псСвдоними Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Ако Ρ‚Π΅ΠΌΠ°Ρ‚Π° Π²ΠΈ интСрСсува β€” Π΅Ρ‚ΠΎ Ρ†ΠΈΠΊΡŠΠ» ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, посвСтСн Π½Π° Bash. Π’ΡƒΠΊ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ pdf вСрсия Π½Π° Ρ‚Π΅Π·ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. ОсвСн Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ искатС Π΄Π° ΠΎΠ²Π»Π°Π΄Π΅Π΅Ρ‚Π΅ Bash, ΠΏΠΎΠΌΠ½Π΅Ρ‚Π΅, Ρ‡Π΅ Ρ‚ΡƒΠΊ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° всяка Π΄Ρ€ΡƒΠ³Π° софтуСрна систСма, ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°Ρ‚Π° Π΅ Π²Π°ΠΆΠ½Π°.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! Кои ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ, Π±ΠΈΡ…Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ към Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ бяха Ρ€Π°Π·Π³Π»Π΅Π΄Π°Π½ΠΈ Π² Ρ‚Π°Π·ΠΈ статия?

β†’ Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ°, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ Π² нашия Π±Π»ΠΎΠ³ Ρ†ΠΈΠΊΡŠΠ»Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π° bash-скриптовС

[Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ] Bash Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ: 21 ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster