Команда Linux cp для копирования папки в текущий каталог
мне интересно, есть ли идентичная команда для копирования папки в текущий каталог, как это было с помощью старого MS-DOS. Предположим, мое текущее местоположение каталога:
/var/www/
у меня есть папки и файлы по адресу:
/home/hope/subfolder/docs/
/home/hope/subfolder/images/
/home/hope/subfolder/.config
/home/hope/subfolder/readme.txt
Я знаю, что следующая команда:
cp -rT /home/hope/subfolder .
будет копировать все файлы (даже точечные скрытые файлы) и папки в папке" подпапка " в текущий каталог, так что результат будет:
/var/www/docs/
/var/www/images/
/var/www/.config
/var/www/readme.txt
выглядит как и команда, чтобы скопировать исходную папку в текущее местоположение:
cp -rT /home/hope/subfolder ./subfolder
хотя это нормально, я считаю, что иногда я буду делать ошибки для сложных имен папок для назначения, так что есть способ использовать команду, как:
cp -rT /home/hope/subfolder .
или даже вот так
cp -rT /home/hope/subfolder /var/www/.
иметь следующий результат:
/var/www/subfolder/docs/
/var/www/subfolder/images/
/var/www/subfolder/.config
/var/www/subfolder/readme.txt
спасибо.
2 ответов
просто опустите параметр-T, так как это мешает команде работать правильно:
cp -r /home/hope/subfolder .
параметр-T обрабатывает целевой аргумент как файл, поэтому копирование не будет выполняться вообще, если это на самом деле каталог.
дружеское напоминание: практически все команды Unix есть --help аргумент командной строки, который стоит попробовать в случае проблемы:)
для меня основным барьером была / домашняя часть. Мне нужно было скопировать файлы из папки в моем доме, которая начиналась с буквы " a " в мою текущую папку, которая не была домом. Поэтому я использовал:
cp home/tmp/a* ./
первая строка работает для меня. Пока я пробовал команды типа:
cp ~/home/tmp/a* ./
но это не сработало.