J'apprends à utiliser sftp et je veux copier un répertoire de l'ordinateur distant sur mon ordinateur local. Si j'essaye
get [directory]
ça me donne cette erreur:
Cannot download non-regular file: /home/mpirocch/Documents
get -R
ne fonctionne pas non plus.
Réponses:
Utilisez le
-r
drapeau (récursif):la source
get: Invalid flag -r
-r
drapeau n'existait pas. Votre système est-il à jour?Utilisation:
la source
scp -r
. Vous pouvez également utiliser un client SFTP avancé tel que Filezilla.sftp
, mais passcp
accéder.Utiliser
lftp
:Ensuite, dans lftp,
cd
dans le répertoire que vous voulez copier, et utilisez lamirror
commande pour télécharger de manière récursive le répertoire sélectionné, comme ceci:Cette commande accepte les options et les arguments:
Par exemple, l' option
-R
(ou--reverse
) entraînera le téléchargement de l'arborescence du répertoire local dans le répertoire distant:Voir la
lftp(1)
page de manuel sur le site du projet ou sur Debian.org pour d'autres commandes et options.la source
Eh bien, ce petit guide devrait vous aider, mettez en miroir un serveur distant dans un dossier local avec lftp
lftp sftp://user:[email protected]:22 -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'
sftp://
= utilise le protocole SFTPmirror
= mode miroirverbose
= montre les fichiers en cours de téléchargementuse-pget-n
= nombre de segments, vraiment utile pour accélérer les gros fichiersparallel
= télécharge des fichiers multiplicateurs en même tempssi vous souhaitez télécharger des fichiers en parallèle, éteignez-le
use-pget-n=8
avec--parallel=8
espérons que cela aide tous ceux qui ont besoin de mettre en miroir un dossier distant dans un dossier local
la source
lftp 'sftp://user:[email protected]:22' -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'
N'utilisez pas directement le programme sftp si vous pouvez trouver quelque chose de mieux. Pour Linux, de nombreux gestionnaires de fichiers (au moins Nautilus et Dolphin, GNOME et KDE) prennent en charge sftp de manière native, et il y a toujours sshfs. Pour Windows, il y a WinSCP, et probablement d' autres . Le but de tout cela est de vous permettre d’accéder aux fichiers sur sftp comme s’ils se trouvaient sur un système de fichiers classique, de sorte que vous n’ayez pas à vous soucier de leur accès sur sftp.
la source
sftp/ssh
interface de ligne de commande simple , j'étais (environ 100 Mo / s de transfert de fichiers). Le problème était donc Nautilus sous GNU / Linux Mint.Essayez
mget
au lieu deget
.Précision:
mget
va travailler si vous êtes à l' intérieur du répertoire que vous souhaitez copier; si vous faites quelque chose comme ça:il obtiendra tous les fichiers dans ce répertoire. Cependant, il ne récupérera pas le contenu des sous-répertoires de manière récursive.
la source
obtient
[directory]
et tout en dessous, oùr
signifie récursif. J'ai trouvé cela simplement en tapanthelp
desftp
.la source
Comme avec
cp
:Ce qui précède préservera les temps et les modes des fichiers et sous-répertoires d'origine. Ceci est particulièrement utile pour la récupération de sauvegardes.
la source
J'ai le dossier de dist de Java dans le serveur distant, où j'ai l'arbre suivant:
L'objectif est: je veux utiliser SFTP? Et mettez-les dans / tmp / <>
Étape 1. sftp remoteuser @ ip
Étape 2. cd / var / tmp
Étape 2. lmkdir / tmp / dist; lmkdir / tmp / dist / lib
Étape 3. lcd / tmp / dist
Étape 4. mget *
Étape 5. lcd / tmp / dist / lib
Étape 6. mget *
Étape 7. enfin j'ai mon objectif
la source