linux scp命令

scp 是 secure copy 的缩写, 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令,用于 Linux 之间复制文件和目录。

1. 从本地复制到远程

​ 将本地文件拷贝到远程

scp local_file remote_username@remote_ip:remote_folder

​ 将本地文件夹拷贝到远程

scp -r local_folder remote_username@remote_ip:remote_folder 

2. 从远程复制到本地

将远程文件拷贝到本地

scp remote_username@remote_ip:remote_file local_folder

将远程文件夹拷贝到本地

scp -r remote_username@remote_ip:remote_folder local_folder

3. 补充说明

1)使用scp命令时,用户要具有读取远程服务器相应文件的权限, 否则命令会终止

2)如果远程服务器防火墙为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号

#scp 命令使用端口号 4588
scp -P 4588 remote_username@remote_ip:remote_file local_folder

3)我们传输数据时常将其不挂断运行

可能有多种方法,这里只给出我使用nohup时遇到的问题。

nohup和&区别

&: 指在后台运行

nohup: 不挂断的运行,它并没有后台运行的功能,它可以将命令永久得执行,即使我们退出也不会中断。

例:将本地文件拷贝到远程

nohup scp local_file remote_username@remote_ip:remote_folder

我们不要在上述命令后加上“&”符号,可能是传输文件需要输入密码的原因,加上“&”在后台运行任务无法进行。

执行上述命令后提示输入密码,输入密码后会“卡住不动”(传的数据比较大,在运行中),我们想继续做别的事就没法进行,这个时候我们使用Ctrl+Z组合键暂停应用,然后输入命令bg即可启动后台传输任务。为了避免问题,假如我们要关闭服务器,我们尽量使用命令exit退出服务器。

参考:Linux scp命令

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。