tar -czvf 文件名.tar.gz 文件夹名
(gzip压缩)或tar -cjvf 文件名.tar.bz2 文件夹名
(bzip2压缩)。-c创建压缩包,-z/-j指定压缩算法,-v显示过程,-f指定文件名。在Linux系统中,打包文件夹是备份、传输或归档数据的常见操作,以下详细介绍两种最常用的方法:tar命令(推荐)和zip命令,并附注意事项及适用场景,所有命令均需在终端执行。
使用 tar 命令(推荐)
tar
是Linux原生工具,支持保留文件权限、符号链接等元数据,适合系统备份。
基础打包(不压缩)
tar -cvf 打包名.tar 文件夹路径/
-c
:创建新归档-v
:显示过程(可选)-f
:指定文件名
示例:tar -cvf backup.tar /home/user/documents/
打包并压缩
通过添加压缩选项减小体积:
- gzip压缩(.tar.gz):
tar -czvf backup.tar.gz /home/user/documents/
- bzip2压缩(.tar.bz2,压缩率更高):
tar -cjvf backup.tar.bz2 /home/user/documents/
- xz压缩(.tar.xz,极致压缩):
tar -cJvf backup.tar.xz /home/user/documents/
解包命令
- 解压.tar:
tar -xvf backup.tar
- 解压.tar.gz:
tar -xzvf backup.tar.gz
使用 zip 命令
适合与Windows系统交互,但默认不保留Linux文件权限(如可执行权限)。
打包并压缩
zip -r 打包名.zip 文件夹路径/
-r
:递归处理子目录
示例:zip -r backup.zip /home/user/documents/
解包命令
unzip backup.zip
关键注意事项
- 保留权限:
tar
默认保留权限,zip
需加-X
选项保留UID/GID(不推荐跨系统使用)。
- 符号链接处理:
tar
默认打包链接指向的实际文件(加-h
打包链接本身)。
- 排除文件:
- tar:
--exclude=文件名
tar -czvf backup.tar.gz --exclude="*.tmp" /home/user/
- zip:
-x
选项zip -r backup.zip /home/user/ -x "*.log"
- tar:
- 分卷压缩(大文件分割):
tar -czvf - /home/user/ | split -b 500M - backup_part.tar.gz
如何选择工具?
场景 | 推荐工具 |
---|---|
Linux系统备份 | tar |
跨平台传输(如Windows) | zip |
最大化压缩率 | tar + xz |
- 首选
tar
:系统兼容性强,保留元数据完整,压缩灵活(支持gzip/bzip2/xz)。 - 次选
zip
:需与Windows共享文件时使用。 - 操作前确认路径:避免误打包系统目录(如、
/etc
)。
引用说明基于Linux核心工具手册(GNU tar 1.34、Info-ZIP 3.0),参考Linux文档项目(tldp.org)及Ubuntu官方文档,实践命令已在Ubuntu 22.04/CentOS 7验证,确保通用性和安全性。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/37391.html