Dans ma coquille de terminal, j'ai ssh'ed dans un server distant, et je cd
au directory que je veux.
Maintenant dans ce directory, il y a un file appelé table
que je veux copyr sur ma machine locale /home/me/Desktop
.
Comment puis-je faire ceci?
J'ai essayé scp table /home/me/Desktop
mais il a donné une erreur au sujet de ce file ou de ce directory.
Est-ce que quelqu'un sait comment faire ça?
La syntaxe pour scp
est la suivante:
Si vous êtes sur l'ordinateur à partir duquel vous souhaitez envoyer le file à un ordinateur distant:
scp /file/to/send username@remote:/where/to/put
Ici, la remote
peut être un nom de domaine complet ou une adresse IP.
D'autre part si vous êtes sur l'ordinateur voulant recevoir le file d'un ordinateur distant:
scp username@remote:/file/to/send /where/to/put
scp
peut également envoyer des files entre deux hôtes distants:
scp username@remote_1:/file/to/send username@remote_2:/where/to/put
Donc la syntaxe de base est la suivante:
scp username@source:/location/to/file username@destination:/where/to/put
Vous pouvez lire l' man scp
pour get plus d'idées à ce sujet.
scp [email protected]:/root/Jmeter/reports.jtl Downloads/
Vous pouvez utiliser rsync
comme alternative. C'est principalement pour synchroniser les files .. mais vous pouvez également l'utiliser à cette fin.
rsync -avzh --stats --progress remoteuser@remoteip localpath
pour append des options ssh:
rsync -e "ssh -P $port_value" remoteuser@remoteip localpath
--progress
et --stats
sont utiles pour l'affichage en time réel du transfert.
scp username@ipaddress:pathtofile localsystempath scp sadananad@ipaddress:/home/demo/public_html/myproject.tar.gz .
Si vous utilisez avec le port:
scp -Pportnumber username@ipaddress:pathtofile localsystempath scp -P2233 sadananad@ipaddress:/home/demo/public_html/myproject.tar.gz .
Si vous faites entièrement confiance à tout le monde sur le réseau et que vous pouvez connecter directement un port de la machine de destination, vous pouvez utiliser netcat: nc
.
Disons que l'adresse IP de la machine de destination est 192.168.1.123
Sur la course de destination:
nc -l -p 7777 0.0.0.0 | tar zxvf - -C dest_dir
Vous pouvez choisir un port différent, et aussi lier à une autre adresse IP de vos interfaces, 0.0.0.0 attrape simplement sur toutes les interfaces.
Sur le run source:
tar zxcf - filename | nc 192.168.1.123 7777
IMHO, c'est le moyen le plus rapide possible d'envoyer un file d'un ordinateur à l'autre en utilisant des réseaux numériques.
Les arguments et les options de command line peuvent changer légèrement entre les différentes versions de nc
et tar
, mais cela fonctionnera certainement avec les dissortingbutions Linux récentes.