
Команда cat — одна из самых распространённых команд в Linux. Название команды cat связано с её функцией объединения файлов. Она может считывать, объединять и записывать содержимое файлов в стандартный вывод. Если файл не указан или имя входного файла указано одним дефисом ( - ), чтение производится из стандартного ввода.
cat чаще всего используется для отображения содержимого одного или нескольких текстовых файлов, объединения файлов путем добавления содержимого одного файла в конец другого файла и создания новых файлов.
В этой статье мы покажем вам, как использовать команду cat на практических примерах.
Синтаксис команды cat
Прежде чем приступить к использованию команды cat , давайте рассмотрим ее базовый синтаксис.
Выражения утилиты cat имеют следующий вид:
cat [ OPTIONS ] [ FILE_NAMES ]
-
OPTIONS—catoptions . Используйтеcat --helpдля просмотра всех доступных опций. -
FILE_NAMES— Ноль или более имен файлов.
Отображение содержимого файла
Наиболее простым и распространенным применением команды cat является чтение содержимого файлов.
Например, следующая команда отобразит содержимое файла /etc/issue на терминале:
cat /etc/issue

Перенаправить содержимое файла
Вместо того чтобы выводить вывод на stdout (на экран), вы можете перенаправить его в файл.
Следующая команда скопирует содержимое файла file1.txt в file2.txt с помощью оператора ( > ):
cat file1.txt > file2.txt
Обычно для копирования файла используется команда cp .
Если файл file2.txt не существует, команда создаст его. В противном случае он будет перезаписан.
Используйте оператор ( >> ) для добавления содержимого file1.txt к file2.txt :
cat file1.txt >> file2.txt
Как и прежде, если файл отсутствует, он будет создан.
Номера строк печати
Чтобы отобразить содержимое файла с номерами строк, вызовите cat с опцией -n :
cat -n /etc/lsb-release
1 DISTRIB_ID=Ubuntu 2 DISTRIB_RELEASE=18.04 3 DISTRIB_CODENAME=bionic 4 DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
Подавлять повторяющиеся пустые строки
Используйте опцию -s , чтобы исключить повторяющиеся пустые строки вывода:
cat -s file.txt
Отображать символы TAB
Опция -T позволяет визуально различать табуляции и пробелы.
cat -T /etc/hosts
127.0.0.1^Ilocalhost 127.0.1.1^Iubuntu1804.localdomain
Символы TAB будут отображаться как ^I .
Отображение конца строки
Чтобы отобразить невидимый символ конца строки, используйте аргумент -e :
cat -e /etc/lsb-release
DISTRIB_ID=Ubuntu$ DISTRIB_RELEASE=18.04$ DISTRIB_CODENAME=bionic$ DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"$
Окончания строк будут отображаться как $ .
Объединение файлов
При передаче двух или более имен файлов в качестве аргументов команде cat содержимое файлов будет объединено. cat считывает файлы в последовательности, указанной в ее аргументах, и отображает содержимое файлов в той же последовательности.
Например, следующая команда прочитает содержимое файлов file1.txt и file2.txt и выведет результат в терминал:
cat file1.txt file2.txt
Вы можете объединить два или более текстовых файла и записать их в файл.
Следующая команда объединит содержимое file1.txt и file2.txt и запишет их в новый файл combinedfile.txt с помощью оператора ( > ):
cat file1.txt file2.txt > combinedfile.txt
Если файл combinedfile.txt не существует, команда создаст его. В противном случае он будет перезаписан.
Чтобы объединить содержимое file1.txt и file2.txt и добавить результат к file3.txt , используйте оператор ( >> ):
cat file1.txt file2.txt >> file3.txt
Если файл отсутствует, он будет создан.
При объединении файлов с помощью cat вы можете использовать те же аргументы, что показаны в предыдущем разделе.
Создание файлов
Создавать небольшие файлы с помощью cat часто проще, чем открывать текстовый редактор, такой как nano , Vim, Sublime Text или Visual Studio Code .
Чтобы создать новый файл, используйте команду cat , затем оператор перенаправления ( > ) и имя файла, который хотите создать. Нажмите Enter , введите текст и после завершения нажмите CRTL+D чтобы сохранить файл.
В следующем примере мы создаем новый файл с именем file1.txt :
cat > file1.txt

Если файл с именем file1.txt существует, он будет перезаписан. Используйте оператор « >> », чтобы добавить вывод в существующий файл.
cat >> file1.txt
Заключение
Команда cat может отображать, объединять и создавать новые файлы.
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
Связанные руководства