菜鸟-创作你的创作

scp命令

scp 是 Linux/Unix 系统下用于 在本地主机和远程主机之间安全复制文件或目录 的命令,它基于 SSH 协议,传输过程加密,安全可靠。下面给你整理一个全面指南。


一、基本语法

scp [选项] <源路径> <目标路径>

1. 复制本地文件到远程主机

scp /local/path/file.txt user@remote_host:/remote/path/

2. 复制远程文件到本地

scp user@remote_host:/remote/path/file.txt /local/path/

3. 复制目录(递归)

scp -r /local/path/dir user@remote_host:/remote/path/


二、常用选项

参数说明
-r递归复制目录
-P port指定远程 SSH 端口(注意大写 P)
-p保留文件修改时间、访问时间和权限
-q静默模式,不显示传输进度
-C启用压缩,加快传输速度
-v显示详细信息(调试用)

三、示例

1. 复制本地文件到远程服务器(默认 22 端口)

scp file.txt root@192.168.1.10:/home/root/

2. 复制远程文件到本地

scp root@192.168.1.10:/home/root/file.txt /home/localuser/

3. 复制目录到远程(带压缩)

scp -rC /home/localuser/mydir root@192.168.1.10:/home/root/

4. 使用非默认 SSH 端口

scp -P 2222 file.txt root@192.168.1.10:/home/root/


四、注意事项

  1. scp 基于 SSH,所以需要远程主机开启 SSH 服务并可登录。
  2. 文件权限问题可能导致无法写入目标路径,要确保有写权限。
  3. 对大文件或目录建议加 -C 压缩选项。
  4. 如果需要频繁复制文件,也可以考虑使用 rsync,效率更高且支持断点续传。
退出移动版