Saya sering menggunakan SCP untuk menyalin file - terutama file yang berhubungan dengan web. Masalahnya adalah bahwa setiap kali saya melakukan ini, saya tidak bisa mendapatkan perintah untuk menyalin file tersembunyi (mis., Htaccess).
Saya biasanya memohon ini:
scp -rp src/ user@server:dest/
Ini tidak menyalin file tersembunyi. Saya tidak ingin harus memohon ini lagi (dengan melakukan sesuatu seperti scp -rp src/.* ...
- dan itu tetap aneh .
dan ..
implikasinya.
Saya tidak melihat apa pun di scp
halaman manual tentang "sertakan file tersembunyi".
Bagaimana saya bisa mencapai ini?
src/.*
juga salinansrc/..
(direktori induk), kan?Jawaban:
Itu harus benar-benar cocok dengan file yang tersembunyi. / Di akhir sumber mengatakan "setiap file di bawah direktori ini". Namun demikian, pengujian dan penelitian memberi Anda dukungan. Ini perilaku bodoh.
" Jawaban " adalah menambahkan titik ke akhir sumber:
scp -rp src/. user@server:dest/
The nyata Jawabannya adalah dengan menggunakan rsync.
sumber
scp -r source/ host:source2
salinan file dot. Bekerja di OpenSSH 5.1 dari 2007..
pada akhirnya tidak lagi berfungsi (2019) karena masalah keamanan. Ini dijelaskan di sini: superuser.com/questions/1403473/scp-error-unexpected-filenameAnda dapat mencoba rsync. Lebih cocok untuk pekerjaan ini:
(Dan halaman manualnya layak dibaca.)
sumber
Jangan menaruh garis miring setelah direktori sumber. Kode Anda akan terlihat seperti ini:
Ini akan membuat direktori 'src' di bawah 'dest' pada mesin jarak jauh, dengan semua file tersembunyi disertakan. Mungkin bukan yang Anda inginkan, tetapi itu akan menyalin file tersembunyi di src.
sumber
Berikut ini akan menyelesaikan masalah, ini telah sepenuhnya diuji pada lingkungan integrasi berkelanjutan kami
Semoga ini bisa membantu
sumber
scp: error: unexpected filename: .
. Pastikan untuk menguji apakah itu berfungsi dengan distribusi Anda, sesama Googler :)Untuk menyalin hanya file yang tersembunyi, Gunakan perintah ini
Game aktual adalah
/.[!.]*
tag yang merujuk ke file yang dimulai dengan.
(disembunyikan)sumber
Tidak ada solusi scp di atas yang berfungsi untuk saya. Namun, saya memang menemukan bahwa yang berikut ini berfungsi pada cygwin: scp -r direktori / * host: direktori '*' cocok dengan semua file yang terlihat dan melewatkan yang tidak terlihat.
sumber
Jika login kata sandi dinonaktifkan pada mesin jarak jauh, dan satu-satunya cara untuk login adalah melalui kunci publik, maka Anda dapat menggunakan ini:
Ini menyalin file yang tersembunyi juga.
Harap perhatikan juga bahwa "user1" harus memiliki izin untuk membaca file-file itu, misalnya Anda tidak dapat menyalin folder ssh pengguna lain dengan metode ini.
sumber
Sebagai
scp
dukungan ekspresi reguler, ini akan membantu Anda:scp -rp src/(*|.*) user@server:dest/
sumber
Kontrol revisi yang didistribusikan menangani file tersembunyi
Karena CVE-2.018-20.685 kerentanan, yang
/.
trik tidak lagi dapat digunakan denganscp
. Namun, kontrol revisi terdistribusi sepertigit
atau Hg Mecurial akan menangani file tersembunyi seperti file lainnya. Berikut adalah perintah untuk Hg Mercurial favorit saya :Perubahan selanjutnya perlu dilakukan lagi dengan
client:$ hg com -m "commit message"
dan kemudian didorong menggunakanclient:$ hg push
perintah. Pelajari lebih lanjut tentang mendorong perubahan dari lembar contekan Hg Mercurial ini .sumber