scp-Linux文件复制命令

scp — Linux文件复制命令

用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。

常用参数

  • -P: 端口号
  • -r: 递归复制

用法

# 上传文件
scp -r -P xxxx /home/local_user/file_path remote_user@remote_host_addr:/home/remote_user/file_path

# 下载文件时将 source 和 target 调换一下
scp -r -P xxxx remote_user@remote_host_addr:/home/remote_user/file_path /home/local_user/file_path

Permission denied 问题

今天下午上传文件到服务器的时候一直报这个错:

scp -P xxxx file.torrent test@test:/home

# 输出
[email protected]'s password: 
scp: /home/25316538e6498c7645e3da963253977d.torrent: Permission deniedv

保证密码输入正确并且重试了好几次都报同样的错,才想起来以前遇到这个问题,是因为当前用户对目标目录没有操作权限导致的,只要把目标路径改到当前用户目录下就好了。

scp -P xxxx file.torrent test@test:/home/test/Downloads

参考:18. scp 跨机远程拷贝