Введение
В этом руководстве мы познакомимся с командой cat в Linux — универсальным инструментом для просмотра и обработки текстовых файлов. Вы научитесь выводить содержимое файлов на экран, объединять их и использовать различные параметры для более удобного чтения данных. К концу занятия вы сможете уверенно выполнять базовые операции с файлами, что является фундаментальным навыком для любого пользователя Linux.
Представьте, что вы — новый стажер в технологическом стартапе. Ваша первая задача — составить ежедневный отчет на основе различных текстовых файлов, разбросанных по серверу компании. Вам нужно просмотреть содержимое, объединить данные и отформатировать результат. Команда cat станет вашим главным помощником в этом деле.
Изучение содержимого директории проекта
Для начала давайте посмотрим, какие файлы находятся в вашей рабочей директории.
Откройте терминал. Вы увидите приглашение командной строки, которое обычно заканчивается символом
$.Перейдите в директорию проекта:
cd /home/labex/project
Эта команда меняет текущую директорию на /home/labex/project. Название команды cd расшифровывается как "change directory" (сменить директорию).
- Проверьте ваше текущее местоположение:
pwd
Команда pwd означает "print working directory" (вывести рабочую директорию). Она должна показать путь /home/labex/project.
- Выведите список содержимого директории:
ls
Эта команда покажет все файлы и папки в текущем месте. Вы должны увидеть несколько текстовых файлов, включая daily_report.txt, sales.txt и marketing.txt.
Просмотр содержимого файлов
Теперь воспользуемся командой cat для чтения файла. Название cat происходит от слова "concatenate" (объединять), но чаще всего её используют для простого вывода текста на экран.
- Просмотрите содержимое файла
daily_report.txt:
cat daily_report.txt
Команда выведет весь текст файла прямо в терминал. Если файл очень длинный, текст может прокрутиться за пределы видимой области окна.
- Если вы не видите начало файла, можно очистить экран терминала, чтобы начать с чистого листа:
clear
Команда clear не обязательна для работы, но она помогает поддерживать порядок в рабочем пространстве. Не беспокойтесь, если сейчас не всё понятно — вы узнаете больше об управлении терминалом в следующих уроках.
- Теперь снова выведите содержимое файла:
cat daily_report.txt
Прочитайте текст. В этом и заключается удобство cat — она позволяет мгновенно просматривать содержимое текстовых файлов, не открывая тяжеловесные редакторы.
Объединение нескольких файлов
Команду cat можно использовать для склеивания нескольких файлов в один поток данных. Именно отсюда и пошло её название.
- Сначала давайте посмотрим содержимое файлов
sales.txtиmarketing.txtпо отдельности:
cat sales.txt
cat marketing.txt
Обратите внимание на то, какая информация содержится в каждом из них.
- Теперь объединим их вывод:
cat sales.txt marketing.txt
Эта команда выведет содержимое обоих файлов друг за другом, как если бы это был один общий документ. Заметьте, что cat просто выдает данные в том порядке, в котором вы указали имена файлов.
- Сейчас мы познакомимся с важной концепцией — «перенаправлением вывода». В 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, позволяющая сохранять результаты работы для последующего использования. Не переживайте, если это кажется сложным — на следующих занятиях у вас будет много практики.
- Чтобы убедиться, что перенаправление сработало, проверьте содержимое нового файла:
cat combined_report.txt
Вы должны увидеть данные из обоих исходных файлов в этом новом документе. Если это так — поздравляем! Вы успешно использовали перенаправление вывода для объединения файлов.
Использование опции нумерации строк
Команда cat поддерживает различные ключи (опции) для изменения формата вывода. Рассмотрим нумерацию строк.
- Выведите содержимое
daily_report.txtс номерами строк:
cat -n daily_report.txt
Опция -n заставляет cat нумеровать все строки вывода. Это крайне полезно, когда нужно сослаться на конкретную строку в коде или документе.
- Сравните это с обычным выводом без нумерации:
cat daily_report.txt
Заметьте, как флаг -n добавляет числа в начало каждой строки, упрощая навигацию по файлу.
Отображение символов конца строки
Еще одна полезная опция позволяет увидеть невидимые символы конца строки. Это помогает выявить проблемы с форматированием или лишние пробелы в конце строк.
- Просмотрите
daily_report.txtс видимыми символами конца строки:
cat -E daily_report.txt
Опция -E добавляет символ $ в самом конце каждой строки. Это позволяет точно увидеть, где заканчивается строка, что особенно важно при отладке текстовых файлов с ошибками форматирования.
- Сравните с обычным выводом:
cat daily_report.txt
Обратите внимание, что с ключом -E границы строк становятся явными.
Резюме
В этом руководстве вы научились использовать команду cat для различных операций с файлами:
- Просмотр содержимого файлов.
- Объединение нескольких файлов в один.
- Использование опций нумерации строк (
-n) и отображения концов строк (-E).
эти навыки станут незаменимыми при управлении текстовыми данными в среде Linux. Продолжая свое обучение, вы откроете еще множество способов применения этой универсальной команды.
Дополнительные опции cat, не затронутые в этом уроке:
-A: Показать все непечатаемые символы (эквивалентно-vET).-b: Нумеровать только непустые строки.-s: Сжимать повторяющиеся пустые строки в одну.-T: Отображать символы табуляции как^I.-v: Использовать специальную нотацию для непечатаемых символов (кроме перевода строки и табуляции).



