Узнайте, почему ‘less’ быстрее ‘more’ для эффективной навигации по файлам

More – это команда *nix, используемая для отображения содержимого файла в консоли. Основное использование команды more – запустить команду против файла, как показано ниже:

Читайте также: Изучите разницу между командами «cat» и «tac» с примерами

Изучите команду Linux «more»

# more /var/log/auth.log
View Contents of auth.log File
Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session closed for user root
Apr 12 11:55:01 tecmint CRON[7159]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session closed for user root
Apr 12 11:55:02 tecmint CRON[7159]: pam_unix(cron:session): session closed for user root
Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session closed for user root
Apr 12 12:05:01 tecmint CRON[7435]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session closed for user root
Apr 12 12:05:02 tecmint CRON[7435]: pam_unix(cron:session): session closed for user root
Apr 12 12:09:01 tecmint CRON[7542]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:09:01 tecmint CRON[7542]: pam_unix(cron:session): session closed for user root
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session closed for user root
....

Другой способ использования команды more в сочетании (конвейер) с другими командами, такими как команда cat, как показано на приведенном ниже примере:

# cat /var/log/auth.log | more
View and Navigate Contents of File

Чтобы перемещаться по файлу построчно, нажмите клавишу Enter, или нажмите клавишу Пробел, чтобы перемещаться по одной странице за раз, страница будет вашим текущим размером терминала. Чтобы выйти из команды, просто нажмите клавишу q.

A useful option of more command is the -number switch which allows you to set the number of line a page should contain. As an example display the auth.log file as a page of 10 lines:

# more -10 /var/log/auth.log
Show Only First 10 Lines of File

Также вы можете отобразить страницу, начиная с определенного номера строки, используя опцию +число, как показано ниже:

# more +14 /var/log/auth.log
Show Only First 14 Lines of auth.log File
Apr 12 12:09:01 tecmint CRON[7542]: pam_unix(cron:session): session closed for user root
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session closed for user root
Apr 12 12:16:01 tecmint mate-screensaver-dialog: gkr-pam: unlocked login keyring
Apr 12 12:17:01 tecmint CRON[7793]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:17:01 tecmint CRON[7793]: pam_unix(cron:session): session closed for user root
Apr 12 12:20:01 tecmint CRON[7905]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:20:01 tecmint CRON[7905]: pam_unix(cron:session): session closed for user root
Apr 12 12:25:01 tecmint CRON[8107]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:25:01 tecmint CRON[8108]: pam_unix(cron:session): session opened for user root by (

Изучите команду Linux «less»

Похоже на more, команда less позволяет просматривать содержимое файла и перемещаться по файлу. Основное различие между more и less заключается в том, что команда less работает быстрее, потому что она не загружает весь файл сразу и позволяет перемещаться по файлу с помощью клавиш вверх/вниз.

Можно использовать как отдельную команду, выпущенную против файла, так и использовать с трубами с множеством команд Linux для сужения вывода экрана, позволяя прокручивать результаты.

# less /var/log/auth.log
# ls /etc | less

Вы можете перемещаться по файлу построчно, нажимая клавишу Enter. Навигация по страницам может быть осуществлена клавишей spacebar. Размер страницы представлен текущим размером вашего терминала. Для выхода из команды нажмите клавишу q, так же, как для команды more.

A useful feature of less command is the use of /word-to-seach option. For instance you can search and match all sshd messages from a log file by interactively specifying the /sshd string.

View File Content Using less Command

Чтобы отобразить файл, начиная с определенного номера строки, используйте следующий синтаксис:

# less +5 /var/log/auth.log

Если вам нужно отследить номер каждой строки с помощью команды less, используйте опцию -N.

# less -N /var/log/daemon.log
Show Number for Every Line in File
      1 Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session opened for user root by (uid=0)
      2 Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session closed for user root
      3 Apr 12 11:55:01 tecmint CRON[7159]: pam_unix(cron:session): session opened for user root by (uid=0)
      4 Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session opened for user root by (uid=0)
      5 Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session closed for user root
      6 Apr 12 11:55:02 tecmint CRON[7159]: pam_unix(cron:session): session closed for user root
      7 Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session opened for user root by (uid=0)
      8 Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session closed for user root
      9 Apr 12 12:05:01 tecmint CRON[7435]: pam_unix(cron:session): session opened for user root by (uid=0)
     10 Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session opened for user root by (uid=0)
     11 Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session closed for user root

По умолчанию единственный способ выйти из команды less – нажать клавишу q. Чтобы изменить это поведение и автоматически выйти из файла при достижении конца файла, используйте опцию -e или -E:

# less -e /var/log/auth.log
# less -E /var/log/auth.log

Чтобы открыть файл на первом вхождении шаблона, используйте следующий синтаксис:

# less +/sshd /var/log/auth.log
Show Given Matching String in File
Apr 12 16:19:39 tecmint sshd[16666]: Accepted password for tecmint from 192.168.0.15 port 41634 ssh2
Apr 12 16:19:39 tecmint sshd[16666]: pam_unix(sshd:session): session opened for user tecmint by (uid=0)
Apr 12 16:19:39 tecmint systemd-logind[954]: New session 1 of user tecmint.
Apr 12 16:19:48 tecmint sshd[16728]: Received disconnect from 192.168.0.15: 11: disconnected by user
Apr 12 16:19:48 tecmint sshd[16666]: pam_unix(sshd:session): session closed for user tecmint
Apr 12 16:20:01 tecmint CRON[16799]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 16:20:02 tecmint CRON[16799]: pam_unix(cron:session): session closed for user root
Apr 12 16:25:01 tecmint CRON[17026]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 16:25:01 tecmint CRON[17025]: pam_unix(cron:session): session opened for user root by (uid=0)

Вышеприведенная команда указывает less открыть файл auth.log на первом вхождении строки sshd.

Чтобы автоматически добавить содержимое файла, открытого в команде less, используйте комбинацию клавиш Shift+f или запустите less с следующим синтаксисом:

# less +F /var/log/syslog

Это позволяет less работать в интерактивном режиме (онлайн) и отображать новое содержимое на лету в ожидании записи новых данных в файл. Это поведение аналогично команде tail -f.

В сочетании с шаблоном вы можете интерактивно просматривать журнальный файл, нажав клавишу Shift+f, чтобы отслеживать ключевое слово. Чтобы выйти из режима прямой трансляции, просто нажмите клавиши Ctrl+c.

# less +/CRON /var/log/syslog

Независимо от того, решите ли вы использовать more или less, что является личным выбором, помните, что less – это больше с more функциями.

Читайте также: Эффективное управление файлами с помощью команд head, tail и cat

Source:
https://www.tecmint.com/linux-more-command-and-less-command-examples/