La plupart des gens préfèrent des utilitaires tels que FileZilla ou WinSCP lorsqu'ils ont besoin de transférer des fichiers depuis ou vers des serveurs Linux / BSD. Si OpenSSH est en cours d'exécution sur cet ordinateur, vous pouvez vous y connecter à l'aide du protocole Secure / SSH FTP (SFTP). Les utilitaires ci-dessus facilitent le transfert de fichiers en fournissant une interface graphique, mais vous devez les installer et les configurer.
Certains utilisateurs préfèrent ne pas installer d’utilitaires supplémentaires. D'autres préfèrent simplement la ligne de commande car elle vous donne plus de contrôle et un moyen plus rapide de dire à l'outil ce que vous voulez faire. Mais maintenant, il y a une raison supplémentaire d'utiliser la ligne de commande lorsque vous souhaitez déplacer des fichiers. Windows 10 a commencé à inclure Client OpenSSH par défaut Ce qui vous permet de vous connecter aux serveurs Linux / BSD directement à partir d'une invite de commande.
Ce client est également fourni avec de nombreux autres utilitaires, dont SFTP. Par conséquent, vous pouvez maintenant transférer des fichiers sur des systèmes d'exploitation Linux / BSD, directement à partir de l'invite de commande, sans rien installer sur votre ordinateur Windows.
L'utilitaire SFTP est également disponible sur les appareils Linux et fonctionne de la même manière.
Liens rapides
Comment se connecter à l'aide de la commande sftp
Si vous utilisez Windows, ouvrez l'invite de commande. Si vous utilisez Linux, ouvrez une fenêtre de terminal.
Pour vous connecter au serveur à l'aide de la commande sftp, vous pouvez utiliser la même formule que la commande ssh. Si vous n’êtes pas familier avec cela, lisez le tutoriel associé dans la section Introduction.
sftp your_username@IP-address-or-hostname
Exemple de commandes:
sftp [email protected] sftp [email protected]
Comment télécharger des fichiers après la connexion en utilisant sftp
Vous pouvez maintenant entrer des commandes dans l'invite sftp> pour interagir avec les fichiers sur le serveur.
Pour télécharger un fichier:
get /path/to/file/on/server
Par exemple:
get /bin/ls
Cela sera téléchargé dans votre répertoire actuel, où vous vous trouvez localement avant de vous connecter au serveur. Pour télécharger dans un répertoire local spécifique (sous Windows):
get /path/to/file/on/server C:\path\to\local\folder
مثال
get /bin/ls C:\User\John\Desktop
Sous Linux, utilisez simplement les chemins Unix (barre oblique plutôt que barre oblique inverse):
get /bin/ls /home/john/Desktop
Les pistes peuvent être relativement bien. Cela signifie que si vous êtes dans C: \ Utilisateur \ John Déjà, lorsque vous ouvrez une invite de commande, vous pouvez télécharger sur le bureau (C: \ Utilisateur \ John \ Bureau) Avec:
get /bin/ls Desktop
Les chemins distants peuvent également être relatifs, ce qui signifie que si vous êtes connecté à l'aide de Sftp [email protected] , Il existera déjà dans le " accueil / john", Vous pouvez donc l'utiliser pour télécharger"/ home / john / file":
get file Desktop
Cela téléchargera le "/ home / john / file"À"C: \ Users \ YourUser \ Desktop \ file. »
Pour copier les répertoires, vous devez ajouter le paramètre -r à la commande, qui indique un doublon.
get -r /bin Desktop\bin
N'oubliez pas d'ajouter un nom au nouveau répertoire que vous souhaitez créer localement, tel que "Bureau \ bin" dans ce cas. Si vous utiliserez get -r / bin Desktop , Les fichiers seront copiés directement sur le bureau. Ce sont les fichiers copiés, pas le répertoire lui-même.
Comment télécharger des fichiers après s'être connecté avec sftp
Les fichiers ou répertoires suivants suivent les mêmes principes. La seule exception est que les chemins sont inversés, ce qui signifie que vous spécifiez d'abord le fichier / répertoire local et le chemin distant.
Sur le système d'exploitation Windows:
put C:\path\to\local\content /path/where/to/upload
Sous Linux:
put /path/to/local/content /path/to/remote/location
Lorsque vous téléchargez des répertoires (copies), rappelez-vous que la même règle s'applique que dans la section précédente: Ce sont en fait les fichiers du répertoire copiés, pas le répertoire lui-même. Par conséquent, spécifiez un nouveau nom pour le répertoire dans lequel vous souhaitez copier ces fichiers.
put -r Desktop/bin bin
Cela va créer un nouveau répertoire appelé "coffre"De l'autre côté.
Pour quitter le shell sftp, tapez simplement:
sortie
Comment reprendre le transport et utiliser les chemins contenant des espaces
Lorsque vous déplacez un fichier volumineux, s'il est interrompu, vous pouvez reprendre la commande en remplaçant la commande précédente. reput وreget Au lieu de mettre و obtenez. Assurez-vous simplement que vous utilisez les mêmes chemins que vous avez utilisés la fois précédente, afin que la source et la destination correspondent exactement.
reget /path/to/file/on/server C:\path\to\local\file reput C:\path\to\local\file /path/to/file/on/server
Pour reprendre les transferts de répertoire, ajoutez simplement le paramètre -r
reput -r Desktop/bin bin
Si le chemin d'accès à un fichier contient des espaces, placez-le entre guillemets.
Cela ne fonctionnera pas:
put C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\SOUNDTRACK\The_Witcher_3_Wild_Hunt_-_Official_Soundtrack_(steam_edition)_mp3.zip
Mais cela fonctionnera:
put "C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\SOUNDTRACK\The_Witcher_3_Wild_Hunt_-_Official_Soundtrack_(steam_edition)_mp3.zip"
(Oui, vous pouvez réellement trouver la piste sonore dans Witcher 3 si vous l'avez installée sur Steam.)
Pour aller plus loin
Cela couvre les choses les plus importantes que vous devez savoir sur le programme sftp. Si vous trouvez que vous devez en savoir plus, vous pouvez lire Guide de la commande sftp complète en ligne.