Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Linux Mint ΠΈ Π΅Π³ΠΎ Cinnamon. ΠžΡ‡Π΅Ρ€ΠΊΠΈ примСнитСля». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 47

Автор АлСксСй Π€Π΅Π΄ΠΎΡ€Ρ‡ΡƒΠΊ

$ < filename

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ‡Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ постраничный Π²Ρ‹Π²ΠΎΠ΄ содСрТимого Ρ„Π°ΠΉΠ»Π°, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΌΡƒ любого ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅Ρ€Π°.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ содСрТимоС Π΄Π²ΡƒΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π°

$ < {zshenv,zshrc}

ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΎΠ±Π° Ρ„Π°ΠΉΠ»Π° ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅. ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΏΡ€ΠΎΡ‰Π΅, ΠΈΠ±ΠΎ маски ΠΈΠΌΡ‘Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Π²ΠΎΠ·Π±Ρ€Π°Π½ΡΡŽΡ‚ΡΡ:

$ < z*

ΠšΡΡ‚Π°Ρ‚ΠΈ, Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… Zsh Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ масок ΠΈΠΌΡ‘Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² называСтся globbing β€” с Π½ΠΈΠΌ ΠΌΡ‹ ΡƒΠΆΠ΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ Π² рассказС ΠΎ рСкурсивном поискС.

Число Β«ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ…Β» Ρ„Π°ΠΉΠ»ΠΎΠ² Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Π·Π΄Ρ€Π°Π²ΠΎΠ³ΠΎ смысла ΠΈ цСлСсообразности. Π’Π°ΠΊ, Π΅ΡΡ‚ΡŒ Ρ€Π΅Π·ΠΎΠ½ ΠΏΡ€ΠΎΠ³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π° ΡΠΊΠΎΡ€ΡƒΡŽ Ρ€ΡƒΠΊΡƒ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ 5-6 Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΏΠΎ нСсколько строк каТдая, Ссли ΠΈΡ… ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π² ΠΎΠ΄Π½Ρƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ. Но ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° пСрСнаправлСния ΠΊΠ½ΠΈΠΆΠΊΡƒ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· ΠΏΠ°Ρ€Ρ‹ дСсятков Π³Π»Π°Π² ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΎ страниц каТдая, ΡƒΠΆΠ΅ явный ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€.

Однако Π±Ρ‹Π²Π°ΡŽΡ‚ случаи, ΠΊΠΎΠ³Π΄Π° большоС число Β«ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ…Β» Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΡ‡Π΅Π½ΡŒ Π΄Π°ΠΆΠ΅ умСстно. НапримСр, Ссли трСбуСтся ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ряд тСкстовых Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ». И Ρ‚ΠΎΠ³Π΄Π°, Π»Π΅Π³ΠΊΠΈΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ€ΡƒΠΊ Π½Π°Π±Ρ€Π°Π² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ

$ < chapter[01-10] > mybook

ΠΌΡ‹ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· Ρ€Π°Π·Ρ€ΠΎΠ·Π½Π΅Π½Π½Ρ‹Ρ… Π³Π»Π°Π² ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ ΡƒΠΆΠ΅ ΠΊ мноТСствСнному ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ просмотром Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅ исчСрпываСтся β€” ΠΈΡ… содСрТимоС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° стандартный Π²Ρ‹Π²ΠΎΠ΄, Π½ΠΎ ΠΈ Π½Π° Π²Π²ΠΎΠ΄ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, подмСняя ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€. НапримСр, конструкция Π²ΠΈΠ΄Π°

$ sort < file_{1,2}

совмСстно отсортируСт строки ΠΎΠ±ΠΎΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², file_1 ΠΈ file_2, Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ это сдСлал Π±Ρ‹ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄

$ cat file_1 file_2 | sort

ΠšΡΡ‚Π°Ρ‚ΠΈ, ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ с ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°ΠΌΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅. НапримСр, конструкция Π²ΠΈΠ΄Π°

$ time commandname [options] [arguments] > filename | cat

занСсёт врСмя выполнСния Π½Π΅ΠΊΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ„Π°ΠΉΠ» с ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Π΅Π³ΠΎ Π½Π° экран, замСняя ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ tee. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ всяких «тСстированиях Π½Π° быстродСйствиС», ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ для дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈ Π½Π΅ тСрпится ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ сразу.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для суммарного подсчёта числа символов Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ… Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

$ wc -m <*txt

Π§Ρ‚ΠΎ Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π΅ даст СдинствСнноС число, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

5382

Казалось Π±Ρ‹, Ρ‚Π° ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² Β«ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉΒ» Ρ„ΠΎΡ€ΠΌΠ΅ Π΄Π°ΠΆΠ΅ ΠΊΠΎΡ€ΠΎΡ‡Π΅ Π½Π° ΠΎΠ΄ΠΈΠ½ символ:

$ wc -m *txt

Однако Π²Ρ‹Π²ΠΎΠ΄ Π΅Ρ‘ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚:

2820 my_file_1.txt

 606 my_file_2.txt

 401 my_file_3.txt

1555 my_file_4.txt

5382 ΠΈΡ‚ΠΎΠ³ΠΎ

Π§Ρ‚ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π²ΠΎ встроСнных Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΊΠ½Π°Ρ… тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² Π²Ρ€ΠΎΠ΄Π΅ Geany ΠΈΠ»ΠΈ Kate , часто Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ лишним. А вСдь ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΌ ΠΏΡ€ΠΈΡ‘ΠΌΡ‹, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ описанным Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅, ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ вСсьма эффСктивными.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, ΡƒΠΆΠ΅ Π·Π° ΠΎΠ΄Π½Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ < filename Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Zsh заслуТили памятник, Π° всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈ мноТСствСнного пСрСнаправлСния Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΊΠ°ΠΊ бСсплатноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΉ.

ΠŸΡ€ΠΎΡΡ‚ΠΎ псСвдонимы ΠΈ псСвдонимы Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ псСвдонимы, ΠΏΠΎ простому aliases, β€” Π·Π½Π°ΡŽΡ‚ всС, ΠΊΡ‚ΠΎ примСняСт Π»ΡŽΠ±ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ: ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сущСствуСт со Π²Ρ€Π΅ΠΌΡ‘Π½ ΠΏΠ΅Ρ€Π²ΠΎΡ€ΠΎΠΆΠ΄Ρ‘Π½Π½ΠΎΠ³ΠΎ шСлла Π‘ΠΎΡ€Π½Π°. Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· простых способов ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ², начиная с ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ рСкурсивного копирования Ρ„Π°ΠΉΠ»ΠΎΠ²:

alias cp='cp -R'

И заканчивая бСссчётным количСством псСвдонимов для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ls.

Однако Π² Zsh Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° Ρ„ΠΈΡ‡Π° β€” Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ псСвдонимы, ΠΏΠΎ сСй дСнь Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ², насколько я знаю, Π²ΠΎ всяких Ρ‚Π°ΠΌ Π²Π°ΡˆΠΈΡ… Π±Π°ΡˆΠ°Ρ…. И Π΄Π°ΠΆΠ΅ Π² ΠΏΠΎΡ‡Ρ‚ΠΈ соплСмСнных Ρ‚ΡΠΈΡˆΠ°Ρ… ΠΈΡ… Π½Π΅Ρ‚.

Но Π½Π°Ρ‡Π½Ρƒ ΠΏΠΎ порядку. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, ΠΊΠΎΠ³ΠΎ Π½Π΅ Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ°Π»Π° ситуация: Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° поиск Ρ„Π°ΠΉΠ»Π° find'ΠΎΠΌ ΠΈΠ»ΠΈ поиск Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° тСкста grep'ΠΎΠΌ выдаётся сто ΠΏΡΡ‚ΡŒΡΠΎΡ‚ экранов сообщСний, Ρ‡Ρ‚ΠΎ доступ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ Π·Π°ΠΏΡ€Π΅Ρ‰Ρ‘Π½?

РазумССтся, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒ Bash'Π° Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ с этим Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ β€” достаточно ΠΏΡ€ΠΈΡΠΎΠ±Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊ конструкции поиска посрСдством Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ малСнький аппСндикс Π² Π²ΠΈΠ΄Π΅ 2> /dev/null, ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π² Π½Π΅Π±Ρ‹Ρ‚ΠΈΠ΅ всС сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ….

Π‘Π»ΠΎΠΆΠ½Π΅Π΅ примСнитСлям Tcsh β€” Ρ‚Π°ΠΌ подавлСния Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°ΠΊΠΎΠΉ конструкции:

% (command > out)>& err

Π³Π΄Π΅ command β€” ΠΊΠΎΠΌΠ°Π½Π΄Π° со всСми Π΅Ρ‘ опциями ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, out β€” условноС имя Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСнаправляСтся Β«ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉΒ» Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π° & Π² Π΄Π°Π½Π½ΠΎΠΌ контСкстС прСдставляСт вСсь остаток ΠΎΡ‚ ΠΎΠ½ΠΎΠ³ΠΎ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ» err. Имя послСднСго Ρ‚Π°ΠΊΠΆΠ΅ условно, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΡΠ°ΠΊΡ€Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ /dev/null.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒ проста, ΠΊΠ°ΠΊ Π² sh-совмСстимых ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°Ρ… Ρ‚ΠΈΠΏΠ° Bash. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для просмотра Β«ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎΒ» Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΠ½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ β€” Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅Ρ€Π° Π²Ρ€ΠΎΠ΄Π΅ less:

% (command > out)>& err ; less out

А Π²ΠΎΡ‚ примСнитСлям Zsh β€” ΠΏΡ€ΠΎΡ‰Π΅ всСх. Им достаточно Π·Π°Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ псСвдоним:

$ alias -g N='2>/dev/null'

Π³Π΄Π΅ -g ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ символ (ΠΈΠ»ΠΈ символы) ΡΠ²Π»ΡΡŽΡ‚ собой Π½Π° простой псСвдоним, Π° Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ, N β€” Π΅Π³ΠΎ имя, Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ послС равСнства ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² строгих ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… β€” подмСняСмоС ΠΈΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. ПослС Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅:

$ find path3 -name [filename] N

И большС Π½Π΅ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π·Ρ‘Ρ€Π΅Π½ ΠΎΡ‚ ΠΏΠ»Π΅Π²Π΅Π».

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ псСвдонимы ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… конструкциях пСрСнаправлСния ΠΏΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для поэкранного Π²Ρ‹Π²ΠΎΠ΄Π°:

$ alias -g L='|less'

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для «пролистывания» Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ dmesg:

$ dmesg L

Для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ «слова» ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ псСвдоним:

alias -g G='|grep'

ПослС Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² конструкциях, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΎΠΉ:

$ dmesg G raid

Ρ‡Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½Π΅Ρ‡Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅

[    1.434246] md: raid0 personality registered for level 0

[    1.434376] md/raid0:md0: md_size is 390742016 sectors.

...

МнС вСсьма ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ псСвдоним Π²ΠΈΠ΄Π°

alias -g W='|wc -m'

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ часто трСбуСтся ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊ Ρ‚Π°ΠΊΠΎΠΉ конструкции

$ cat filename W

которая Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ число символов Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅ β€” для мСня ΠΎΠ½ΠΎ Π²Π°ΠΆΠ½Π΅Π΅ числа Π±Π°ΠΉΡ‚ (Π° ΠΏΡ€ΠΈ использовании 16-Π±ΠΈΡ‚Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ для прСимущСствСнно кирилличСского тСкста эти значСния Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚).

К ΠΈΠΌΠ΅Π½Π°ΠΌ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… псСвдонимов ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚Π΅ ΠΆΠ΅ трСбования, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ псСвдонимов ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ…: ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ возмоТности ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ, мнСмоничСски ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌΠΈ. И, разумССтся, опрСдСлСния всСх постоянно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… псСвдонимов слСдуСт занСсти Π² свой ΠΊΠΎΠ½Π΄ΡƒΠΈΡ‚ΠΈΠΊ β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² ~/.zshrc.

РазумССтся, здСсь Π½Π΅ описаны всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ случаи употрСблСния Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… псСвдонимов β€” ΠΎΠ½ΠΈ Π»ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ потрСбностями примСнитСля ΠΈ Π΅Π³ΠΎ Ρ„Π°Π½Ρ‚Π°Π·ΠΈΠ΅ΠΉ. И, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π°ΠΊΠ°Π·ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π» Π°Ρ‚Π°ΠΌΠ°Π½ ΠŸΠ»Π°Ρ‚ΠΎΠ² нСбСзызвСстному Π›Π΅Π²ΡˆΠ΅:

НС ΠΏΠ΅ΠΉ ΠΌΠ°Π»ΠΎ, Π½Π΅ ΠΏΠ΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎ, Π° ΠΏΠ΅ΠΉ срСдствСнно.

Π’ΠΎ Π΅ΡΡ‚ΡŒ β€” Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°ΠΉΡ‚Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… псСвдонимов большС, Ρ‡Π΅ΠΌ смоТСтС Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ.

ΠŸΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ‹-суффиксы

ΠšΡ€ΠΎΠΌΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… псСвдонимов, Π² Zsh сущСствуСт Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ΠΈΡ… Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ β€” псСвдонимы «суффиксныС», Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠ³ΠΎ опрСдСлСния Π½Π° языкС Ρ€ΠΎΠ΄Π½Ρ‹Ρ… осин я Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π», псСвдонимы.

Подобно Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π»Π΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ alias ΠΎΠΏΡ†ΠΈΠΈ -g с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ°Π³ΠΈΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ псСвдоним Π² Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ, Ρ‚Π°ΠΊ ΠΈ опция -s Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ псСвдоним «суффиксным». Π’ΠΎ Π΅ΡΡ‚ΡŒ привязываСт суффикс ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° (Ρ‚Π΅, ΠΊΡ‚ΠΎ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π°Π²Ρ‚ΠΎΡ€Ρƒ этих строк, Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ ΠΏΠΎΡ€Ρ‡Π΅ΠΉ Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΌ DOS'ΠΎΠΌ, Π΄ΠΎ сих ΠΏΠΎΡ€ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π΅Π³ΠΎ Β«Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌΒ») ΠΊ Π½Π΅ΠΊΠΎΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ Π½Π°Π΄ Π½ΠΈΠΌ Π½ΡƒΠΆΠ½ΠΎΠ΅ дСйство. НапримСр, Ссли Π·Π°Π΄Π°Ρ‚ΡŒ псСвдоним Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°

$ alias -s html=links

Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ Π² CLI Ρ‚Π°ΠΊΠΎΠ΅

$ path3/Π½Π΅ΠΊΡ‚ΠΎ.html

Ρ‚ΠΎ этот самый Π½Π΅ΠΊΡ‚ΠΎ.html Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π² тСкстовом Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Links.

Π§Π΅ΠΌ, разумССтся, возмоТности «суффиксных» псСвдонимов Π½Π΅ ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‚ΡΡ β€” ΠΊΠ°ΠΊ всСгда, ΠΏΡ€Π΅Π΄Π΅Π» ΠΈΠΌ ставит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ фантазия примСнитСля ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ Π΅Π³ΠΎ Π·Π°Π΄Π°Ρ‡Π°ΠΌ. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΡΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ.

Какой ΠΆΠ΅ русский Π½Π΅ Π»ΡŽΠ±ΠΈΡ‚ ΠšΠΎΠΌΠ°Π½Π΄Π΅Ρ€Π°-ΠΏΠΎΠ»ΡƒΠ½ΠΎΡ‡Π½ΠΈΠΊΠ°? Π’ Ρ‚ΠΎΠΌ числС ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· сыновСй прославлСнного ΠΊΠΎΠΌΠ°Π½Π΄Π΅Ρ€Π° Нортона, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ alias Π½Π΅Π·Π°Π±Π²Π΅Π½Π½ΠΎΠ³ΠΎ Π»Π΅ΠΉΡ‚Π΅Π½Π°Π½Ρ‚Π° Π¨ΠΌΠΈΠ΄Ρ‚Π° (история Π΅Π³ΠΎ чудСсного спасСния ΠΈΠ· Π»Π°ΠΏ царской ΠΎΡ…Ρ€Π°Π½ΠΊΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ блСстящСй ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π΅ сначала Π² Π’ΠœΠ‘ ΠŸΠ΅Π½Π΄ΠΎΡΡ‚Π°Π½Π°, Π° Π·Π°Ρ‚Π΅ΠΌ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ софтвСрном бузинСнсС рСконструирована нашими Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ историками ΠΈΠ· славного Π•ΠΊΠ°Ρ‚Π΅Ρ€ΠΈΠ½Π±ΡƒΡ€Π³Π°). Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ наш русский ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒ, Π½Π΅ смотря Π½Π° вСсь свой ΠΏΠ°Ρ‚Ρ€ΠΈΠΎΡ‚ΠΈΠ·ΠΌ, Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ слСпая любовь ΠΊ MC связываСт Π΅ΠΌΡƒ Ρ€ΡƒΠΊΠΈ Π² опСрациях с возлюблСнной CLI, ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π±Ρ‹ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ€ΠΎΠΌ Ρ€Π°ΡΡΡ‚Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°ΡŽΡ‚ Ρ†ΠΈΠ²ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ люди β€” Π±Π΅Π· скандалов ΠΈ истСрик.

Но Ρ‚ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: MC β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… способов просмотра Ρ‚ΠΎΠ³ΠΎ, ΠΈΠ· Ρ‡Π΅Π³ΠΎ состоят Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ deb, rpm ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Π΅Ρ‰Ρ‘ ΠΈΠ· tar.*z-сСрии). Π’Π°ΠΊ Π²ΠΎΡ‚, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ «суффиксных» псСвдонимов Zsh ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π°ΠΌ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΡƒΡŽ Π·Π°ΠΌΠ΅Π½Ρƒ: Ссли Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,

$ alias -s deb='dpkg -c'

Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Ρ‚Π°ΠΊΠΎΠ΅: