it-swarm.com.de

Fehler bei der Verwendung von SCP: "keine reguläre Datei"

Ich habe eine Weile gesucht und kann die Definition einer regulären Datei nicht finden. Mein Weg ist permanent (ich beginne bei /) und ich verbinde mich mit

scp [email protected]: /path/to/picture.jpg

Ergebnisse in einer Anfrage nach einem Passwort und dann ...

scp: .: not a regular file
81
JeffM

Eine reguläre Datei ist eine Datei, die kein Verzeichnis oder exotischere Arten von "speziellen" Dateien wie benannte Rohre, Geräte, Steckdosen, Türen usw. symbolische Links ist sind ebenfalls keine regulären Dateien, verhalten sich jedoch wie ihr Ziel, wenn eine Anwendung auf den Inhalt der Datei zugreift.

Sie haben [email protected]: als Quelle der Kopie und /path/to/picture.jpg als Ziel. Die Quelle ist das Ausgangsverzeichnis des Benutzers root auf dem Computer IP. Dies ist nützlich als Ziel, aber nicht als Quelle. Was Sie eingegeben haben, ist erforderlich, um ein Verzeichnis in eine Datei zu kopieren. scp kann ein Verzeichnis nur kopieren, wenn Sie eine rekursive Kopie mit dem -r Option (und es würde sich weigern, eine vorhandene Datei mit einem Verzeichnis zu überschreiben, selbst mit -r, aber es würde leise eine reguläre Datei überschreiben, wenn die Quelle eine reguläre Datei wäre).

Wenn /path/to/picture.jpg ist der Pfad der Datei, die Sie kopieren möchten, auf dem Remotecomputer. Sie müssen den Dateinamen an die Hostspezifikation halten. Es ist der Doppelpunkt :, das den Hostnamen vom Remote-Pfad trennt. Sie müssen auch ein Ziel angeben.

scp [email protected]:/path/to/picture.jpg /some/destination

Wenn Sie die lokale Datei kopieren möchten /path/to/picture.jpg zum Remote-Host müssen Sie die Argumente austauschen. Bei Unix-Kopierbefehlen stehen die Quelle (n) an erster Stelle und das Ziel an letzter Stelle.

scp /path/to/picture.jpg [email protected]:

Wenn Sie die entfernte Datei kopieren möchten /path/to/picture.jpg an derselben Stelle lokal müssen Sie den Pfad wiederholen. Sie können Ihre Shell die Arbeit des Wiederholens für Sie erledigen lassen (weniger Tippen, weniger Lesbarkeit).

scp [email protected]:/path/to/picture.jpg /path/to/picture.jpg
scp {[email protected]:,}/path/to/picture.jpg

Wenn Sie ein Verzeichnis kopieren, sollten Sie die Option -r Verwenden:

scp -r [email protected]:/path/to/file /path/to/filedestination
129
user48435

Sie erhalten diesen Fehler, weil Sie versuchen, einen Ordner und keine Datei zu kopieren. Daher sollten Sie Ihre Dateien mit der Option -r Rekursiv kopieren

Verwenden Sie den folgenden Befehl, wenn Sie Dateien vom Remote-Computer auf den lokalen Computer kopieren

scp -r [email protected]:/path/to/file /path/to/filedestination

OR

Beim Kopieren von Dateien vom lokalen Computer auf den Remote-Computer

scp -r /path/to/file [email protected]:/path/to/filedestination
5
Yogesh Darji

syntaxproblem - Entfernen Sie den Leerraum dazwischen

root @ IP:

und

/Pfad

4
lurker

scp [email protected]:/path/to/file /path/to/filedestination

Der obige Befehl kopiert eine Datei vom Remote-Server auf Ihren Computer. Wenn Sie nur scp [email protected]: es wird versucht, das Home-Verzeichnis von root zu kopieren (scp users home .).

Sie müssen also den genauen Pfad zur Datei angeben

2
scp [email protected]:/path/to/*.jpg  /path/to/filedestination/

Dies wird funktionieren (zumindest auf meinem Mac)

0
user253616