Π‘ΡΠΊΠΎΠ½ΠΎΠΌΡŒΡ‚Π΅ 15% Π½Π° всСх хостинговых услугах

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои Π½Π°Π²Ρ‹ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° любой Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄: Skills ΠΠ°Ρ‡Π°Ρ‚ΡŒ
Π ΡƒΠ±Ρ€ΠΈΠΊΠΈ
Linux

Команда `less` Π² Linux: ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство с синтаксисом, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΈ практичСскими ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ использования

Команда less Π² Linux β€” это ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° постраничного просмотра Π½Π° основС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, которая позволяСт ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ содСрТимоС тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π΅ загруТая вСсь Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Vim ΠΈΠ»ΠΈ Nano, less ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния с постраничным ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ основным инструмСнтом для просмотра Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄ Π² любой Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ систСмС.

Если ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ: less filename ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ любой тСкстовый Ρ„Π°ΠΉΠ» Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ просмотрщикС. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π²ΠΏΠ΅Ρ€Ρ‘Π΄ ΠΈ Π½Π°Π·Π°Π΄, ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ β€” всё это Π±Π΅Π· измСнСния Ρ„Π°ΠΉΠ»Π°.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ less Π²Π°ΠΆΠ΅Π½ для систСмных администраторов

ΠŸΡ€ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Linux-сСрвСром Π²Π°ΠΌ рСгулярно приходится Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, содСрТащими тысячи строк β€” ΠΆΡƒΡ€Π½Π°Π»Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, сообщСния ядра, ΠΆΡƒΡ€Π½Π°Π»Ρ‹ доступа Apache ΠΈΠ»ΠΈ Nginx, Π΄Π°ΠΌΠΏΡ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Ρ€Π°ΡΡ‚ΠΎΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ сопряТСно с риском случайного измСнСния. ΠŸΠ΅ΠΉΠ΄ΠΆΠ΅Ρ€ less Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ содСрТимоС ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ считываСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Ρƒ Ρ‡Π°ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Π°, которая отобраТаСтся Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ эффСктивным для Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π² Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Ρ‹.

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ отличаСтся ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠ°ΠΊ cat, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ вСсь Ρ„Π°ΠΉΠ» Π½Π° стандартный Π²Ρ‹Π²ΠΎΠ΄ сразу, ΠΈΠ»ΠΈ head/tail, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. less Π΄Π°Ρ‘Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠ΅ΠΉ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ потрСблСния памяти, ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ Ρ„Π°ΠΉΠ»Π°.

Если Π²Ρ‹ управляСтС срСдой VPS Π₯остинга ΠΈΠ»ΠΈ Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ сСрвСром, less станСт ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… диагностичСских инструмСнтов Π² вашСй повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅ β€” особСнно ΠΏΡ€ΠΈ просмотрС /var/log/syslog, /var/log/auth.log ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π»ΠΎΠ³ΠΎΠ² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

less vs. more: тСхничСскоС сравнСниС

Команда more появилась Ρ€Π°Π½ΡŒΡˆΠ΅ less ΠΈ являСтся Π΅Ρ‘ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠΎΠΌ. Π₯отя ΠΎΠ±Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅Ρ€Π°ΠΌΠΈ, ΠΈΡ… возмоТности сущСствСнно Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. НазваниС Β«lessΒ» β€” намСрСнная Unix-ΡˆΡƒΡ‚ΠΊΠ°: *less is more than more* («мСньшС β€” это большС, Ρ‡Π΅ΠΌ большС»).

Ѐункцияlessmore
ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° Π²ΠΏΠ΅Ρ€Ρ‘Π΄Π”Π°Π”Π°
ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° назадДаНСт
Навигация клавишами со ΡΡ‚Ρ€Π΅Π»ΠΊΠ°ΠΌΠΈΠ”Π°ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎ
Поиск Π²ΠΏΠ΅Ρ€Ρ‘Π΄ (/pattern)Π”Π°Π”Π°
Поиск Π½Π°Π·Π°Π΄ (?pattern)ДаНСт
ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Π½ΠΎΠΌΠ΅Ρ€Ρƒ строкиДаНСт
ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠ³ΠΎ файлаДаНСт
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° pipeΠ”Π°Π”Π°
ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… файловДаНСт
ИспользованиС памяти для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎΠ΅ (ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ)Π’Ρ‹ΡˆΠ΅
Π”ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΡΠΈΡΡ‚Π΅ΠΌΠ°Ρ…Π˜Π½ΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡ€Π΅Π΄ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ more Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° less нСдоступСн β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° ΠΊΡ€Π°ΠΉΠ½Π΅ ΡƒΡ€Π΅Π·Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·Π°Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… встраиваСмых систСмах. Π’ΠΎ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях less ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис

less [OPTIONS] filename

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² less Ρ‡Π΅Ρ€Π΅Π· pipe:

command | less

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

less /var/log/syslog
grep "error" /var/log/nginx/access.log | less
dmesg | less
cat /etc/nginx/nginx.conf | less

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ с pipe особСнно ΠΌΠΎΡ‰Π½Ρ‹ΠΉ. Π›ΡŽΠ±Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, производящая ΠΎΠ±ΡŠΡ‘ΠΌΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ β€” ps aux, netstat -tulnp, find / -name "*.conf" β€” становится управляСмой ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π² less.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ сочСтания клавиш для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ

ΠΠ°Ρ…ΠΎΠ΄ΡΡΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ less, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ сочСтания клавиш ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠ΅ΠΉ. Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ β€” это ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅, ΠΏΠΎΠΊΠ° Ρ„Π°ΠΉΠ» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚.

ΠšΠ»Π°Π²ΠΈΡˆΠ°Π”Π΅ΠΉΡΡ‚Π²ΠΈΠ΅
Space ΠΈΠ»ΠΈ fΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ Π²ΠΏΠ΅Ρ€Ρ‘Π΄ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ экран
bΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ Π½Π°Π·Π°Π΄ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ экран
Down arrow ΠΈΠ»ΠΈ jΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ Π²ΠΏΠ΅Ρ€Ρ‘Π΄ Π½Π° ΠΎΠ΄Π½Ρƒ строку
Up arrow ΠΈΠ»ΠΈ kΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ Π½Π°Π·Π°Π΄ Π½Π° ΠΎΠ΄Π½Ρƒ строку
dΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ Π²ΠΏΠ΅Ρ€Ρ‘Π΄ Π½Π° полэкрана
uΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ Π½Π°Π·Π°Π΄ Π½Π° полэкрана
gΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ„Π°ΠΉΠ»Π°
GΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°
nG ΠΈΠ»ΠΈ ngΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ строкС n
/patternПоиск Π²ΠΏΠ΅Ρ€Ρ‘Π΄ ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ
?patternПоиск Π½Π°Π·Π°Π΄ ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ
nΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ послСдний поиск Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ
NΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ послСдний поиск Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ
qΠ’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· less
hΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ экран справки
FΠ Π΅ΠΆΠΈΠΌ слСТСния β€” Π°Π½Π°Π»ΠΎΠ³ tail -f, транслируСт Π½ΠΎΠ²ΠΎΠ΅ содСрТимоС

Клавиша F (Ρ€Π΅ΠΆΠΈΠΌ слСТСния) заслуТиваСт особого внимания. Она ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ less Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΆΠΈΠ²Ρ‹Ρ… Π»ΠΎΠ³ΠΎΠ², эквивалСнтный tail -f, Π½ΠΎ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π½Π°ΠΆΠ°Ρ‚ΡŒ Ctrl+C для остановки слСТСния ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Π½Π°Π·Π°Π΄ ΠΏΠΎ ΡƒΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΌΡƒ содСрТимому. Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Π΅Π³ΠΎ tail -f Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚.

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

Π­Ρ‚ΠΈ Ρ„Π»Π°Π³ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ less ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎ открытия Ρ„Π°ΠΉΠ»Π°.

ΠžΠΏΡ†ΠΈΡΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
-NΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° строк Π½Π° Π»Π΅Π²ΠΎΠΌ ΠΏΠΎΠ»Π΅
-nΠ‘ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° строк (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… систСмах)
-iПоиск Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° рСгистра (ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ/Π½ΠΈΠΆΠ½ΠΈΠΉ рСгистр)
-IПоиск Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° рСгистра, Π² Ρ‚ΠΎΠΌ числС для самого шаблона
-SΠžΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ строки вмСсто пСрСноса (ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… CSV ΠΈΠ»ΠΈ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»ΠΎΠ²)
-p patternΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ сразу ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ шаблона
-cΠŸΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ экран свСрху вмСсто ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ (ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ ΠΌΠ΅Ρ€Ρ†Π°Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°Ρ…)
-gΠŸΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строку, Π½Π°ΠΉΠ΄Π΅Π½Π½ΡƒΡŽ послСдним поиском, Π° Π½Π΅ всС совпадСния
-GΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ подсвСтку Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² поиска
-FАвтоматичСски Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ, Ссли вСсь Ρ„Π°ΠΉΠ» помСщаСтся Π½Π° ΠΎΠ΄Π½ΠΎΠΌ экранС
-XНС ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ экран ΠΏΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· less (оставляСт содСрТимоС Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅)
-RΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ANSI для Ρ†Π²Π΅Ρ‚ΠΎΠ² (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Ρ†Π²Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· pipe)
-eАвтоматичСски Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ достиТСнии Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°
+nΠΠ°Ρ‡Π°Ρ‚ΡŒ с Π½ΠΎΠΌΠ΅Ρ€Π° строки n
+/patternΠΠ°Ρ‡Π°Ρ‚ΡŒ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния pattern (Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ синтаксис ΠΊ -p)
-mΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² строкС подсказки (ΠΊΠ°ΠΊ more)
-MΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ строку подсказки, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½ΠΎΠΌΠ΅Ρ€Π° строк ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΎΠΏΡ†ΠΈΠΉ

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Π° с Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ строк, поиском Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° рСгистра ΠΈ Π±Π΅Π· пСрСноса строк:

less -NiS /var/log/apache2/error.log

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ сразу ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ Β«segfaultΒ»:

less -p "segfault" /var/log/kern.log

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‡Π΅Ρ€Π΅Π· pipe с сохранСниСм Ρ†Π²Π΅Ρ‚ΠΎΠ²:

grep --color=always "FAILED" /var/log/auth.log | less -R

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ сразу Π²Ρ‹ΠΉΡ‚ΠΈ, Ссли ΠΎΠ½ помСщаСтся Π½Π° ΠΎΠ΄Π½ΠΎΠΌ экранС:

less -F /etc/hosts

Поиск Π² less: ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ

Ѐункция поиска Π² less ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ рСгулярныС выраТСния, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½Ρ‹Π΅ строки. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΡƒΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΈΠ· Π²ΠΈΠ΄Ρƒ.

/error|warning|critical

Π­Ρ‚ΠΎΡ‚ шаблон соотвСтствуСт любой строкС, содСрТащСй Β«errorΒ», Β«warningΒ» ΠΈΠ»ΠΈ Β«criticalΒ» β€” с использованиСм стандартного синтаксиса Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ POSIX. Π’ сочСтании с -i для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡƒΡ‡Ρ‘Ρ‚Π° рСгистра это становится ΠΌΠΎΡ‰Π½Ρ‹ΠΌ встроСнным инструмСнтом Π°Π½Π°Π»ΠΈΠ·Π° Π»ΠΎΠ³ΠΎΠ² Π±Π΅Π· нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ grep Π² качСствС прСпроцСссора.

Поиск ΠΏΠΎ нСскольким Ρ„Π°ΠΉΠ»Π°ΠΌ:

less file1.log file2.log file3.log

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ :n для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ ΠΈ :p для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ. Поиск /pattern примСняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ„Π°ΠΉΠ»Π΅, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎ Ρ„Π°ΠΉΠ»Π°ΠΌ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π Π°Π±ΠΎΡ‚Π° с нСсколькими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ°Π½Π°Π»Π°ΠΌΠΈ

less ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ:

less /var/log/syslog /var/log/kern.log /var/log/auth.log

Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ°Π½Π°Π»Π°ΠΌΠΈ (FIFO) ΠΈ подстановкой процСссов, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… сцСнариях shell-скриптинга:

less <(journalctl -u nginx --since "1 hour ago")

Π­Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ journalctl ΠΊΠ°ΠΊ Ссли Π±Ρ‹ это Π±Ρ‹Π» Ρ„Π°ΠΉΠ», с ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ β€” Ρ‡Π΅Π³ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ pipe Π½Π΅ обСспСчиваСт для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Π½Π°Π·Π°Π΄ Π²ΠΎ всСх окруТСниях ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

Π Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ случаи ΠΈ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹: Запуск less Π½Π° Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ (скомпилированныС исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹, сТатыС Π°Ρ€Ρ…ΠΈΠ²Ρ‹) ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Ρ… символов ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ less -f для ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ открытия, Π½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π² основном Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ. Для просмотра Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ инструмСнтом являСтся xxd ΠΈΠ»ΠΈ hexdump.

ΠžΡ‡Π΅Π½ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ строки: Π›ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρ‹, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Java-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ прилоТСниями с большим количСством JSON, часто содСрТат Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ строки. Π‘Π΅Π· -S less пСрСносит эти строки, Ρ‡Ρ‚ΠΎ затрудняСт Ρ‡Ρ‚Π΅Π½ΠΈΠ΅. Π€Π»Π°Π³ -S Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ клавишами со стрСлками, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅.

Π‘ΠΆΠ°Ρ‚Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹: Π’ систСмах с настроСнным lesspipe (распространСно Π² Debian/Ubuntu) less ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ .gz, .bz2, .zip ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сТатыС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π»ΠΈ эта функция, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ echo $LESSOPEN. Если Π½Π΅ настроСно, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ zless (скрипт-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ) для Ρ„Π°ΠΉΠ»ΠΎΠ², сТатых gzip.

ΠŸΠΎΡ‚Π΅Ρ€Ρ Ρ†Π²Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Π² pipe: ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… инструмСнтов, ΠΊΠ°ΠΊ grep --color, ls --color ΠΈΠ»ΠΈ diff, ΠΊΠΎΠ΄Ρ‹ Ρ†Π²Π΅Ρ‚ΠΎΠ² ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ANSI. Π‘Π΅Π· -R less ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΡ… ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ escape-символы. ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ less -R ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Ρ†Π²Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· pipe.

LESSOPEN ΠΈ LESSCLOSE: Π­Ρ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ скрипты прСпроцСссора ΠΈ постпроцСссора, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ less запускаСт для Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ… ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π’ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ настроСнной систСмС это позволяСт less ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ содСрТимоС Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ², PDF-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (Π² Π²ΠΈΠ΄Π΅ ASCII-Π°Ρ€Ρ‚Π°). Π­Ρ‚ΠΎ нСдооцСнённая функция со Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ диагностичСской Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ.

ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Π°Ρ настройка less с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния LESS

ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ„Π»Π°Π³ΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния LESS Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ (~/.bashrc ΠΈΠ»ΠΈ ~/.zshrc):

export LESS="-NiRMS"

Π­Ρ‚ΠΎ автоматичСски примСняСт -N (Π½ΠΎΠΌΠ΅Ρ€Π° строк), -i (поиск Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° рСгистра), -R (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²), -M (подробная строка подсказки) ΠΈ -S (Π±Π΅Π· пСрСноса строк) ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π²Ρ‹Π·ΠΎΠ²Ρƒ less. Π­Ρ‚ΠΎ стандартная ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° производствСнных сСрвСрах, Π³Π΄Π΅ Π°Π½Π°Π»ΠΈΠ· Π»ΠΎΠ³ΠΎΠ² выполняСтся часто.

ИспользованиС less Π² shell-скриптах ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π₯отя less Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ являСтся ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ инструмСнтом, ΠΎΠ½ Π»Π΅Π³ΠΊΠΎ интСгрируСтся Π² административныС скрипты. Распространённый ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ β€” Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ условно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

if [ -t 1 ]; then
    some_command | less -R
else
    some_command
fi

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° -t 1 опрСдСляСт, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π»ΠΈ стандартный Π²Ρ‹Π²ΠΎΠ΄ ΠΊ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρƒ. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ less Π½Π΅ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ cron.

less Π² контСкстС управлСния сСрвСрами

На VPS с cPanel ΠΈΠ»ΠΈ Π² любой срСдС ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния less остаётся Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ для администрирования Ρ‡Π΅Ρ€Π΅Π· SSH Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ графичСского интСрфСйса. ПанСли управлСния ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ просмотр Π»ΠΎΠ³ΠΎΠ²; прямой доступ ΠΏΠΎ SSH с less Π΄Π°Ρ‘Ρ‚ Π²Π°ΠΌ Π½Π΅Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ повСдСния систСмы Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠŸΡ€ΠΈ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… сСрвСров для высоконагруТСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ структурированныС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы Π°Π½Π°Π»ΠΈΠ·Π° Π»ΠΎΠ³ΠΎΠ², построСнныС Π²ΠΎΠΊΡ€ΡƒΠ³ less, grep, awk ΠΈ sed, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ основу рСагирования Π½Π° ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Ρ‹. Π£ΠΌΠ΅Π½ΠΈΠ΅ эффСктивно ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΆΡƒΡ€Π½Π°Π»Ρƒ доступа Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 2 Π“Π‘ Π±Π΅Π· Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ β€” это Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Π½Π°Π²Ρ‹ΠΊ систСмного администратора.

Для ΠΊΠΎΠΌΠ°Π½Π΄, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… инфраструктурой Email Π₯остинга, less являСтся стандартным инструмСнтом для просмотра ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… Π»ΠΎΠ³ΠΎΠ² Postfix (/var/log/mail.log) ΠΈ Π»ΠΎΠ³ΠΎΠ² Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Dovecot, Π³Π΄Π΅ построчная навигация Π½Π°Π·Π°Π΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для отслСТивания сбоСв доставки.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° быстрого Π²Ρ‹Π±ΠΎΡ€Π° инструмСнта

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ эту ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ инструмСнт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для просмотра содСрТимого Ρ„Π°ΠΉΠ»ΠΎΠ²:

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉΠ Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ инструмСнт
Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ просмотр большого Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Π°less -NiS
ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Π° Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈless +F ΠΈΠ»ΠΈ tail -f
ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСдних N строкtail -n N
ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… N строкhead -n N
Поиск ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π±Π΅Π· интСрактивностиgrep
ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ сТатого Ρ„Π°ΠΉΠ»Π° .gzzless ΠΈΠ»ΠΈ less с lesspipe
ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ/hex-содСрТимогоxxd ΠΈΠ»ΠΈ hexdump
ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ с подсвСткой синтаксисаbat (сторонний ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅Ρ€)
Быстрый Π²Ρ‹Π²ΠΎΠ΄ нСбольшого Ρ„Π°ΠΉΠ»Π°cat
Минимальная систСма, less нСдоступСнmore

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ тСхничСскиС Π²Ρ‹Π²ΠΎΠ΄Ρ‹

  • less Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ содСрТимоС Ρ„Π°ΠΉΠ»Π° ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ β€” ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти Π½Π΅ зависит ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π°, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ бСзопасным для Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π² нСсколько Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚.
  • Π€Π»Π°Π³ -R обязатСлСн ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Ρ†Π²Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· pipe; Π΅Π³ΠΎ отсутствиС ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌ.
  • Π Π΅ΠΆΠΈΠΌ слСТСния (клавиша F) обСспСчиваСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ tail -f с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ Π½Π°Π·Π°Π΄ ΠΏΠΎ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ содСрТимому.
  • РСгулярныС выраТСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… поиска Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ β€” Π½Π΅Ρ‚ нСобходимости ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ grep для сопоставлСния шаблонов.
  • Π—Π°Π΄Π°ΠΉΡ‚Π΅ export LESS="-NiRMS" Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для глобального примСнСния Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹Ρ… настроСк ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ less <(command) с подстановкой процСссов для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π²Ρ‹Π²ΠΎΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ Π½Π°Π·Π°Π΄.
  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ LESSOPEN обСспСчиваСт ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΡƒΡŽ Π΄Π΅ΠΊΠΎΠΌΠΏΡ€Π΅ΡΡΠΈΡŽ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² β€” ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° настроСна Π½Π° Π²Π°ΡˆΠΈΡ… сСрвСрах.
  • Никогда Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ cat для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΠ³Π΄Π° доступСн less; это пСрСполняСт Π±ΡƒΡ„Π΅Ρ€ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈ Π½Π΅ прСдоставляСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… возмоТностСй Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

Π’ Ρ‡Ρ‘ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ less ΠΈ cat Π² Linux?

cat Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ всё содСрТимоС Ρ„Π°ΠΉΠ»Π° Π½Π° стандартный Π²Ρ‹Π²ΠΎΠ΄ сразу, Π±Π΅Π· интСрактивности ΠΈΠ»ΠΈ Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠΈ Π½Π° страницы. less ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅Ρ€Π΅, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ, ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ. Для любого Ρ„Π°ΠΉΠ»Π° Π΄Π»ΠΈΠ½Π½Π΅Π΅ высоты Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° less являСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ инструмСнтом.

ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ less Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹?

НСт. less являСтся ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ просмотрщиком Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния. Он Π½Π΅ измСняСт Ρ„Π°ΠΉΠ»Ρ‹ Π½ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΈΡ… ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°Ρ…. Для рСдактирования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ vim, nano ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€.

Как Π½Π°ΠΉΡ‚ΠΈ слово Π² less?

Пока Ρ„Π°ΠΉΠ» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π² less, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ /word ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter для поиска Π²ΠΏΠ΅Ρ€Ρ‘Π΄. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ?word для поиска Π½Π°Π·Π°Π΄. НаТмитС n для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ совпадСнию ΠΈ N для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ. Поиск ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ рСгулярныС выраТСния.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ less ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ символы ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Ρ†Π²Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· pipe?

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ANSI для Ρ†Π²Π΅Ρ‚ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ. ΠŸΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ Ρ„Π»Π°Π³ -R β€” Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ less -R, Π»ΠΈΠ±ΠΎ Π·Π°Π΄Π°Π² export LESS="-R" Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ β€” для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ отобраТСния Ρ†Π²Π΅Ρ‚ΠΎΠ².

ДоступСн Π»ΠΈ less Π²ΠΎ всСх дистрибутивах Linux?

less Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ практичСски Π²ΠΎ всСх основных дистрибутивах Linux, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Debian, Ubuntu, CentOS, RHEL, Fedora ΠΈ Arch Linux. На ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·Π°Ρ… Docker ΠΈΠ»ΠΈ Alpine Linux Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ явно с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ apk add less ΠΈΠ»ΠΈ эквивалСнтной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².