您好,登录后才能下订单哦!
# Linux下怎么上传、下载文件
在Linux系统中,文件传输是日常运维和开发中的高频操作。本文将详细介绍命令行和图形界面下多种文件上传下载方法,涵盖本地与远程服务器间的数据传输场景。
---
## 一、命令行工具
### 1. SCP(Secure Copy Protocol)
基于SSH的安全文件传输工具,适合本地与远程服务器间加密传输。
**上传文件到远程服务器**:
```bash
scp /local/path/file.txt username@remote_host:/remote/path/
下载远程文件到本地:
scp username@remote_host:/remote/path/file.txt /local/path/
常用参数:
- -P
指定非默认SSH端口
- -r
递归传输目录
- -C
启用压缩传输
交互式安全文件传输,适合需要浏览目录的场景。
基本用法:
sftp username@remote_host
连接后使用命令:
- put local_file
上传文件
- get remote_file
下载文件
- ls
查看远程目录
- lls
查看本地目录
增量同步工具,适合大文件或需要保持同步的场景。
同步本地到远程:
rsync -avz /local/path/ username@remote_host:/remote/path/
从远程同步到本地:
rsync -avz username@remote_host:/remote/path/ /local/path/
优势:
- 断点续传(--partial
)
- 排除特定文件(--exclude
)
- 带宽限制(--bwlimit
)
直接下载网络文件到本地。
wget示例:
wget https://example.com/file.zip -O /path/to/save.zip
curl示例:
curl -o /path/to/save.zip https://example.com/file.zip
对比:
工具 | 特点 |
---|---|
wget | 支持递归下载、断点续传 |
curl | 支持更多协议(如FTP/SMB) |
支持图形化SFTP操作:
1. 按 Ctrl+L
输入地址栏
2. 输入 sftp://username@remote_host/path
3. 通过拖拽完成文件传输
跨平台FTP/SFTP客户端: - 支持多线程传输 - 提供站点管理器功能 - 可视化传输队列管理
KDE桌面默认文件管理器: - 内置Fish协议支持 - 可直接挂载远程目录为本地驱动器
rsync --progress -h
tar czvf - bigfile | split -b 2G - bigfile.tar.gz.
# 接收方监听端口
nc -l 1234 > received_file
# 发送方传输文件
nc 接收方IP 1234 < send_file
rclone copy /local/path remote:bucket_name
避免使用明文协议:
密钥管理:
ssh-keygen -t ed25519
ssh-copy-id user@host
传输监控:
pv
监控传输进度:
tar cf - /data | pv | ssh user@host "tar xf - -C /backup"
并行传输:
parallel-scp -h hosts.list -l user -r /local/path /remote/path
传输前压缩:
tar czf - /folder | ssh user@host "tar xzf - -C /destination"
带宽限制:
rsync --bwlimit=1000 -avz /source user@host:/dest
通过合理选择工具和方法,Linux环境下的文件传输既安全又高效。建议根据实际场景组合使用上述方案,例如日常小文件用SCP,定期备份用rsync,临时分享用Python HTTP服务等。 “`
注:实际字符数约1100字(含代码块)。可根据需要增减具体工具的示例或调整技术细节的深度。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。