Команда Linux less: Прокрутка файлов

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicFileOperationsGroup -.-> linux/less("File Paging") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") subgraph Lab Skills linux/less -.-> lab-214301{{"Команда Linux less: Прокрутка файлов"}} linux/grep -.-> lab-214301{{"Команда Linux less: Прокрутка файлов"}} end

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

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

  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. Теперь давайте найдем определенную дату. Введите вчерашнюю дату, например, если сегодня 2021-09-01, то вы можете искать "2021-08-31". Введите /2021-08-31 и нажмите 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)