Saya menggunakan mesin A dan ingin menarik file dari mesin B.
A$ scp <myuserid>@hostB:<path of file in B> .
dikatakan bahwa:
scp: <path of file in B>: No such file or directory
Tetapi pada mesin B, file ini ada di jalur ini.
Apa yang salah?
Jawaban:
Anda tidak menentukan file apa pun: Anda harus menambahkan file (dengan path) setelah titik dua:
atau
untuk jalur relatif ke direktori home Anda.
Jika Anda tidak menentukan pengguna yang berbeda (yaitu, pengguna pada A dan B adalah sama) Anda tidak perlu
@
sumber
Ini hanya berfungsi ketika Anda menyalin file. jika Anda ingin menyalin penggunaan direktori
Opsi yang dapat Anda gunakan atas permintaan Anda
-P port
Menentukan port yang akan dihubungkan pada host jarak jauh. Perhatikan bahwa opsi ini ditulis dengan huruf besar "P", karena -p sudah disediakan untuk menjaga waktu dan mode file dalam rcp.
-p
Mempertahankan waktu modifikasi, waktu akses, dan mode dari file asli.
-r
Salin seluruh direktori secara rekursif.
-v
Mode Verbose. Menyebabkan scp dan ssh untuk mencetak pesan debug tentang kemajuan mereka. Ini membantu dalam men-debug koneksi, otentikasi, dan masalah konfigurasi.
sumber
gunakan jalur scp yang tepat
sumber
Anda dapat menentukan path file yang relatif terhadap direktori home Anda, atau path file absolut. Misalnya, jika
foo.txt
ada di direktori yang disebut didocs
bawah direktori home Anda danbar.txt
berada di/var/tmp
, Anda bisa melakukannyaPerhatikan bahwa jika nama file berisi karakter yang khusus untuk shell jarak jauh (biasanya spasi atau
!"#$&'*;<>?[\]^`{|}~
), Anda perlu menghindarinya untuk shell jarak jauh selain melarikan diri untuk shell lokal. Misalnya, jika file tersebut dipanggilfoo bar.txt
dan ada di direktori home Anda:Jika Anda mengalami kesulitan dengan file yang mengandung karakter tanda baca, coba gunakan
sftp
alih-alihscp
mentransfernya. Atau gunakan metode yang bahkan lebih nyaman, jika Anda dapat menggunakan FUSE : pasang sistem file mesin jarak jauh menggunakan sshfs , dan kemudian gunakan perintah manipulasi file biasa.sumber
Seseorang dapat dengan mudah melakukan SCP jika memiliki pengguna DMZ dan Kata Sandi Anda berada di mesin lokal Anda: Dari DMZ ke mesin linux lokal Anda (tarik). Berarti menyalin abc.text di dalam folder2 ke PWD Anda saat ini login.
Ia akan meminta kata sandi
itu saja
Sekarang Anda ingin mengirim folder akan subfolder dan file dari mesin lokal Anda ke DMZ:
usr @ localmachine: ~ / abc / defs> scp -r folder / usr @ 111111: vkrishna / docker /
lagi kata sandi akan ditanyakan
: adalah folder root dari mesin jarak jauh dan vkrishna adalah folder di sana & lagi docker subfolder. Folder defs lokal memiliki folder bernama "folder" yang ingin kita transfer sepenuhnya.
Suka / abc / defs / folder
sumber