Respuestas:
Un archivo normal es un archivo que no es un directorio o tipos más exóticos de archivos "especiales" , como tuberías con nombre, dispositivos, enchufes, puertas, etc. Los enlaces simbólicos tampoco son archivos normales, pero se comportan como su destino cuando Una aplicación está accediendo al contenido del archivo.
Usted pasó root@IP:
como origen de la copia y /path/to/picture.jpg
como destino. La fuente es el directorio de inicio del usuario root
en la máquina IP
. Esto es útil como destino, pero no como fuente. Lo que escribió requirió copiar un directorio en un archivo; scp
no puede copiar un directorio a menos que solicite una copia recursiva con la -r
opción (y se negaría a sobrescribir un archivo existente con un directorio incluso con -r
, pero silenciosamente sobrescribiría un archivo normal si la fuente fuera un archivo normal).
Si /path/to/picture.jpg
es la ruta en la máquina remota del archivo que desea copiar, debe pegar el nombre del archivo a la especificación del host. Es el colon :
que separa el nombre del host de la ruta remota. También deberá especificar un destino.
scp root@IP:/path/to/picture.jpg /some/destination
Si desea copiar el archivo local /path/to/picture.jpg
en el host remoto, debe intercambiar los argumentos. Los comandos de copia de Unix ponen primero las fuentes y el destino al final.
scp /path/to/picture.jpg root@IP:
Si desea copiar el archivo remoto /path/to/picture.jpg
en la misma ubicación localmente, debe repetir la ruta. Puede hacer que su shell haga el trabajo de repetirlo por usted (menos tipeo, menos legibilidad).
scp root@IP:/path/to/picture.jpg /path/to/picture.jpg
scp {root@IP:,}/path/to/picture.jpg
Al copiar un directorio, debe usar la -r
opción:
scp -r root@IP:/path/to/file /path/to/filedestination
problema de sintaxis: elimine el espacio en blanco entre
root @ IP:
y
/camino
scp
.
not a regular file
-r
como argumento scp.
scp root@IP:/path/to/file /path/to/filedestination
El comando anterior copia un archivo del servidor remoto a su computadora. Si solo escribe scp root@IP:
, intentará copiar el directorio de inicio de root (inicio de usuarios scp .
).
Por lo tanto, debe proporcionar la ruta exacta al archivo
Obtiene ese error porque está intentando copiar una carpeta y no un archivo y, por lo tanto, debe copiar sus archivos de forma recursiva mediante la -r
opción
Utilice el siguiente comando cuando copie archivos de una máquina remota a una máquina local
scp -r root@RemoteIP:/path/to/file /path/to/filedestination
O
Al copiar archivos de una máquina local a una máquina remota
scp -r /path/to/file root@RemoteIP:/path/to/filedestination
scp root@IP:/path/to/*.jpg /path/to/filedestination/
Esto funcionará (al menos en mi Mac)