Перейти к содержанию

cat

Материал из Википедии — свободной энциклопедии

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

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

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

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

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

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

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

[править | править код]

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

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

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

Примечания

[править | править код]
  1. ↑ IEEE, The Open Group. Volume 3, Shell and Utilities // Information Technology — Portable Operating System Interface (POSIX®) Base Specifications, Issue 8 : [англ.]. — 2024. Архивная копия от 23 июля 2026 на Wayback Machine
  2. ↑ M. Douglas McIlroy. A Research UNIX Reader: Annotated Excerpts from the Programmer’s Manual, 1971-1986. Дата обращения: 22 февраля 2020. Архивировано 31 января 2020 года.
  3. ↑ cat(1): concatenate files/print on stdout - Linux man page. Дата обращения: 22 февраля 2020. Архивировано 12 мая 2020 года.