cp: ne peut pas stat: aucun fichier ou répertoire


10

Je reçois une erreur lorsque j'essaie de copier un fichier de mon ordinateur local vers un serveur distant avec ssh. J'obtiens la même erreur que j'utilise cpou scp.

Voici mon entrée à l'erreur résultante:

[root@xxx.xx.xxx.xx /]# cp /home/username/some.xml root@xxx.xx.xxx.xx:/path/to/directory/  
cp: cannot stat ‘/home/username/some.xml’: No such file or directory

J'ai vérifié, et il y a certainement un fichier sur le chemin /home/username/some.xmlsur ma machine locale.

L'ordinateur local et le serveur distant sont en cours d'exécution CentOS 7. Comment puis-je résoudre cette erreur et copier avec succès?


1
Pouvez-vous coller la sortie de (en tant que root) ls -l /home/username/some.xml?
Mark Plotnick

Vous devez obtenir le chemin correct pour le nom de fichier pour commencer, si vous pouvez trouver le fichier dans le navigateur de fichiers, vous devriez pouvoir le trouver dans le terminal en parcourant les répertoires avec cd et en utilisant ls pour afficher d'autres fichiers et répertoires.
Chris Davidson

@MarkPlotnick Vos suggestions m'ont amené à résoudre le problème. Comme root@remote.server.ip, j'ai tapé exit, puis tapé la scpcommande ci-dessus et cela a fonctionné. Le problème était que j'étais connecté en tant que root@remote.web.server, donc il ne voyait que la structure de répertoires de remote.web.server, qui est différente de la structure de répertoires de ma machine locale. Puisque vous m'avez fait trouver cela, je serais heureux d'accepter une réponse que vous pourriez soumettre. Je vous remercie.
CodeMed

Réponses:


6

Si vous êtes connecté à la machine locale , vous utiliseriez scpcomme ceci:

scp /home/username/some.xml root@remote.machine.ip.address:/path/to/directory/

Si vous êtes connecté à la machine distante (comme dans l'OP), utilisez scpcomme ceci:

scp username@local.machine.ip.address:/home/username/some.xml /path/to/directory

Remplacez les adresses IP comme indiqué dans les commandes.


Après avoir essayé différentes solutions toute la journée, celle-ci fonctionne pour moi.
Hobby Dev

2

Tout d'abord, vous devrez utiliser SCP, il n'y a aucun moyen d'utiliser simplement cp pour copier des fichiers sur le réseau.

La commande scp devrait ressembler à ce qui suit dans votre exemple, notez que la structure du répertoire devra exister du côté du serveur recevant les fichiers;

scp /home/username/some.xml root@xxx.xxx.xxx.xxx:/path/to/directory/

Si vous ne l'avez pas déjà fait, vous devrez vous connecter au serveur sur lequel vous copiez le fichier et créer le répertoire dans lequel vous souhaitez copier le fichier, c'est-à-dire;

mkdir /path/to/directory

Une alternative serait d'utiliser rsync.


Cela ne fonctionne pas. Je viens de l'essayer à nouveau maintenant, en vérifiant que j'ai fait exactement ce que vous avez écrit, ce qui est la même chose que j'ai mentionnée dans mon OP ci-dessus lorsque j'ai déclaré que cela génère la même erreur que j'utilise scpou cp.
CodeMed
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.