Команда Linux less: Постраничный просмотр файлов

LinuxBeginner
Практиковаться сейчас

Введение

В этом руководстве вы научитесь использовать команду less в Linux для эффективной навигации и анализа больших лог-файлов. Команда less — это мощный инструмент для просмотра текстовых файлов в терминале, который позволяет прокручивать содержимое, искать конкретную информацию и просматривать файлы постранично.

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

Доступ к лог-файлу

Для начала перейдем в директорию, содержащую наш лог-файл, и ознакомимся с его содержимым.

  1. Откройте терминал. По умолчанию вы должны находиться в директории /home/labex/project.

  2. Выведите список файлов в текущей директории:

ls

Вы должны увидеть файл с именем server_log.txt.

  1. Чтобы просмотреть содержимое этого файла с помощью команды less, введите:
less server_log.txt

Эта команда открывает файл server_log.txt во встроенном просмотрщике less. Теперь вы можете изучать содержимое файла.

Примечание: Содержимое, которое вы увидите, может отличаться от примера ниже, так как лог-файл генерируется динамически.

2023-11-05 08:00:01 INFO: Server startup complete
2023-11-05 08:15:23 WARNING: High CPU usage detected
2023-11-05 08:30:45 ERROR: Database connection failed
2023-11-05 08:31:02 INFO: Retrying database connection
2023-11-05 08:31:05 INFO: Database connection established
...

Чтобы выйти из режима просмотра less, нажмите клавишу q.

Навигация по файлу

Теперь, когда мы открыли файл, давайте научимся перемещаться по нему.

  1. Снова откройте лог-файл с помощью less:
less server_log.txt
  1. Используйте следующие клавиши для навигации:
    • Нажмите Space (Пробел) или Page Down для перехода на одну страницу вперед.
    • Нажмите b или Page Up для перехода на одну страницу назад.
    • Используйте клавиши со стрелками Up (Вверх) и Down (Вниз) для построчного перемещения.
    • Нажмите G (Shift + g), чтобы перейти в самый конец файла.
    • Нажмите g, чтобы вернуться в начало файла.

Попробуйте эти команды навигации, чтобы привыкнуть к перемещению по тексту.

  1. Когда закончите изучение, нажмите q, чтобы выйти из less.

Поиск конкретного содержимого

Системным администраторам часто требуется быстро находить определенную информацию. Команда less предоставляет мощные возможности поиска.

  1. Снова откройте лог-файл:
less server_log.txt
  1. Чтобы найти слово "ERROR", введите /ERROR и нажмите Enter. Это подсветит все вхождения слова "ERROR" в файле.
  2. Нажимайте n, чтобы перейти к следующему найденному совпадению "ERROR", или N, чтобы вернуться к предыдущему.
  3. Теперь попробуем найти конкретную дату. Сначала перейдите в начало файла, нажав g, затем посмотрите на формат дат в записях лога. Выберите дату, которая присутствует в файле (например, если вы видите "2025-01-15", ищите её). Введите /, затем нужную дату (например, /2025-01-15) и нажмите Enter.
  4. Используйте n и N для перемещения между совпадениями этой даты.
  5. По завершении поиска нажмите q, чтобы выйти из less.

Отображение номеров строк

При анализе логов бывает полезно видеть номера строк для удобства ссылок.

  1. Откройте лог-файл с включенным отображением номеров строк:
less -N server_log.txt

Опция -N указывает less выводить номера строк слева.

  1. Теперь вы должны увидеть нумерацию в левой части экрана:
     1 2023-11-05 08:00:01 INFO: Server startup complete
     2 2023-11-05 08:15:23 WARNING: High CPU usage detected
     3 2023-11-05 08:30:45 ERROR: Database connection failed
     4 2023-11-05 08:31:02 INFO: Retrying database connection
     5 2023-11-05 08:31:05 INFO: Database connection established
...
  1. Поперемещайтесь по файлу, как и раньше. Обратите внимание, как номера строк помогают ориентироваться в текущей позиции.

  2. Когда закончите, нажмите q, чтобы выйти из less.

Переход к конкретному шаблону при открытии

Иногда требуется начать просмотр файла сразу с определенного места. Команда less позволяет сделать это мгновенно.

  1. Допустим, вы хотите начать просмотр файла с первого упоминания ошибки базы данных. Используйте следующую команду:
less +/ERROR:.Database server_log.txt

Эта команда приказывает less открыть файл и сразу перейти к первой строке, содержащей "ERROR:", за которым следует любой символ, а затем слово "Database".

  1. Теперь файл должен открыться сразу на первой ошибке базы данных:
2023-11-05 08:30:45 ERROR: Database connection failed
2023-11-05 08:31:02 INFO: Retrying database connection
2023-11-05 08:31:05 INFO: Database connection established
...
  1. Вы можете продолжить навигацию по файлу с этой точки в обычном режиме.

  2. Когда закончите, нажмите q, чтобы выйти из less.

Резюме

В этом руководстве вы научились использовать команду less для эффективной навигации и анализа больших лог-файлов. Вы попрактиковались в открытии файлов, прокрутке содержимого, поиске информации, отображении номеров строк и переходе к конкретным шаблонам при запуске.

Эти навыки критически важны для системных администраторов и разработчиков, которым часто приходится быстро анализировать объемные логи для устранения неполадок или мониторинга производительности системы.

Другие полезные параметры less, не затронутые в этом уроке:

  • -i: Игнорировать регистр при поиске.
  • -F: Автоматически выходить, если содержимое файла помещается на одном экране.
  • -S: Обрезать длинные строки вместо их переноса на новую строку.
  • +F: Режим "живого" чтения файла, отображающий новые строки по мере их появления (аналогично tail -f).