上一篇
场景引入:
凌晨3点,你正远程调试服务器,突然发现关键日志文件还在远程机器上 😱,此时要是不会Linux文件传输命令,难道要打车回公司拷U盘?别慌!掌握这些命令,分分钟搞定文件传输,继续摸鱼(划掉)加班!
方式 | 适用场景 | 特点 |
---|---|---|
scp |
加密传输/跨服务器 | 需要SSH权限,速度中等 |
rsync |
大文件/增量同步 | 支持断点续传,效率王者 |
sftp |
交互式操作 | 类似FTP的SSH安全版 |
wget/curl |
下载网络文件 | 支持HTTP/FTP协议 |
# 上传本地文件到远程服务器 scp ~/Documents/report.txt user@192.168.1.100:/home/user/ # 上传整个目录(加-r参数) scp -r ~/project_folder user@server:/path/to/destination
💡 小技巧:用-P
指定非默认SSH端口(注意是大写P):
scp -P 2222 local_file user@host:/remote_path
# 同步本地目录到远程(显示进度) rsync -avzP --progress ~/photos/ user@host:/backup/photos/ # 排除特定文件 rsync -avz --exclude='*.tmp' source_dir/ user@host:target_dir/
🌟 优势:只传输变化的部分,节省带宽和时间!
sftp user@host put local_file.txt /remote/path # 上传 mput *.jpg # 批量上传
# 下载远程文件到本地 scp user@host:/remote/file.txt ~/Downloads/ # 下载整个目录 scp -r user@host:/remote/folder ~/local_path
# 下载单个文件 wget https://example.com/file.zip # 断点续传(-c参数) wget -c http://large.file/big.iso
# 下载文件并重命名 curl -o renamed_file.tar.gz https://example.com/original.tar.gz # 显示进度条 curl -# -O https://mirror.iso/latest.iso
# 从远程同步到本地 rsync -avz user@host:/server/logs/ ~/local_logs/
scp -l 1000 file.txt user@host:/path # 限速1Mbps(单位是Kbit/s) rsync --bwlimit=5000 -avz large_file user@host:/path # 限速5Mbps
nohup scp big_file user@host:/path/ > transfer.log 2>&1 &
rsync -avzu --ignore-existing user@host:/source/ /local/ # 仅传输新文件
tar czf - folder/ | ssh user@host "tar xzf - -C /remote_path"
Q:传输中断怎么办?
A:用rsync -P
或wget -c
支持断点续传
Q:提示权限被拒绝?
A:检查目标目录权限:
ssh user@host "ls -ld /target/path" # 确认可写权限
Q:速度太慢?
A:尝试:
-C
参数启用压缩(如scp -C
) scp -c aes128-gcm@openssh.com
掌握这些命令后,你可以:
✅ 秒传代码到服务器部署
✅ 快速备份数据库到本地
✅ 跨国同步大文件不卡顿
下次遇到文件传输需求,不用再手忙脚乱找工具啦!🎉 建议收藏本文,随用随查~
(注:所有命令测试环境为Linux内核5.15+,更新于2025年7月)
本文由 殳香桃 于2025-07-31发表在【云服务器提供商】,文中图片由(殳香桃)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/490489.html
发表评论