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

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

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

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

Условията

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

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

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

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

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

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

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

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

Π‘Π΅Π³Π°, слСд ΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ Π²Π°ΠΆΠ½ΠΈΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ, искам Π΄Π° ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠ°, Ρ‡Π΅ Ρ‚ΡƒΠΊ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ‚Π΅ β€žBashβ€œ, β€žshellβ€œ ΠΈ β€žcommand lineβ€œ взаимозамСняСмо, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ‚Π΅ β€žΠ΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡβ€œ ΠΈ β€žΠΏΠ°ΠΏΠΊΠ°β€œ.

стандарт ΠΏΠΎΡ‚ΠΎΡ†ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚ΡƒΠΊ, Π΅ стандартният Π²Ρ…ΠΎΠ΄ (стандартСн Π²Ρ…ΠΎΠ΄, stdin), стандартСн ΠΈΠ·Ρ…ΠΎΠ΄ (стандартСн ΠΈΠ·Ρ…ΠΎΠ΄, stdout) ΠΈ ΠΈΠ·Ρ…ΠΎΠ΄ Π·Π° стандартна Π³Ρ€Π΅ΡˆΠΊΠ° (стандартна Π³Ρ€Π΅ΡˆΠΊΠ°, stderr).

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

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

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

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

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

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

  • cd: промяна Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½Π°Ρ‚Π° дирСктория.
  • touch: ΡΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ».
  • mkdir: ΡΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ дирСктория.
  • cp: ΠšΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ».
  • mv: ΠŸΡ€Π΅ΠΌΠ΅ΡΡ‚Π΅Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ·Ρ‚Ρ€ΠΈΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ».
  • ln: ΡΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠ°.

▍I/O прСнасочванС ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΈ

  • <: прСнасочванС 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. Π—Π° Π΄Π° сС ΠΏΡ€ΠΈΠ΄Π²ΠΈΠΆΠΈΡ‚Π΅ Π΅Π΄Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π°Π³ΠΎΡ€Π΅ Π² Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° дирСкторията, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ 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 Π²ΠΈ позволява Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠΈ към Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° I/O прСнасочванС ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΈ.

▍I/O прСнасочванС ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΈ

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, Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ тя ΠΈΠ·Π²Π΅ΠΆΠ΄Π°, Π΅ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ ΠΊΠ°Ρ‚ΠΎ stdin Π²Ρ‚ΠΎΡ€ΠΈ ΠΎΡ‚Π±ΠΎΡ€. ВоСст, ΠΎΠΊΠ°Π·Π²Π° сС, Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°, ΠΈΠΌΠ°ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Понякога Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π΅ΠΎΡ‡Π°ΠΊΠ²Π°Π½ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ Π·Π° Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Ρ‚ΡƒΠΊ.

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

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

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

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

[ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°] Bash Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ: 21 ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ
Π“Π»Π°Π²Π°Ρ‚Π° (Π³Π»Π°Π²Π°Ρ‚Π°) Π΅ ΠΎΡ‚ΠΏΡ€Π΅Π΄, Π° ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° (ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π°) Π΅ ΠΎΡ‚Π·Π°Π΄

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

ΠŸΠΎΠΌΠΈΡΠ»Π΅Ρ‚Π΅ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Π½Π΅ΠΊΠ° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° cat.

ΠžΡ‚Π±ΠΎΡ€ cat ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚Π²Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ» Π½Π° Π΅ΠΊΡ€Π°Π½Π°, ΠΈΠ»ΠΈ обСдинява мноТСство Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Зависи ΠΎΡ‚ Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ Ρ„Π°ΠΉΠ»Π° сС ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ Π½Π° Ρ‚Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅.

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

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" (Π»Π΅Π½Ρ‚Π°) Π΅ скрита Π² ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ΠΈ Π² Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ създава, ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ»ΠΊΠΎ дълго ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Ρ‚Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°.

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

Π—Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ .tar-file, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° tar със Π·Π½Π°ΠΌΠ΅Π½Π° -x ("Скстракт", ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅) ΠΈ -f ("Ρ„Π°ΠΉΠ»", Ρ„Π°ΠΉΠ»).

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

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

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

Π Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Π° .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 ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ…ΠΌΠ΅ Π·Π° ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° псСвдоними Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Ако сС интСрСсуватС ΠΎΡ‚ Ρ‚Π°Π·ΠΈ Ρ‚Π΅ΠΌΠ° - Ρ‚ΡƒΠΊ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, посвСтСни Π½Π° баш. Π’ΡƒΠΊ ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ pdf вСрсия Π½Π° Ρ‚Π΅Π·ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. ОсвСн Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ искатС Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ Bash, Π½Π΅ забравяйтС, Ρ‡Π΅ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈ всяка Π΄Ρ€ΡƒΠ³Π° систСма Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°Ρ‚Π° Π΅ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π°.

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

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

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

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€