Исполняемый файл sh
необходимое для современных подобных Unix операционных систем. Существуют различные стандарты (например, POSIX) диктующий, что это означает, хотя с тех пор "подобный Unix" не обязательно означает "сертифицированный совместимый" с чем-либо, действительность варьируется несколько. В целом они, по крайней мере, реализуют что-то совместимое с sh
, исходная Оболочка Bourne. Это то, почему sh
обычно символьная ссылка, и "sh" лучше всего понят сегодня как стандарт для поведения того, с чем это связывается.
bash
Граница Снова Shell, который является что sh
часто ссылки на в системах GNU/Linux (но существуют другие возможности, такой как dash
и ash
). Bash включает все функции sh и предназначается для обеспечения обратной совместимости для sh сценариев. В этой совместимости существуют, по-видимому, некоторые потенциальные неясные незначительные сбои, но они являются, вероятно, не слишком значительными.
Таким образом с точки зрения функциональности, удар расширяет sh; это делает все a sh
если и многое другое. Другой популярный расширил sh реализацию, которая также удовлетворяет, POSIX является KornShell, ksh
.
Другое происхождение командного процессора общего назначения, все еще используемое в *, отклоняет мир, оболочка C, csh
. Оболочка C, однако, не совместима с кодом sh, и реализация никогда не связывалась бы с sh
.
pax[11850] может сделать все это сразу. Вы можете сделать:
pax[11852] сохраняет время по умолчанию, но можете добавить [11853]-pe[11854], чтобы сохранить всё (лучше всего сделать как root) или [11855]-pp[11856], чтобы сохранить разрешения, например:
Иначе ([11857]pax[11858] обычно не доступен по умолчанию), конечно, лучше сделать копию, чем [11859]-переименовать[11860]:
Таким образом, для каждого файла не будет запущен отдельный процесс.
Ну, и как один лайнер, поместите все это в одну строку. :-). Так
В zsh используйте
Если вы находитесь в ограниченной системе без zsh и без pax, вы можете использовать цикл:
cp
имеет опцию
--трансформировать Так что у вас была бы смесь типа: