Cat

У этого термина существуют и другие значения, см. Cat (значения).

Cat
Скриншот программы Cat
Тип утилита UNIX[d]
Логотип Викисклада Медиафайлы на Викискладе

cat (от англ. concatenate) — утилита UNIX, выводящая последовательно указанные файлы (или устройства), таким образом, объединяя их в единый поток. Если вместо имени файла указывается «-», то читается стандартный ввод.

  cat a.txt - b.txt > abc.txt
  cat /dev/null > file_to_clear.txt

Иногда (в учебных примерах) используется в качестве первой ступени конвейера обработки текста утилитами sed, awk и так далее, хотя в большинстве случаев её можно заменить оператором '<' либо передачей имени файла в качестве аргумента, что позволяет избежать создания отдельного процесса. Может использоваться в следующих случаях:

  • когда требуется вывести куда-то файл без изменений;
  • когда требуется объединить более одного файла (например, части одного файла, разбитого командой split), либо файл(ы) с потоком стандартного ввода;
  • когда требуется просмотреть содержимое файла.

История

cat была частью ранних версий Unix, например, версии 1, и заменила pr, утилиту PDP-7 для копирования одного файла на экран[1]. Версия cat в GNU Coreutils была написана Торбьорном Гранлундом и Ричардом Столлманом[2].

Аналоги в других операционных системах

В Windows для аналогичных целей можно использовать команду следующего вида:

  copy /b a.txt + b.txt abc.txt

Для вывода содержания файла на экран можно использовать команду type.

Примечания

  1. M. Douglas McIlroy. A Research UNIX Reader: Annotated Excerpts from the Programmer’s Manual, 1971-1986  (неопр.). Дата обращения: 22 февраля 2020. Архивировано 31 января 2020 года.
  2. cat(1): concatenate files/print on stdout - Linux man page  (неопр.). Дата обращения: 22 февраля 2020. Архивировано 12 мая 2020 года.
Перейти к шаблону «Команды Unix»
Команды Unix
Перейти к шаблону «POSIX.1-2008»
Утилиты POSIX.1-2008
Перейти к шаблону «GNU Coreutils»
Файловые утилиты
Текстовые утилиты
Shell-утилиты
другие утилиты