Поиск по сайту:

Узнайте, почему команда «меньше» работает быстрее, чем команда «больше», для эффективной навигации по файлам


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

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

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

# more /var/log/auth.log
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

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

Полезной опцией команды more является переключатель -number, который позволяет вам установить количество строк, которые должна содержать страница. В качестве примера отобразите файл auth.log как страницу из 10 строк:

more -10 /var/log/auth.log

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

more +14 /var/log/auth.log
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 «меньше»

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

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

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

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

Полезной особенностью команды less является использование параметра /word-to-seach. Например, вы можете искать и сопоставлять все сообщения sshd из файла журнала, интерактивно указав строку /sshd.

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

less +5 /var/log/auth.log

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

less -N /var/log/daemon.log
      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
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

Это позволяет меньше запускать интерактивный режим (в реальном времени) и отображать новый контент «на лету», ожидая записи новых данных в файл. Это поведение похоже на команду Tail -f.

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

less +/CRON /var/log/syslog

Независимо от того, решите ли вы использовать больше или меньше (это ваш личный выбор), помните, что меньше значит больше с больше. функции.

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