Рассмотреть возможность:
ls -al ../public-back
drwxrwxr-x 4 apache apache 4096 Apr 19 03:32 templates
ls -al ../public-back/templates
drwxrwxr-x 2 apache apache 4096 Apr 19 03:33 content
drwxrwxr-x 2 apache apache 20480 Apr 20 06:14 images
drwxrwxr-x 2 apache apache 4096 Apr 19 03:35 video
ls -al /public
drwxrwxr-x 4 apache apache 4096 Apr 20 09:49 templates
ls -al /public/templates
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 content
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 images
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 video
Как я могу переместить содержимое /public-back/templates
рекурсивно с разрешениями в /public/templates
?
linux
command-line
mv
siliconpi
источник
источник
mv -R ../public-back/templates/* public/templates/
Я все еще проголосовал бы, чтобы переместить вопрос.Ответы:
Если я не понимаю вопрос, это будет работать:
Кроме того, если у вас нет огромного списка файлов, добавление
-i
будет запрашивать, прежде чем что-либо перезаписать, что добавляет некоторую безопасность при использовании подстановочных знаков, подобных*
.источник
Directory not empty
сообщение.mv: target '/public/templates' is not a directory
просто создать папку вручнуюmkdir /public/templates
.Страница man для cp гласит:
Пытаться;
источник
mv
для перемещения , аcp
для копирования - семантическое / этимологическое различие.cp
это намного медленнее, чемmv
.cp
принуждает компьютер копировать все с диска в оперативную память, а затем снова записывать его на диск, что может занять много времени в зависимости от размера файлов. Однакоmv
всегда происходит мгновенно, потому что нужно переписать только ссылки.При перемещении элементов с моего флеш-накопителя на мою систему OSMC я нашел следующее очень полезным:
Объяснение того, как это работает, ниже.
Кстати, не забудьте добавить обратную косую черту перед любыми пробелами в именах каталогов источника или назначения (см. Выше).
По сути, вы находите все файлы и все папки и перемещаете их одну за другой (или, если каталог был найден первым, вы перемещаете этот каталог и его содержимое). Это запускает новый процесс для каждого хода и очень неэффективно. Используйте это только когда обычные команды терпят неудачу.
источник
М.В., кажется, не делает этого. Но вы можете использовать этот маленький трюк, работает как шарм:
и сохраняет разрешения и все.
Примечание: ничего из вышеперечисленного не помогло мне, вот почему это обходной путь.
источник
Поэтому создайте жесткие ссылки в каталоге назначения и удалите исходный каталог. 'mv' просто не будет работать в вашем случае, и в целом работает только тогда, когда source dir и dest не имеют общих поддеревьев.
Обратите внимание, что я предполагаю, что слово 'move' в вопросе означает, что источник dir должен быть удален после операции.
источник