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

Cat
Скриншот программы Cat
Тип утилита 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 года.
  NODES