installне только копирует файлы, но также меняет владельца и права доступа, а также удаляет символы отладки из исполняемых файлов. Это сочетается cpс chown, chmodи strip. Это удобный инструмент более высокого уровня, который выполняет общую последовательность элементарных задач.
Преимущество installперед cpустановкой исполняемых файлов заключается в том, что если цель уже существует, она удаляет целевой файл и создает новый. Это избавляет от любых текущих свойств, таких как списки контроля доступа и возможности, которые можно рассматривать как как положительные, так и отрицательные стороны. При обновлении исполняемых файлов, если есть запущенные экземпляры этого исполняемого файла, они продолжают работать без изменений. Напротив, cpобновляет файл на месте, если он есть. В большинстве вариантов Unix это происходит с ошибкой EBUSY¹, если целью является исполняемый файл; в некоторых случаях это может привести к сбою цели, поскольку он динамически загружает фрагменты кода, а изменение файла приводит к загрузке бессмысленного кода.
installкоманда BSD (добавлена в 4.2BSD , т.е. в начале 1980-х) Это не было принято POSIX.
¹ «Текстовый файл занят». В этом контексте «текстовый файл» означает «двоичный исполняемый файл» по неясным историческим причинам .
rmсcp. Это означает, что он может перезаписывать используемые файлы, сначала отсоединив их (rm).cpодин даст ошибку.