
scp本质是通过SSH加密通道安全复制文件,需掌握本地→远程、远程→本地、远程→远程三种路径格式,注意端口用-P、传目录加-r、提速可用-C压缩或改用rsync。
Linux 下用 scp 传文件,本质就是通过 SSH 加密通道做安全复制,操作简单但细节容易出错。掌握几个关键格式和常见场景,基本就能覆盖日常需求。
scp 的核心是“谁传给谁”,方向分本地→远程、远程→本地、远程→远程(需中转)。关键在于路径写法和冒号位置:
scp /path/to/local/file user@host:/path/to/remote/
scp user@host:/path/to/remote/file /path/to/local/
scp user1@host1:/file user2@host2:/dest(需本机能同时 SSH 登录两台)很多服务器改了 SSH 端口(比如 2222),不指定就会连不上。注意是大写 -P(小写 -p 是保留
文件属性):
scp -P 2222 file.txt user@host:/home/user/ssh: connect to host xxx port 22: Connection refused,大概率就是端口问题默认 scp 只传文件,传文件夹必须显式加 -r(recursive):
scp -r ./myproject/ user@host:/var/www/ —— 注意目录末尾斜杠影响行为(带斜杠表示复制内容,不带表示复制整个目录名)./myproject/(结尾有 /)避免嵌套一层默认传输没压缩、不显示进度,大文件体验差。加几个参数立刻改善:
scp 本身不支持,可用 rsync -avz --progress 替代(功能更强,推荐进阶使用)基本上就这些。不用记太多,把路径、用户、主机、端口、-r/-P 这几个要素理清,90% 的场景都能搞定。