Dans mon terminal shell, je ssh'ed dans un serveur distant, et je cd
dans le répertoire que je veux.
Maintenant dans ce répertoire, il y a un fichier appelé table
que je veux copier sur ma machine locale /home/me/Desktop
.
Comment puis-je faire ceci?
J'ai essayé scp table /home/me/Desktop
mais cela a donné une erreur sur aucun fichier ou répertoire.
Est-ce que quelqu'un sait comment faire ça?
[email protected]:/home/debian
. Une autre solution consistesshfs
à monter le système de fichiers de la machine distante sur l'hôte. Mais cette configuration est un peu plus compliquée.rsync
un essai. C'est génial à la fois pour les copies locales et à distance, vous donne la progression de la copie, etc. Un exempleRéponses:
La syntaxe pour
scp
est:Si vous êtes sur l'ordinateur à partir duquel vous souhaitez envoyer le fichier à un ordinateur distant:
Ici, il
remote
peut s'agir d'un nom de domaine complet ou d'une adresse IP.D'autre part, si vous êtes sur l'ordinateur et souhaitez recevoir le fichier d'un ordinateur distant:
scp
peut également envoyer des fichiers entre deux hôtes distants:Donc, la syntaxe de base est la suivante:
Vous pouvez lire
man scp
pour avoir plus d'idées à ce sujet.la source
/file/to/send
Merci pour votre réponse géniale!scp -r
va copier récursivement.scp -P 123
pour spécifier un port personnaliséVous pouvez utiliser
rsync
comme alternative. C’est principalement pour la synchronisation de fichiers .. mais vous pouvez aussi l’utiliser à cette fin.pour ajouter des options ssh:
--progress
et--stats
sont utiles pour l'affichage en temps réel du transfert.la source
la source
Si vous utilisez avec port:
la source
Si vous faites confiance à tout le monde tout à fait dans le réseau et vous pouvez connecter un port de la machine de destination directement, vous pouvez utiliser netcat:
nc
.Disons que l'adresse IP de la machine de destination est 192.168.1.123
Sur la destination:
Vous pouvez choisir un autre port et vous lier également à une autre adresse IP de vos interfaces. 0.0.0.0 intercepte uniquement toutes les interfaces.
Sur le source:
IMHO, c'est le moyen le plus rapide possible d'envoyer un fichier d'un ordinateur à un autre en utilisant des réseaux numériques.
Les arguments et les options de ligne de commande peuvent légèrement varier entre les différentes versions de
nc
ettar
, mais cela fonctionnera certainement avec les dernières distributions Linux.la source
Sous Linux, pour copier un dossier et son contenu depuis le répertoire utilisateur (racine dans cet exemple) dans un dossier du répertoire utilisateur local, j'exécute cette commande sur la machine locale:
scp -r [email protected]: ~ / folderinremoteuserdir ~ / folderinlocaluserdir
Notez le ~ / que je semble souvent oublier
la source