web-dev-qa-db-fra.com

scp donne "pas un fichier normal"

J'ai un problème lors de l'utilisation de scp sous Linux, il est écrit "pas un fichier régulier". J'ai regardé d'autres questions/réponses à ce sujet, mais je ne peux pas savoir ce qui ne va pas ... J'ai écrit:

scp aa@aa:/home/pictures/file.fits .

copier file.fits de aa@aa, /home/pictures dans le répertoire en cours. J'ai aussi essayé sans utiliser /home/, mais cela n'a pas fonctionné non plus ...

Comprends-tu ce qui ne va pas?

27
Fourmicroonde

Je viens de tester cela et j'ai trouvé au moins 3 situations dans lesquelles scp renverrait not a regular file:

  1. Le fichier est en fait un répertoire
  2. Le fichier est un tube nommé (a.k.a. FIFO)
  3. Le fichier est un fichier de périphérique

Le cas n ° 1 semble le plus probable. Si vous vouliez transférer une structure de répertoire entière avec scp, utilisez l'option -r pour indiquer la copie récursive.

57
Multimedia Mike

"/home/pictures/file.fits" doit nommer un objet de système de fichiers sur le serveur distant. Si ce n'était pas le cas, scp aurait donné un message d'erreur différent. 

Je vois que FITS est un format d'image . Je suppose que "/home/pictures/file.fits" est le nom d’un répertoire du serveur distant, contenant des fichiers FITS ou quelque chose du genre.

Pour copier un répertoire avec scp, vous devez fournir le drapeau "-r":

scp -r aa@aa:/home/pictures/file.fits .
18
Kenster

Cette erreur peut se produire si vous avez un espace avant le premier chemin comme ci-dessous:

scp myUserName@HostName: /path/to/file  /path/to/new/file                            ^

Pour réparer, il suffit de prendre l'espace:

scp myUserName@HostName:/path/to/file  /path/to/new/file
9
wizurd

Cela ne fonctionne pas car vous avez besoin du nom exact du fichier copié; Utilisez donc cette commande comme ceci:

scp aa@aa:/home/pictures/file.fits ./file.fits

Vous pouvez aussi renommer votre fichier comme ceci:

scp aa@aa:/home/pictures/file.fits ./newNameFile.fits
0
Faunus

étapes simples à suivre

1) scp -r utilisateur @ hôte:/var/www/html/projetFolder/var/www/html/localsystem-project-folder

2) scp -r utilisateur @ hôte: /var/www/html/projectFolder/fichier.php/var/www/html/localsystem-project-folder /

ici -r est pour le parcours récursif, le directeur vous aidera sans erreur.

0
niraj rahi