Intereting Posts
Сгоревшие двоичные файлы не соответствуют исходным файлам Почему добавление -prune в эту команду find вызывает печать посторонних файлов? Имя интерфейса изменяется при миграции виртуальной машины, но оригинальное имя должно быть действительным Как попросить службу systemd перезагрузить свои переменные среды во время выполнения Shebang не устанавливает SHELL в cron Как повторить команду n раз, а затем выйти? эхо-символы в терминале / bash «Виртуальный киоск SSH». Работает ли «PermitEmptyPasswords yes»? – Как сделать пользователя ssh с пустым паролем, чтобы случайные пользователи могли его использовать? Использование xargs с вводом из файла Что вызывает это поведение при определении функции с именем ':' Как запустить diff для коротких имен файлов? Задание локального libc вызывает глобальный libc? Как подсчитать количество активных окон, открытых отдельно от оконного менеджера? «Паника в ядре – не синхронизация» после создания Centos-6 / elrepo 3.10.19 ядро ​​из источника Какие файлы необходимы для nss-паролей?

Как скопировать папку с помощью команды установки

Я исправляю пакет в Arch Linux, и я до сих пор не могу понять, как работает команда install .

Я проверил man и довольно расплывчато.

Мой вопрос : как скопировать папку с помощью install ? Не могу понять, как работают флагов -D и -d .

install ли правильный инструмент для этого или я должен придерживаться mkdir и cp ?

от man install :

 -d, --directory treat all arguments as directory names; create all components of the specified directories -D create all leading components of DEST except the last, then copy SOURCE to DEST 

Демонстрация:

  • install -d флаг install -d :

     $ install -d foo bar $ ls -l drwxr-xr-x 2 root root 6 Sep 8 15:55 foo drwxr-xr-x 2 root root 6 Sep 8 15:55 bar 

См. Создание двух каталогов с именем foo & bar

  • install -D флаг install -D :

     $ touch test{1..3} $ ls -l -rw-r--r-- 1 root root 0 Sep 8 16:11 test1 -rw-r--r-- 1 root root 0 Sep 8 16:11 test2 -rw-r--r-- 1 root root 0 Sep 8 16:11 test3 $ install -D test1 test2 test3 bar $ ls -l bar/ -rw-r--r-- 1 root root 0 Sep 8 16:11 test1 -rw-r--r-- 1 root root 0 Sep 8 16:11 test2 -rw-r--r-- 1 root root 0 Sep 8 16:11 test3 

Он скопировал файлы test1..3 в bar каталога

Вывод

Я не думаю, что install поддерживает копирование всего дерева каталогов; он обычно используется в файлах. Вероятно, вам нужно использовать cp или rsync .