Linux-scp命令
scp(Secure Copy Protocol)是基于 SSH 的安全文件传输命令,用于在当地和长途主机之间加密传输文件或目录。以下是详细用法和示例:根本语法
scp [选项] 源文件 目标路径
常用选项
选项描述-P 端口号指定 SSH 端口(默认 22)-r递归复制目录(传输文件夹时必选)-C启用压缩(节省带宽)-v表现详细传输信息(调试用)-p保留文件权限和时间戳-i 密钥文件使用指定的 SSH 私钥文件 常见场景示例
1. 当地 → 长途
# 复制文件到远程主机的 /home/user 目录
scp local_file.txt user@remote_host:/home/user/
# 指定 SSH 端口(如 2222)
scp -P 2222 local_file.txt user@remote_host:/path/
# 复制整个目录
scp -r local_dir/ user@remote_host:/path/
2. 长途 → 当地
# 从远程主机下载文件到当前目录
scp user@remote_host:/path/remote_file.txt .
# 从远程主机下载目录
scp -r user@remote_host:/path/remote_dir/ .
3. 长途 → 长途
# 直接在两台远程主机间传输(文件流经本地)
scp user@remote_host1:/path/file.txt user@remote_host2:/path/
高级用法
1. 使用 SSH 密钥认证
# 指定密钥文件(避免密码输入)
scp -i ~/.ssh/id_rsa local_file.txt user@remote_host:/path/
2. 限定传输带宽(单位:Kbit/s)
scp -l 1000 large_file.iso user@remote_host:/path/# 限制为 1000 Kbit/s
3. 静默模式(不表现进度)
scp -q local_file.txt user@remote_host:/path/
注意事项
[*] 路径格式:
[*]当地路径:/path/to/file 或 ./file
[*]长途路径:user@host:/path/to/file
[*] 权限题目:
[*]确保目的路径有写入权限。
[*]若使用非默认 SSH 端口,必须通过 -P 指定。
[*] 文件名特殊字符:
[*]若文件名含空格或特殊字符,用引号包裹路径:scp "file name.txt" user@host:/path/
替代工具推荐
[*]rsync:更高效的文件同步工具,支持增量传输。
[*]sftp:交互式文件传输,适合复杂操作。
[*]rsync over SSH:结合 SSH 加密和 rsync 的高效性:rsync -avz -e 'ssh -p 2222' local_dir/ user@remote_host:/path/
若遇到题目,可通过 scp -v 查察详细日记排查错误。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]