Я пытаюсь копировать файлы и вложенные папки из A папки без А сам. Например, папка содержит следующую:
| file1.txt
| file2.txt
| subfolder1
Выполнение следующей команды дает мне неверный результат:
sudo cp -r /home/username/A/ /usr/lib/B/
Результат
/usr/lib/B/A/...copied files...
вместо того..
/usr/lib/B/...copied files...
Как добраться до ожидаемого без origin-папки
bash
command-line
cp
pushandpop
источник
источник
A/*
имеет смысл, но есть ситуации, в которых он не работает.shopt
являетсяbash
специфичны. Сzsh
, использовать*(D)
. сksh93
,FIGNORE='@(.|..)'
.cp -t
является специфическим для GNU. Одинfind
не будет работать должным образом, так как он будет копировать обаA/
и его содержимое (включая подкаталоги) несколько раз.-maxdepth 1
(-mindepth
и-maxdepth
будучи расширениями GNU теперь также поддерживаются несколькими другими. Портативноfind .../. ! -name . -prune -exec ....
)find .../.
вызывает ошибку здесь.Если в системе GNU, из
man cp
:Это позволяет вам писать,
cp -rT /home/username/A/ /usr/lib/B/
чтобы делать именно правильные вещи.источник
cp
. Но это правда, что-T
не будет работать с не-GNUcp
.Скажите
cp
скопировать содержимое каталога, а не сам каталог:источник
shopt -s dotglob
это работало, если есть какие-либо файлы точек/home/username/A/
.