Автор (ы) оригинала | Деннис Ричи ( AT&T Bell Laboratories ) |
---|---|
Разработчики) | Различные разработчики с открытым исходным кодом и коммерческие разработчики |
изначальный выпуск | 3 ноября 1971 г . |
Операционная система | Unix , Unix-подобный , Plan 9 , Inferno , OS-9 , IBM i |
Тип | Командование |
Лицензия | coreutils : GPLv3 + |
В вычислении , cmp
является командной строки утилита для компьютерных систем, использующих Unix или Unix-подобной операционной системы . Он сравнивает два файла любого типа и записывает результаты в стандартный вывод . По умолчанию cmp
молчит, если файлы совпадают; если они различаются, сообщается байт и номер строки, в которых произошло первое различие. Команда также доступна в оболочке OS-9 . [1]
История [ править ]
cmp
является частью X / Open Portability Guide, начиная с выпуска 2 1987 года. Он был унаследован от первой версии POSIX.1 и Single Unix Specification . [2] Впервые он появился в версии 1 Unix . [3]
cmp
Встроенная в GNU coreutils версия была написана Торбьорном Гранлундом и Дэвидом Маккензи. [4]
Команда cmp также была перенесена в операционную систему IBM i . [5]
Переключатели [ править ]
cmp
может быть уточнено с помощью переключателей командной строки . Переключатели, поддерживаемые известными реализациями cmp
:
Имя | Описание | Unix | План 9 | Inferno | FreeBSD | Linux | IBM i |
---|---|---|---|---|---|---|---|
-b, | Выведите разные байты. Отобразите управляющие байты как " ^ ", за которым следует буква алфавита и предшествующие байты, у которых старший бит установлен с " M- " (что означает " мета "). | Нет | Нет | Нет | Нет | да | Нет |
-h | Не переходите по символическим ссылкам. | Нет | Нет | Нет | да | Нет | Нет |
-i SKIP, | Пропустить первые байты SKIP ввода. | Нет | Нет | Нет | Нет | да | Нет |
-i SKIP1:SKIP2, | Пропустить первые байты SKIP1 в FILE1 и первые байты SKIP2 в FILE2. | Нет | Нет | Нет | Нет | да | Нет |
-l, | Выведите (десятичные) числа байтов и (восьмеричные) значения всех различающихся байтов вместо стандартного вывода по умолчанию. Также выведите сообщение EOF, если один файл короче другого. | да | да | да | да | да | да |
-L | Выведите номер строки первого различающегося байта. | да | да | да | Нет | Нет | Нет |
-n LIMIT, | Сравните не более LIMIT байт. | Нет | Нет | Нет | Нет | да | Нет |
-s, | Ничего не выводить; только статус выхода. | да | да | да | да | да | да |
-t | Текстовый режим, в котором файлы открываются в текстовом режиме и преобразуются в CCSID задания перед сравнением байта с байтом. | Нет | Нет | Нет | Нет | Нет | да |
-v, | Информация о версии вывода. | Нет | Нет | Нет | Нет | да | Нет |
-x | Аналогично -l, но выводится в шестнадцатеричном формате и с использованием нуля в качестве индекса для первого байта в файлах. | Нет | Нет | Нет | да | Нет | Нет |
-z | Для обычных файлов сначала сравните размеры файлов и провалите сравнение, если они не равны. | Нет | Нет | Нет | да | Нет | Нет |
--help | Выводит файл справки. | Нет | Нет | Нет | Нет | да | Нет |
Операнды, которые являются счетчиками байтов, обычно являются десятичными, но им может предшествовать " 0
" для восьмеричного и " 0x
" для шестнадцатеричного.
За счетчиком байтов может следовать суффикс, чтобы указать кратное этому счетчику; в этом случае пропущенное целое число понимается как 1. Буква чистого размера или буква, за которой следует " iB
", указывает кратное число с использованием степени 1024. Буква размера, за которой следует " B
", вместо этого указывает степень 1000. Например, " -n 4M
" и " -n 4MiB
" эквивалентны " -n 4194304
", тогда как " -n 4MB
" эквивалентно " -n 4000000
". Эта нотация совместима снизу вверх с префиксами SI [6] для десятичных кратных чисел и с префиксами IEC 60027-2 для двоичных кратных. [7]
Возвращаемые значения [ править ]
- 0 - файлы идентичны
- 1 - файлы различаются
- 2 - недоступный или отсутствующий аргумент
См. Также [ править ]
- Сравнение инструментов сравнения файлов
- Список команд Unix
Ссылки [ править ]
- ^ Пол С. Даян (1992). Гуру OS-9 - 1: Факты . Галактик Индастриал Лимитед. ISBN 0-9519228-0-7.
- ^ - Справочник по командам и утилитам, спецификация Single UNIX , выпуск 7 от The Open Group
- ^ - Руководство по основным командам FreeBSD
- ^ "cmp (1): сравнить два файла побайтно - справочная страница Linux" . linux.die.net .
- ^ IBM . «Qshell для программирования IBM System i версии 7.2» (PDF) . Проверено 5 сентября 2020 .
- ^ http://www.bipm.fr/enus/3_SI/si-prefixes.html
- ^ «Определения единиц СИ: двоичные префиксы» . Physics.nist.gov . Проверено 21 апреля 2018 года .
Внешние ссылки [ править ]
В Wikibook Guide to Unix есть страница по темам: Команды |
- : сравнить два файла - Справочник по командам и служебным программам, Единая спецификация UNIX , Выпуск 7 от Open Group
- Сравнение и объединение файлов : вызов cmp Раздел руководства GNU cmp в бесплатном руководстве по diffutils .