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

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

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

Введение

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/InputandOutputRedirectionGroup(["Input and Output Redirection"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/FileandDirectoryManagementGroup -.-> linux/pwd("Directory Displaying") linux/InputandOutputRedirectionGroup -.-> linux/redirect("I/O Redirecting") subgraph Lab Skills linux/ls -.-> lab-210986{{"Команда Linux cat: объединение файлов"}} linux/cat -.-> lab-210986{{"Команда Linux cat: объединение файлов"}} linux/pwd -.-> lab-210986{{"Команда Linux cat: объединение файлов"}} linux/redirect -.-> lab-210986{{"Команда Linux cat: объединение файлов"}} end

Исследование директории проекта

Начнем с изучения содержимого директории вашего проекта.

  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 также может быть использована для объединения нескольких файлов. Именно отсюда происходит часть "concatenate" в ее названии.

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

Обратите внимание на содержимое каждого файла.

  1. Теперь давайте объединим эти файлы:
cat sales.txt marketing.txt

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

  1. Теперь мы введем новый концепт, называемый "перенаправлением вывода" (output redirection). В Linux мы можем взять вывод команды (то, что обычно выводится в терминале) и отправить его в файл. Мы делаем это с помощью символа >. Вот как это работает:
cat sales.txt marketing.txt > combined_report.txt

Разберем это по частям:

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

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

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

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

Вы должны увидеть содержимое файлов sales.txt и marketing.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 сообщает команде cat отображать символ $ в конце каждой строки. Это позволяет легко увидеть, где заканчивается каждая строка, что особенно полезно при работе с проблемами форматирования.

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

Обратите внимание, как опция -E добавляет символ $ в конце каждой строки, делая окончания строк явными.

Резюме

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

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

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

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

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

Ресурсы