Saya baru belajar menggunakan sftp, dan saya ingin menyalin direktori dari komputer jarak jauh ke komputer lokal saya. Jika saya mencoba
get [directory]
ini memberi saya kesalahan ini:
Cannot download non-regular file: /home/mpirocch/Documents
get -R
juga tidak bekerja.
Jawaban:
Gunakan
-r
bendera (rekursif):sumber
get: Invalid flag -r
-r
bendera itu tidak ada. Apakah sistem Anda mutakhir?Menggunakan:
sumber
scp -r
. Atau Anda bisa menggunakan klien SFTP canggih seperti Filezilla.sftp
, tetapi tidakscp
mengakses.Gunakan
lftp
:Kemudian, di dalam lftp,
cd
ke direktori yang ingin Anda salin, dan gunakanmirror
perintah untuk mengunduh direktori yang dipilih secara rekursif, seperti ini:Perintah ini menerima opsi dan argumen:
Misalnya, opsi
-R
(atau--reverse
) akan menyebabkannya mengunggah pohon direktori lokal ke direktori jarak jauh:Lihat
lftp(1)
halaman manual di situs proyek atau di Debian.org untuk perintah dan opsi lain.sumber
nah panduan kecil ini akan membantu, mirror server remote ke folder lokal dengan lftp
lftp sftp://user:[email protected]:22 -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'
sftp://
= menggunakan protokol SFTPmirror
= mode cerminverbose
= menunjukkan file yang sedang diunduhuse-pget-n
= jumlah segmen, sangat berguna untuk mempercepat file besarparallel
= mengunduh file pengganda pada saat yang samajika Anda ingin mengunduh file secara paralel, ganti
use-pget-n=8
dengan--parallel=8
Semoga ini bisa membantu siapa saja yang perlu mem-mirror folder jarak jauh ke folder lokal
sumber
lftp 'sftp://user:[email protected]:22' -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'
Jangan menggunakan program sftp secara langsung jika Anda dapat menemukan sesuatu yang lebih baik. Untuk Linux, banyak manajer file (setidaknya Nautilus dan Dolphin, yang GNOME dan KDE) mendukung sftp secara asli, dan selalu ada sshfs. Untuk windows, ada WinSCP, dan mungkin yang lainnya . Inti dari semua ini adalah untuk memungkinkan Anda mengakses file lebih dari sftp seolah-olah mereka berada di file filesem biasa, sehingga Anda tidak perlu peduli bahwa Anda mengaksesnya melalui sftp.
sumber
sftp/ssh
antarmuka baris perintah biasa saya (cca 100 MB / s transfer file). Jadi masalahnya adalah Nautilus di GNU / Linux Mint.Coba
mget
alih-alihget
.Klarifikasi:
mget
akan berfungsi jika Anda berada di dalam direktori yang ingin Anda salin; jika Anda melakukan sesuatu seperti ini:itu akan mendapatkan semua file di direktori itu. Namun, itu tidak akan secara rekursif mendapatkan konten dari subdirektori apa pun.
sumber
mendapat
[directory]
dan segala sesuatu di bawahnya, di manar
kepanjangan dari rekursif. Saya menemukan ini hanya dengan mengetikhelp
darisftp
.sumber
Seperti dengan
cp
:Di atas akan menghemat waktu dan mode dari file dan subdirektori asli. Ini sangat berguna untuk pengambilan cadangan.
sumber
Saya memiliki folder Java dist di server jauh, di mana saya memiliki pohon berikut:
Sasarannya adalah: Saya ingin menggunakan SFTP? Dan letakkan di / tmp / <>
Langkah 1. sftp remoteuser @ ip
Langkah 2. cd / var / tmp
Langkah 2. lmkdir / tmp / dist; lmkdir / tmp / dist / lib
Langkah 3. lcd / tmp / dist
Langkah 4. mget *
Langkah 5. lcd / tmp / dist / lib
Langkah 6. mget *
Langkah 7. akhirnya saya memiliki tujuan saya
sumber