Ответы:
Обычный файл - это файл, который не является каталогом или более экзотическими видами «специальных» файлов, таких как именованные каналы, устройства, сокеты, двери и т. Д. Символические ссылки также не являются обычными файлами, но они ведут себя как цель, когда приложение обращается к содержимому файла.
Вы передали root@IP:
в качестве источника копии и в /path/to/picture.jpg
качестве места назначения. Источником является домашний каталог пользователя root
на машине IP
. Это полезно в качестве пункта назначения, но не в качестве источника. То, что вы ввели, требуется для копирования каталога в файл; scp
не может скопировать каталог, если вы не запросите рекурсивную копию с -r
параметром (и он откажется перезаписать существующий файл с каталогом, даже если -r
, но он спокойно перезапишет обычный файл, если исходный файл был обычным файлом).
Если /path/to/picture.jpg
это путь на удаленном компьютере файла, который вы хотите скопировать, вам нужно привязать имя файла к спецификации хоста. Это двоеточие, :
которое отделяет имя хоста от удаленного пути. Вам также нужно будет указать пункт назначения.
scp root@IP:/path/to/picture.jpg /some/destination
Если вы хотите скопировать локальный файл /path/to/picture.jpg
на удаленный хост, вам необходимо поменять местами аргументы. Команды копирования Unix ставят источник (источники) первым, а место назначения последним.
scp /path/to/picture.jpg root@IP:
Если вы хотите скопировать удаленный файл /path/to/picture.jpg
в то же место локально, вам нужно повторить путь. Вы можете сделать так, чтобы ваша оболочка повторяла за вас работу (меньше печатания, меньше читаемости).
scp root@IP:/path/to/picture.jpg /path/to/picture.jpg
scp {root@IP:,}/path/to/picture.jpg
При копировании каталога вы должны использовать -r
опцию:
scp -r root@IP:/path/to/file /path/to/filedestination
синтаксическая проблема - удалить пробел между
корень @ IP:
а также
/дорожка
scp
.
not a regular file
-r
качестве аргумента scp.
scp root@IP:/path/to/file /path/to/filedestination
Выше команда копирует файл с удаленного сервера на ваш компьютер. Если вы напечатаете только, scp root@IP:
он попытается скопировать домашний каталог root (scp users home .
).
Так что вам нужно указать точный путь к файлу
Вы получаете эту ошибку, потому что вы пытаетесь скопировать папку, а не файл, и, следовательно, вы должны копировать файлы рекурсивно, используя -r
опцию
Используйте команду ниже при копировании файлов с удаленного компьютера на локальный компьютер
scp -r root@RemoteIP:/path/to/file /path/to/filedestination
ИЛИ ЖЕ
При копировании файлов с локального компьютера на удаленный компьютер
scp -r /path/to/file root@RemoteIP:/path/to/filedestination
scp root@IP:/path/to/*.jpg /path/to/filedestination/
Это будет работать (по крайней мере, на моем Mac)