Risposte:
Un file normale è un file che non è una directory o tipi più esotici di file "speciali" come named pipe, dispositivi, socket, porte, ecc. I collegamenti simbolici non sono neanche file regolari, ma si comportano come il loro obiettivo quando un'applicazione sta accedendo al contenuto del file.
Hai passato root@IP:
come origine della copia e /path/to/picture.jpg
come destinazione. La fonte è la home directory dell'utente root
sulla macchina IP
. Questo è utile come destinazione, ma non come fonte. Cosa hai digitato richiesto per copiare una directory in un file; scp
non è possibile copiare una directory a meno che non si richieda una copia ricorsiva con l' -r
opzione (e si rifiuterebbe di sovrascrivere un file esistente con una directory anche con -r
, ma sovrascriverebbe silenziosamente un file normale se l'origine fosse un file normale).
Se /path/to/picture.jpg
è il percorso sul computer remoto del file che si desidera copiare, è necessario applicare il nome del file alla specifica dell'host. Sono i due punti :
che separano il nome host dal percorso remoto. Dovrai anche specificare una destinazione.
scp root@IP:/path/to/picture.jpg /some/destination
Se si desidera copiare il file locale /path/to/picture.jpg
sull'host remoto, è necessario scambiare gli argomenti. I comandi di copia Unix mettono per primi i sorgenti e l'ultima destinazione.
scp /path/to/picture.jpg root@IP:
Se si desidera copiare il file remoto /path/to/picture.jpg
nella stessa posizione localmente, è necessario ripetere il percorso. Puoi avere la shell che fa il lavoro di ripetizione per te (meno battitura, meno leggibilità).
scp root@IP:/path/to/picture.jpg /path/to/picture.jpg
scp {root@IP:,}/path/to/picture.jpg
Quando si copia una directory, è necessario utilizzare l' -r
opzione:
scp -r root@IP:/path/to/file /path/to/filedestination
problema di sintassi: rimuove lo spazio bianco tra
root @ IP:
e
/sentiero
scp
.
not a regular file
-r
come argomento scp.
scp root@IP:/path/to/file /path/to/filedestination
Il comando sopra copia un file dal server remoto al tuo computer. Se digiti solo scp root@IP:
, proverà a copiare la directory principale di root (home page degli utenti scp .
).
Quindi è necessario fornire il percorso esatto del file
Stai ricevendo quell'errore perché stai provando a copiare una cartella e non un file e quindi dovresti copiare i tuoi file in modo ricorsivo usando l' -r
opzione
Utilizzare il comando seguente per copiare i file dal computer remoto al computer locale
scp -r root@RemoteIP:/path/to/file /path/to/filedestination
O
Quando si copiano file dal computer locale al computer remoto
scp -r /path/to/file root@RemoteIP:/path/to/filedestination
scp root@IP:/path/to/*.jpg /path/to/filedestination/
Funzionerà (almeno sul mio Mac)