Linux之scp命令及后台运行scp

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
不仅可以把本地文件复制到远程服务器,也可以在本地操作,把远程文件从远程复制到本地。

1、从本地复制到远程

命令格式:

scp  local_file  remote_username@remote_ip:remote_folder 
或者 
scp  local_file  remote_username@remote_ip:remote_file 
或者 
scp  local_file  remote_ip:remote_folder 
或者 
scp  local_file  remote_ip:remote_file 

第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

复制目录命令格式:

scp -r  local_folder  remote_username@remote_ip:remote_folder 
或者 
scp -r  local_folder  remote_ip:remote_folder 

2、从远程复制到本地

从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可,如下实例

scp -r  remote_username@remote_ip:remote_folder  local_folder
或者 
scp -r  remote_ip:remote_folder  local_folder

3、后台运行

一般,我们拷贝的文件都很大,想让scp在后台运行。通常我们要建立ssh 信任关系。即不输入密码就能拷贝,但是通常情况下这样的条件不能满足。可以用下面的方法来实现后台运行scp:

  1. scp remote_username@remote_ip:remote_file local_folder
  2. 输入密码,回车。
  3. Ctrl+z,挂起当前进程。
  4. bg,让挂起的进程继续运行。

当然你也可以使用下面的命令查看后台任务或者将任务切换到前台:

jobs      //查看任务,返回任务编号n和进程号

bg  %n   //将编号为n的任务转后台运行

fg  %n   //将编号为n的任务转前台运行

ctrl+z    //挂起当前任务

ctrl+c    //结束当前任务

你可能感兴趣的:(Linux)