cp -r tanpa file tersembunyi


90

Saya memiliki dua direktori dan satu kosong.

Direktori pertama memiliki banyak sub direktori dengan file tersembunyi. Ketika saya cp -rkonten dari direktori pertama ke yang kedua, file tersembunyi akan disalin juga. Ada solusi untuk menghindarinya?


itu bisa dilakukan, tapi menghapusnya setelah salinan mungkin lebih sederhana
Karoly Horvath

6
ya, tetapi menangani file tersembunyi ke lokasi lain adalah bahaya keamanan dalam kasus saya.
Rahul

Jawaban:


129

Anda dapat menggunakan rsync:

rsync -av --exclude=".*" src dest

1
Adakah overhead jika dibandingkan dengan cp?
Rahul

2
@Rahul Tidak terpikir oleh saya untuk melakukan benchmark, tapi saya pikir Anda tidak perlu khawatir tentang itu
Eugene Yarmash

3
Ini bekerja dengan baik! Terima kasih sobat! Sekadar informasi, rsync akan lebih bagus jika ukuran file besar, tetapi sama dengan cp jika file lebih kecil.
Rahul

28

Anda dapat melakukan

cp -r SRC_DIR/* DEST_DIR

untuk mengecualikan semua .files dan .dirs di tingkat SRC_DIR, tetapi tetap akan menyalin file tersembunyi apa pun di tingkat sub-direktori berikutnya.


6
Itulah masalahnya .. :)
Rahul

9
Tetapi ini berfungsi untuk GIT-Repos, jika Anda tidak ingin menyalin seluruh GIT-Index di .git / ...
Sedat Kilinc

1
Saya memberi jawaban ini karena ini adalah solusi yang saya cari. Saya tidak ingin mengecualikan semua yang tak terlihat di pohon, hanya yang tak terlihat di tingkat akar!
l008com

Varian lain cp SOURCE/[!.]* TARGET.
Carel

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.