Saya mencoba menyalin file dan subfolder dari folder A tanpa A itu sendiri. Misalnya, A folder berisi berikutnya:
| file1.txt
| file2.txt
| subfolder1
Menjalankan perintah berikutnya memberi saya hasil yang salah:
sudo cp -r /home/username/A/ /usr/lib/B/
Hasilnya adalah
/usr/lib/B/A/...copied files...
dari pada..
/usr/lib/B/...copied files...
Bagaimana saya bisa mencapai yang diharapkan tanpa folder asal
bash
command-line
cp
pushandpop
sumber
sumber
A/*
memang masuk akal tetapi ada situasi di mana itu tidak berhasil.shopt
adalahbash
spesifik. Denganzsh
, gunakan*(D)
. denganksh93
,FIGNORE='@(.|..)'
.cp -t
khusus untuk GNU. Yangfind
tidak akan berfungsi sebagaimana mestinya karena akan menyalin keduanyaA/
dan kontennya (termasuk subdir) beberapa kali.-maxdepth 1
(-mindepth
dan-maxdepth
menjadi ekstensi GNU sekarang juga didukung oleh beberapa orang lain. Portablyfind .../. ! -name . -prune -exec ....
)find .../.
menyebabkan kesalahan di sini.Jika pada sistem GNU, dari
man cp
:Ini memungkinkan Anda menulis
cp -rT /home/username/A/ /usr/lib/B/
untuk melakukan hal yang benar.sumber
cp
. Tetapi itu benar bahwa-T
itu tidak akan bekerja dengan non-GNUcp
.Katakan
cp
untuk menyalin isi direktori dan bukan direktori itu sendiri:sumber
shopt -s dotglob
ini berfungsi jika ada dotfile di/home/username/A/
.