Команда cat — одна из наиболее широко используемых команд в Linux. Имя cat
команды происходит от его функциональности против кошачьих файлов Enate. Он может читать и объединять файлы, записывая их содержимое в стандартный вывод. Если файл не указан или если имя входного файла указано в виде одного дефиса ( -
), он считывается из стандартного ввода.
Cat чаще всего используется для отображения содержимого одного или нескольких текстовых файлов, объединения файлов путем добавления содержимого одного файла в конец другого файла и создания новых файлов.
В этом руководстве мы покажем вам, как использовать команду cat на практических примерах.
Синтаксис команды Cat
Прежде чем перейти к использованию команды cat, давайте начнем с обзора основного синтаксиса.
Выражения утилиты cat принимают следующую форму:
cat [OPTIONS] [FILE_NAMES]
OPTIONS
— варианты кошек . Используйтеcat --help
чтобы просмотреть все доступные параметры.FILE_NAMES
— Ноль или более имен файлов.
Отображение содержимого файла
Наиболее простое и распространенное использование команды cat — это чтение содержимого файлов.
Например, следующая команда отобразит содержимое файла /etc/issue
в терминале:
cat /etc/issue
Перенаправить содержимое файла
Вместо вывода вывода на стандартный вывод (на экране) вы можете перенаправить его в файл.
Следующая команда скопирует содержимое file1.txt
в file2.txt
с помощью оператора ( >
):
cat file1.txt > file2.txt
cp
для копирования файла.Если файл file2.txt
не существует, команда создаст его. В противном случае он перезапишет файл.
Используйте оператор ( >>
), чтобы добавить содержимое file1.txt
в file2.txt
:
cat file1.txt >> file2.txt
Как и раньше, если файла нет, он будет создан.
Печатать номера строк
Чтобы отобразить содержимое файла с номерами строк, используйте параметр -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
содержимое file1.txt
и file2.txt
и запишет их в новый combinedfile.txt
file2.txt
с помощью оператора ( >
):
cat file1.txt file2.txt > combinedfile.txt
Если combinedfile.txt
файл не существует, то команда будет создавать. В противном случае он перезапишет файл.
Чтобы file1.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
может отображать, комбинировать и создавать новый файл.
Добавить комментарий