scp
scp 用于 Linux 之间复制文件和目录。scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。scp命令是加密的,rcp命令 是不加密的,scp 是 rcp 的加强版。
格式
scp [可选参数] file_source file_target
常用参数
- -p:保留原文件的修改时间,访问时间和访问权限
- -q: 不显示传输进度条
- -r: 递归复制整个目录
- -P port:注意是大写的P, port是指定数据传输用到的端口号
从本地复制到远程
命令格式:
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 /home/olive/1.mp3 root@120.90.12.144:/home/root/
scp /home/olive/1.mp3 root@120.90.12.144:/home/root/001.mp3
scp /home/olive/1.mp3 120.90.12.144:/home/root/
scp /home/olive/1.mp3 120.90.12.144:/home/root/c/001.mp3
复制目录命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
- 第1个指定了用户名,命令执行后需要再输入密码;
- 第2个没有指定用户名,命令执行后需要输入用户名和密码;
应用实例:
scp -r /home/olive/music/ root@120.90.12.144:/home/root/
scp -r /home/olive/music/ 120.90.12.144:/home/root/
上面命令将本地 music 目录复制到远程 root目录下。
从远程复制到本地
从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可,如下实例
应用实例:
scp root@120.90.12.144:/home/root/music/001.mp3 /home/olive/music/1.mp3
scp -r 120.90.12.144:/home/root/music /home/olive/music/
说明
- 如果远程服务器防火墙有为scp命令设置了指定的端口,则需要使用 -P 参数来设置端口号,格式如下:
#scp 命令使用端口号 6001
scp -P 6001 root@120.90.12.144:/usr/olive/start.sh /home/olive
- 使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令无法使用。