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.