Команда Linux cat: объединение и просмотр файлов

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

Введение

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

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

Изучение содержимого директории проекта

Для начала давайте посмотрим, какие файлы находятся в вашей рабочей директории.

  1. Откройте терминал. Вы увидите приглашение командной строки, которое обычно заканчивается символом $.

  2. Перейдите в директорию проекта:

cd /home/labex/project

Эта команда меняет текущую директорию на /home/labex/project. Название команды cd расшифровывается как "change directory" (сменить директорию).

  1. Проверьте ваше текущее местоположение:
pwd

Команда pwd означает "print working directory" (вывести рабочую директорию). Она должна показать путь /home/labex/project.

  1. Выведите список содержимого директории:
ls

Эта команда покажет все файлы и папки в текущем месте. Вы должны увидеть несколько текстовых файлов, включая daily_report.txt, sales.txt и marketing.txt.

Просмотр содержимого файлов

Теперь воспользуемся командой cat для чтения файла. Название cat происходит от слова "concatenate" (объединять), но чаще всего её используют для простого вывода текста на экран.

  1. Просмотрите содержимое файла daily_report.txt:
cat daily_report.txt

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

  1. Если вы не видите начало файла, можно очистить экран терминала, чтобы начать с чистого листа:
clear

Команда clear не обязательна для работы, но она помогает поддерживать порядок в рабочем пространстве. Не беспокойтесь, если сейчас не всё понятно — вы узнаете больше об управлении терминалом в следующих уроках.

  1. Теперь снова выведите содержимое файла:
cat daily_report.txt

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

Объединение нескольких файлов

Команду cat можно использовать для склеивания нескольких файлов в один поток данных. Именно отсюда и пошло её название.

  1. Сначала давайте посмотрим содержимое файлов sales.txt и marketing.txt по отдельности:
cat sales.txt
cat marketing.txt

Обратите внимание на то, какая информация содержится в каждом из них.

  1. Теперь объединим их вывод:
cat sales.txt marketing.txt

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

  1. Сейчас мы познакомимся с важной концепцией — «перенаправлением вывода». В Linux мы можем взять результат работы команды (то, что обычно печатается в терминале) и отправить его в файл. Для этого используется символ >. Вот как это работает:
cat sales.txt marketing.txt > combined_report.txt

Разберем команду по частям:

  • cat sales.txt marketing.txt — уже знакомая нам команда для вывода содержимого двух файлов.
  • Символ > — это оператор перенаправления. Он приказывает системе взять текст, предназначенный для экрана, и записать его в файл.
  • combined_report.txt — имя нового файла, который мы создаем.

Таким образом, команда говорит: «Возьми объединенный текст из sales.txt и marketing.txt и, вместо того чтобы показывать его мне, сохрани в новый файл с именем combined_report.txt».

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

  1. Чтобы убедиться, что перенаправление сработало, проверьте содержимое нового файла:
cat combined_report.txt

Вы должны увидеть данные из обоих исходных файлов в этом новом документе. Если это так — поздравляем! Вы успешно использовали перенаправление вывода для объединения файлов.

Использование опции нумерации строк

Команда cat поддерживает различные ключи (опции) для изменения формата вывода. Рассмотрим нумерацию строк.

  1. Выведите содержимое daily_report.txt с номерами строк:
cat -n daily_report.txt

Опция -n заставляет cat нумеровать все строки вывода. Это крайне полезно, когда нужно сослаться на конкретную строку в коде или документе.

  1. Сравните это с обычным выводом без нумерации:
cat daily_report.txt

Заметьте, как флаг -n добавляет числа в начало каждой строки, упрощая навигацию по файлу.

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

Еще одна полезная опция позволяет увидеть невидимые символы конца строки. Это помогает выявить проблемы с форматированием или лишние пробелы в конце строк.

  1. Просмотрите daily_report.txt с видимыми символами конца строки:
cat -E daily_report.txt

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

  1. Сравните с обычным выводом:
cat daily_report.txt

Обратите внимание, что с ключом -E границы строк становятся явными.

Резюме

В этом руководстве вы научились использовать команду cat для различных операций с файлами:

  • Просмотр содержимого файлов.
  • Объединение нескольких файлов в один.
  • Использование опций нумерации строк (-n) и отображения концов строк (-E).

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

Дополнительные опции cat, не затронутые в этом уроке:

  • -A: Показать все непечатаемые символы (эквивалентно -vET).
  • -b: Нумеровать только непустые строки.
  • -s: Сжимать повторяющиеся пустые строки в одну.
  • -T: Отображать символы табуляции как ^I.
  • -v: Использовать специальную нотацию для непечатаемых символов (кроме перевода строки и табуляции).