scp/sftp 实用工具

在不同主机之间传输文件大多使用 FTP、NFS、Samba;不过有时候只是为了临时传输一些文件而已,为此还要安装配置这些服务,不免有些麻烦;这里向大家介绍两个好用的工具:scp、sftp。

scp

scp 是 secure copy 的缩写,scp 是 linux 系统下基于 ssh 协议进行安全传输文件的工具。
使用 scp 很简单,就像使用大家熟知的 cp 命令一样,只不过 scp 支持在不同主机之间拷贝。

scp [OPTIONS...] SRC_PATH DST_PATH
# -C 选项,启用压缩
# -p 选项,保留文件属性
# -r 选项,递归复制(文件夹)
# -P 选项,指定ssh服务器端口
# -q 选项,不显示传输进度

## 命令举例
scp -Cpr test.file root@1.2.3.4:/root/test.file # 将 test.file 拷贝至 1.2.3.4 的 /root/test.file
scp -Cpr test.file root@1.2.3.4:test.file       # 同上,相对路径是基于当前家目录的
scp -Cpr test.file root@1.2.3.4:                # 同上,相对路径是基于当前家目录的
scp -Cpr root@1.2.3.4:test.file .               # 将 1.2.3.4 的 /root/test.file 拷贝至 test.file

sftp

sftp 与 scp 类似,也是通过 ssh 协议进行文件操作,不过 sftp 的功能比 scp 强大,可以进行 FTP 操作;
连接到 ssh 服务器:sftp root@1.2.3.4;然后就可以使用命令传输文件了(具体用法请使用 help 查看)。

使用别名
如果你配置了 ssh 别名(~/.ssh/config文件),那么它同样适用于 scp/sftp 工具,毕竟是基于 ssh 嘛。