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.
Примечания
[править | править код]- ↑ 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
- ↑ M. Douglas McIlroy. A Research UNIX Reader: Annotated Excerpts from the Programmer’s Manual, 1971-1986. Дата обращения: 22 февраля 2020. Архивировано 31 января 2020 года.
- ↑ cat(1): concatenate files/print on stdout - Linux man page. Дата обращения: 22 февраля 2020. Архивировано 12 мая 2020 года.