Linux 文件传输与归档工具详解
1. tar - 归档工具
使用场景
- 将多个文件/目录打包成单个文件(不压缩)
- 保留文件权限和属性
- 常用于备份和软件分发
常用命令
tar -cvf archive.tar file1 file2 dir/
tar -xvf archive.tar
tar -tvf archive.tar
tar -czvf archive.tar.gz files/
tar -cjvf archive.tar.bz2 files/
tar -xzvf archive.tar.gz
tar -xjvf archive.tar.bz2
参数说明
参数 |
作用 |
-c |
创建归档 |
-x |
提取归档 |
-z |
使用gzip压缩 |
-j |
使用bzip2压缩 |
-v |
显示详细过程 |
-f |
指定文件名 |
2. unzip - ZIP解压工具
使用场景
- 解压Windows创建的ZIP文件
- 处理Java/JAR等基于ZIP格式的文件
常用命令
unzip file.zip
unzip file.zip -d /target/path
unzip -l file.zip
unzip -P password file.zip
参数说明
参数 |
作用 |
-d |
指定解压目录 |
-l |
仅列出内容 |
-P |
使用密码解压 |
3. scp - 安全复制
使用场景
- 本地与远程服务器间加密传输文件
- 简单的单文件传输需求
常用命令
scp file.txt user@remote:/path/to/dest
scp user@remote:/path/file.txt /local/path
scp -r dir/ user@remote:/path/
scp -P 2222 file.txt user@remote:/path/
参数说明
参数 |
作用 |
-r |
递归复制目录 |
-P |
指定SSH端口 |
-C |
启用压缩传输 |
4. sftp - 安全文件传输
使用场景
常用命令
sftp user@remote
put local_file
get remote_file
ls
lls
cd /remote/path
lcd /local/path
exit
与scp对比
特性 |
scp |
sftp |
交互式 |
❌ |
✅ |
目录浏览 |
❌ |
✅ |
脚本友好 |
✅ |
❌ |
断点续传 |
❌ |
✅ |
5. rsync - 增量同步工具
使用场景
- 大规模文件同步/备份
- 需要增量传输的场景
- 本地/远程目录镜像
常用命令
rsync -avz src/ dest/
rsync -avz /local/path user@remote:/remote/path
rsync -avz --exclude='*.tmp' src/ dest/
rsync --bwlimit=100 -avz src/ dest/
rsync --delete -avz src/ dest/
核心参数
参数 |
作用 |
-a |
归档模式(保留权限等) |
-v |
显示详细过程 |
-z |
压缩传输 |
--progress |
显示传输进度 |
--dry-run |
试运行(不实际操作) |
工具对比与选择指南
工具 |
最佳场景 |
传输加密 |
增量传输 |
目录操作 |
tar |
归档/备份 |
❌ |
❌ |
✅ |
unzip |
解压ZIP |
❌ |
❌ |
✅ |
scp |
简单加密传输 |
✅ |
❌ |
✅ |
sftp |
交互式传输 |
✅ |
❌ |
✅ |
rsync |
增量同步 |
✅ |
✅ |
✅ |
黄金法则:
- 单文件快速传输 →
scp
- 需要交互操作 →
sftp
- 定期备份/同步 →
rsync
- Windows兼容归档 →
unzip
- Linux系统归档 →
tar
作者:admin 创建时间:2025-05-29 09:48
最后编辑:admin 更新时间:2025-05-29 13:26