cat
— это стандартная утилита Unix , которая последовательно читает файлы и записывает их в стандартный вывод . Название происходит от его функции конкатенации файлов. Он был портирован на ряд операционных систем.
cat
была частью ранних версий Unix , например, версии 1 , и заменила pr
утилиту PDP-7 и Multics для копирования одного файла на экран. [1] Он был написан Кеном Томпсоном и Деннисом Ритчи . Версия в cat
комплекте с GNU coreutils была написана Torbjorn Granlund и Richard Stallman . [2] Версия ReactOS была написана Дэвидом Уэлчем, Семеном Новиковым и Hermès Bélusca. [3]
Со временем стали доступны альтернативные утилиты, такие как tac
и , с новыми функциями. [4] [5]bat
Единая спецификация Unix определяет операцию cat
чтения файлов в последовательности, указанной в ее аргументах, и записи их содержимого в стандартный вывод в той же последовательности. Спецификация предписывает поддержку одного опционного флага u для небуферизованного вывода, означающего, что каждый байт записывается после того, как он был прочитан. Некоторые операционные системы, например, использующие GNU Core Utilities , делают это по умолчанию и игнорируют флаг. [6]
Если одно из входных имен файлов указано как один дефис ( - ), то cat
считывается со стандартного ввода в этой точке последовательности. Если файлы не указаны, cat
считывается только из стандартного ввода.
cat
может использоваться для передачи файла программе, которая ожидает в своем входном потоке обычный текст или двоичные данные. cat
не уничтожает нетекстовые байты при объединении и выводе. Таким образом, двумя основными вариантами его использования являются текстовые файлы и определенные форматно-совместимые типы двоичных файлов.