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?
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:
A$ scp <myuserid>@hostB:/absolutepath/file .
atau
A$ scp <myuserid>@hostB:relativepath/file .
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 @
A$ scp hostB:/path/file .
$ scp username@remoteip:remote_location_file /location/where/you/save
Ini hanya berfungsi ketika Anda menyalin file. jika Anda ingin menyalin penggunaan direktori
$ scp -r username@remoteip:remote_location_directory /location/where/you/save
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.
gunakan jalur scp yang tepat
scp ssh://user@hostname/tmp/foo.txt .
Anda dapat menentukan path file yang relatif terhadap direktori home Anda, atau path file absolut. Misalnya, jika foo.txtada di direktori yang disebut di docsbawah direktori home Anda dan bar.txtberada di /var/tmp, Anda bisa melakukannya
scp username@host.example.com:docs/foo.txt .
scp username@host.example.com:/var/tmp/bar.txt .
Perhatikan 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 dipanggil foo bar.txtdan ada di direktori home Anda:
scp username@host.example.com:'foo\ bar.txt' .
Jika Anda mengalami kesulitan dengan file yang mengandung karakter tanda baca, coba gunakan sftpalih-alih scpmentransfernya. 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.
mkdir host.example.com
sshfs username@host.example.com:/ host.example.com
cp host.example.com/path/to/file .
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.
scp user@111111:folder1/folder2/abc.txt .
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