terminus连接至服务器1,输入以下命令:
scp -r 服务器1中要移动的文件位置 服务器2中的目标地址,要写全(例如:ubuntu@172.xx.x.14:/home/ubuntu/hello/envs)
与此同时你要准备好服务器2的密码
linux scp后台运行的办法
scp 需要在前台输入密码,然后慢慢等着传输完成,但是在传很大数据的时候,长时间占用当前的窗口很是不方便,其实是有命令可以把scp放到后台的。
先介绍几个用到的命令。
首先需要注意区分【任务】和【进程】,任务是对于人来说,人与系统的交互接口就是命令,可以理解为一个任务就相当于一个命令,而进程是相对计算机来说,计算机执行一个任务可以包含多个进程,两个都用id号来标识。
ctrl + z : 将当前任务暂停并挂载至后台,但是此任务并没有结束,它只是被系统挂起,等待唤醒(ctrl+c是强制结束)
jobs : 查看当前后台中的任务
bg %n :将后台id为n的任务由暂停变成继续执行(stopped -> running),但仍在后台执行
fg %n : 将后台id为n的任务提到前台执行
disown -h %n:使id为n的任务忽略HUP信号,和 nohup 的功能类似,当使用过 disown 之后,会将把目标任务从任务列表中移除,我们将不能再使用jobs来查看它,但是依然能够用ps -ef查找到它
具体操作方法如下:
输入scp命令且输完密码后
1.ctrl + z暂停任务,此时scp被系统挂起

前面的 [1] 代表此任务的id
2.也可以用jobs查看

3.使用下述命令,将scp在后台继续运行:
bg %1

4.使用下属命令设置scp任务忽略HUP信号
disown -h %1
5.查询任务运行情况
ps -ef | grep scp

任务已经在后台正常运行,画框那个地方是父进程id,如果你退出再登录会发现父进程号变为1,证明词进程已经交由系统进程管理。