Прокрутка файлов в Linux

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

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

Введение

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

В этом лабораторном занятии (LabEx) вы научитесь эффективно использовать команду more для просмотра и навигации по файлам. Вы создадите текстовые файлы различного размера и примените различные методы навигации для перемещения по содержимому. Понимание, как прокручивать файлы, является фундаментальным навыком для любого человека, работающего с системами Linux, будь то просмотр конфигурационных файлов, анализ журналов или чтение документации.

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/more("File Scrolling") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") subgraph Lab Skills linux/echo -.-> lab-271333{{"Прокрутка файлов в Linux"}} linux/cat -.-> lab-271333{{"Прокрутка файлов в Linux"}} linux/more -.-> lab-271333{{"Прокрутка файлов в Linux"}} linux/cd -.-> lab-271333{{"Прокрутка файлов в Linux"}} linux/grep -.-> lab-271333{{"Прокрутка файлов в Linux"}} end

Введение в команду more

На этом этапе вы узнаете о базовых возможностях команды more и о том, как использовать ее для просмотра содержимого файлов.

Сначала убедитесь, что вы находитесь в директории проекта:

cd ~/project

Создадим простой текстовый файл с именем sample.txt с некоторым содержимым для просмотра:

echo "This is line 1 of our sample file." > sample.txt
echo "This is line 2 of our sample file." >> sample.txt
echo "This is line 3 of our sample file." >> sample.txt
echo "This is line 4 of our sample file." >> sample.txt
echo "This is line 5 of our sample file." >> sample.txt

Символ > создает новый файл или перезаписывает существующий, в то время как символ >> добавляет содержимое в существующий файл.

Теперь давайте просмотрим содержимое этого файла с помощью команды more:

more sample.txt

Вы должны увидеть вывод, похожий на следующий:

This is line 1 of our sample file.
This is line 2 of our sample file.
This is line 3 of our sample file.
This is line 4 of our sample file.
This is line 5 of our sample file.

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

Команда more особенно полезна для просмотра больших файлов, которые не помещаются на одном экране. На следующем этапе вы узнаете, как перемещаться по большим файлам.

Базовая навигация в more

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

Сначала создадим больший файл с множеством строк:

for i in {1..30}; do
  echo "This is line $i of our larger test file. You will need to scroll to see all content." >> ~/project/large_file.txt
done

Этот цикл создает файл с 30 строками текста. Теперь откройте файл с помощью команды more:

more ~/project/large_file.txt

При просмотре файла с помощью more следующие сочетания клавиш будут полезны:

  • Нажмите клавишу SPACE, чтобы переместиться вперед на один экран текста.
  • Нажмите клавишу b, чтобы переместиться назад на один экран текста.
  • Нажмите клавишу ENTER, чтобы переместиться вперед по одной строке за раз.
  • Нажмите q, чтобы выйти и вернуться к приглашению командной строки.

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

Теперь откройте файл снова и потренируйтесь перемещаться по нему с использованием разных команд:

more ~/project/large_file.txt

Используйте клавишу SPACE для прокрутки вниз, затем попробуйте использовать клавишу b для прокрутки вверх. Нажмите клавишу ENTER несколько раз, чтобы переместиться вниз по одной строке за раз. Когда закончите изучать файл, нажмите q, чтобы выйти.

Эти базовые команды навигации позволяют эффективно перемещаться по файлам любого размера с помощью команды more.

Продвинутая навигация и поиск

На этом этапе вы узнаете более продвинутые техники навигации и поиска в файлах с использованием команды more.

Создадим структурированный файл, который можно будет использовать для практики поиска и продвинутой навигации:

cat > ~/project/document.txt << EOF
CHAPTER 1: INTRODUCTION TO LINUX
================================

Linux is an open-source operating system kernel that was created by Linus Torvalds in 1991.
It is widely used in servers, desktops, mobile devices, and embedded systems.
Linux distributions combine the Linux kernel with other software to create complete operating systems.

CHAPTER 2: BASIC COMMANDS
========================

Here are some basic Linux commands:
- ls: List directory contents
- cd: Change directory
- pwd: Print working directory
- cp: Copy files and directories
- mv: Move or rename files and directories
- rm: Remove files and directories

CHAPTER 3: FILE VIEWING
======================

There are several commands for viewing files in Linux:
- cat: Display the entire contents of a file
- more: View file contents one screen at a time
- less: Similar to more but with more features
- head: Display the beginning of a file
- tail: Display the end of a file

CHAPTER 4: TEXT PROCESSING
=========================

Linux provides powerful tools for text processing:
- grep: Search for patterns in files
- sed: Stream editor for filtering and transforming text
- awk: Pattern scanning and processing language
- sort: Sort lines of text files
- uniq: Report or omit repeated lines
EOF

Теперь откройте файл с помощью команды more:

more ~/project/document.txt

При использовании more вы можете искать определенный текст, введя косую черту /, а затем ваш поисковый запрос. Попробуем найти слово "commands":

  1. Нажмите клавишу /
  2. Введите commands
  3. Нажмите ENTER

Курсор переместится к первому вхождению слова "commands". Чтобы найти следующее вхождение, нажмите клавишу n.

Еще одной полезной функцией является возможность перейти к определенному номеру строки. Например, чтобы перейти к строке 15:

  1. Введите 15
  2. Нажмите g

Вы сразу перейдете к 15-й строке файла.

Вы также можете отобразить номер текущей строки, нажав = во время работы с командой more.

Практикуйте эти продвинутые техники навигации:

  1. Найдите слово "Linux", используя /Linux
  2. Перейдите к строке 20, используя 20g
  3. Отобразите номер текущей строки, используя =
  4. Найдите следующее вхождение слова "Linux", используя n

После завершения исследования нажмите q, чтобы выйти.

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

Использование more с другими командами

Команда more становится еще более мощной, когда используется в сочетании с другими командами Linux. На этом этапе вы узнаете, как использовать more с такими командами, как cat, grep и другими, с помощью конвейеров (pipes).

Сначала создадим файл журнала с различными типами записей:

cat > ~/project/system.log << EOF
[2023-05-01 08:00:12] INFO: System startup completed
[2023-05-01 08:15:45] WARNING: High CPU usage detected (85%)
[2023-05-01 08:30:22] INFO: Backup process started
[2023-05-01 08:45:18] ERROR: Backup failed - insufficient disk space
[2023-05-01 09:00:33] INFO: Disk cleanup initiated
[2023-05-01 09:10:56] INFO: 2GB of temporary files removed
[2023-05-01 09:15:27] WARNING: Memory usage high (75%)
[2023-05-01 09:30:45] INFO: System update available
[2023-05-01 09:45:12] INFO: Update download started
[2023-05-01 10:00:39] ERROR: Update installation failed - connection lost
[2023-05-01 10:15:22] INFO: Retry update installation
[2023-05-01 10:30:08] INFO: Update completed successfully
[2023-05-01 10:45:51] WARNING: Network latency issues detected
[2023-05-01 11:00:14] INFO: System scan started
[2023-05-01 11:15:33] INFO: No malware detected
[2023-05-01 11:30:47] INFO: User john logged in
[2023-05-01 11:45:09] ERROR: Permission denied for user john to access /admin
[2023-05-01 12:00:25] INFO: User john logged out
EOF

Теперь рассмотрим различные способы комбинирования more с другими командами с использованием конвейеров. Конвейер (|) берет вывод одной команды и использует его в качестве входных данных для другой команды.

  1. Отфильтруйте записи в журнале на предмет предупреждений (WARNING) и ошибок (ERROR), а затем просмотрите их с помощью more:
grep -E "WARNING|ERROR" ~/project/system.log | more

Эта команда ищет строки, содержащие либо "WARNING", либо "ERROR", а затем отображает результаты по одной странице за раз с помощью more.

  1. Отобразите файл с номерами строк и просмотрите его с помощью more:
cat -n ~/project/system.log | more

Команда cat -n отображает файл с номерами строк, а затем more позволяет прокручивать вывод.

  1. Просмотрите определенную часть файла с использованием head и more:
head -n 10 ~/project/system.log | more

Эта команда отображает только первые 10 строк файла с помощью more.

  1. Начните просмотр файла с определенной строки, используя опцию +:
more +5 ~/project/system.log

Эта команда открывает файл и начинает отображать его с 5-й строки.

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

Резюме

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

  1. Базовое использование команды more для просмотра содержимого файла по одной странице за раз.
  2. Техники навигации, такие как перемещение вперед с помощью клавиши ПРОБЕЛ, назад с помощью клавиши 'b' и по строкам с помощью клавиши ENTER.
  3. Продвинутые функции, такие как поиск текстовых шаблонов с использованием '/' и переход к определенным строкам, введя номер строки и нажав 'g'.
  4. Комбинирование команды more с другими командами Linux с помощью конвейеров (pipes) для фильтрации и форматирования текстового вывода.

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

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