У Вас есть доступ для чтения на a.txt, таким образом, энергия может открыть его. Это должно указать, что файл только для чтения, и предупредите Вас, когда Вы начинаете вносить изменения (но все еще позвольте Вам редактировать буфер в оперативной памяти).
Когда Вы пытаетесь сохранить его, у Вас нет разрешения записи так сбои сохранения. Можно, конечно, сказать энергии сохранять его к другому имени файла/каталогу, где у Вас действительно есть разрешение записи.
Синтаксис для SCP
:
Если вы на компьютере, из которого вы хотите отправить файл на удаленный компьютер:
scp /file/to/send username@remote:/where/to/put
здесь Удаленный
может быть FQDN или IP-адрес.
С другой стороны, если вы находитесь на компьютере, желая получить файл с удаленного компьютера:
scp username@remote:/file/to/send /where/to/put
SCP
также может отправлять файлы между двумя удаленными хостами:
scp username@remote_1:/file/to/send username@remote_2:/where/to/put
, поэтому основной синтаксис:
scp username@source:/location/to/file username@destination:/where/to/put
Вы можете прочитать Человек SCP
, чтобы получить больше идей на этом.
scp username@ipaddress:pathtofile localsystempath
scp sadananad@ipaddress:/home/demo/public_html/myproject.tar.gz .
Если вы используете порт:
scp -Pportnumber username@ipaddress:pathtofile localsystempath
scp -P2233 sadananad@ipaddress:/home/demo/public_html/myproject.tar.gz .
В качестве альтернативы можно использовать rsync
. Он в основном предназначен для синхронизации файлов ... но вы можете использовать его и для этой цели.
rsync -avzh --stats --progress remoteuser@remoteip:/path/ localpath
для добавления параметров ssh:
rsync -e "ssh -P $port_value" remoteuser@remoteip:/path/ localpath
- progress
и - stats
полезны для отображения передачи в реальном времени.
Я думаю, что это лучший вариант, чем SCP, поскольку он пропускает уже переданные файлы, что заметно при копировании большого количества файлов.
Если вы полностью доверяете всем в сети и можете напрямую подключить порт машины назначения, вы можете использовать netcat: nc
.
Допустим, IP-адрес машины назначения 192.168.1.123
На машине назначения:
nc -l -p 7777 0.0.0.0 | tar zxvf - -C dest_dir
Вы можете выбрать другой порт, а также привязываться к другому IP-адресу ваших интерфейсов, 0.0.0.0 просто цепляется все интерфейсы.
Об исходниках:
tar zxcf - filename | nc 192.168.1.123 7777
ИМХО, это самый быстрый способ переслать файл с одного компьютера на другой по цифровым сетям.
Аргументы и параметры командной строки могут немного различаться в разных версиях nc
и tar
, но они определенно будут работать с последними дистрибутивами Linux.
В Linux, чтобы скопировать папку и ее содержимое из корневого каталога пользователя (в этом примере каталога )в папку в локальном каталоге пользователя, я запускаю эту команду на локальном компьютере:
scp -r root@178.62.54.83 :~/folderinremoteuserdir ~/folderinlocaluserdir
Обратите внимание на ~/ которое я часто забываю...