SCP(Secure Copy Protocol)是基于SSH的安全文件传输命令,可以在本地和远程系统之间安全地复制文件。
scp [选项] 源文件 目标文件
选项 | 描述 |
---|---|
-r | 递归复制整个目录 |
-P | 指定远程主机的端口号 |
-p | 保留文件的修改时间、访问时间和权限 |
-v | 显示详细的传输过程 |
-C | 启用压缩传输 |
-q | 静默模式,不显示传输进度 |
# 复制文件到远程主机
scp local_file user@remote_host:/remote/directory
# 复制目录到远程主机(使用-r递归)
scp -r local_dir user@remote_host:/remote/directory
# 指定端口号(非默认22端口时)
scp -P 2222 local_file user@remote_host:/remote/directory
# 从远程主机复制文件到本地
scp user@remote_host:/remote/file /local/directory
# 从远程主机复制目录到本地
scp -r user@remote_host:/remote/dir /local/directory
# 从远程主机1复制到远程主机2
scp user1@host1:/file1 user2@host2:/file2
# 保留文件的时间戳和权限
scp -p file user@remote_host:/remote/directory
# 对大文件启用压缩传输
scp -C large_file user@remote_host:/remote/directory
使用别名简化命令:
在~/.bashrc
中添加别名:
alias scp='scp -p -C'
限制带宽使用:
scp -l 800 file user@remote_host:/remote/directory # 限制为100KB/s (800Kbit/s)
使用SSH配置文件:
在~/.ssh/config
中预先配置主机信息,可以简化scp命令:
Host myserver
HostName server.example.com
User myuser
Port 2222
然后使用:
scp file myserver:/remote/directory
希望这份指南能帮助你高效使用SCP命令进行文件传输!