Команда cat — часто используемая команда Linux. Она может считывать данные из файлов и выводить их содержимое, объединять файлы (Catenate).
Опции и операторы перенаправления вывода позволяют решать многие задачи.
В установке утилита не нуждается, так как входит в состав подавляющего большинства дистрибутивов Linux.
Содержание
Синтаксис
cat [ПАРАМЕТР]… [ФАЙЛ]…
Слияние файл(ов) передаётся на стандартный вывод. Если файл не задан или задан как -
, команда читает стандартный ввод.
Опции
- -b
- нумеровать непустые строки при выводе
- -E
- показывать
$
в конце каждой строки - -n
- нумеровать все строки при выводе
- -s
- выводить не более одной пустой строки при повторе
- -T
- показывать символы табуляции как
^I
- -v
- использовать запись
с ^
иM-
, за исключением символов перевода строки и табуляции - -h
- отобразить справку
Использование
Просмотр содержимого файлов
При просмотре содержимое текстового файла выводится на экран:
$ cat file.txt
Длинный файл будет пролистан и будет показан только последний экран. Для просмотра такого документа можно использовать колесо мыши либо тачпад, но для просмотра в этом случае будут удобнее more
или less
.
При указании нескольких файлов, команда выводит их последовательно, объединяя содержимое в потоке стандартного вывода:
$ cat file1.txt file2.txt
Копирование файлов
При копировании файлов результат перенаправляется в файл с помощью символа перенаправления'>
:
$ cat file1 > file1.new
При отсутствии нового файла он будет создан, а при наличии — перезаписан.
Объединение файлов
Эта задача выполняется следующей командой:
cat file1 file2 > file3
Как и в предыдущем примере, отсутствующий новый файл будет создан, а существующий — перезаписан.
Применение опций
Добавление в команду опций расширит её возможности.
Несколько примеров
Нумерация всех строк файла при выводе:
$ cat -n file.txt
Нумерация непустых строк в файле:
$ cat -b file.txt
Удаление пустых строк:
$ cat -s file.txt
Показывать $
в конце каждой строки:
$ cat -E file.txt
Удаление содержимого лог-файлов
Команда выполняется при чрезмерном разрастании системных логов:
# cat /dev/null > /var/log/messages
При удалении содержимого, сам файл сохраняется со всеми его правами доступа (очистка файла). Запись осуществляется в «чёрную дыру».
Заключение
Из примеров, перечисленных выше, следует, что команда cat в Linux является очень проста и полезна. Её несложно использовать для работы с содержимым текстовых файлов, системных логов, файлов конфигурации.