大家好,欢迎来到IT知识分享网。
以下是 tar 命令的详细参数用法及示例,整理自权威技术文档和常用实践指南。tar(Tape Archive)是 Linux/Unix 中用于文件归档和压缩的核心工具,支持多种操作模式和压缩算法。
一、核心操作参数
以下参数互斥(同一命令只能使用其中一个):
- -c(创建归档)
将文件/目录打包成 .tar 文件。
tar -cvf archive.tar file1.txt dir/ # 打包 file1.txt 和 dir 目录,显示过程(-v)如图1所示

图1
- -x(提取归档)
解压归档文件到当前目录或指定路径。
tar -xvf archive.tar # 解压到当前目录 如图2所示 tar -xvf archive.tar -C /data# 解压到 /data 目录(-C 指定路径)如图3所示

图2

图3
- -t(列出内容)
查看归档内的文件列表(不解压)。
tar -tvf archive.tar # 显示文件详情(权限、时间等)如图4所示

图4
- -r(追加文件)
➕ 向已有归档中添加新文件。
tar -rvf archive.tar file.txt # 将 file.txt 追加到 archive.tar如图5所示

图5
- -u(更新文件)
仅添加比归档内版本更新的文件。
tar -uvf archive.tar modified.txt # 若 modified.txt 比归档内版本新,则更新如图6所示

图6
- -d(比较差异)
对比归档内容与当前文件的差异。
tar -df archive.tar # 检查归档与本地文件的差异
- –delete(删除文件)
️ 从归档中移除指定文件。
tar --delete -f archive.tar file.txt # 从 archive.tar 中删除 file.txt如图7所示

图7
二、压缩选项
- -z(gzip 压缩)
⚡ 使用 gzip 压缩/解压(生成 .tar.gz)。
tar -czvf archive.tar.gz data/ job/ modified.txt # 压缩为 gzip 格式 如图8所示 tar -xvf archive.tar.gz # 解压 gzip 归档如图9所示

图8

图9
- -j(bzip2 压缩)
⚡ 使用 bzip2 压缩/解压(生成 .tar.bz2)。
tar -cjvf archive.tar.bz2 * # 压缩为 bzip2 格式 如图10所示 tar -xjvf archive.tar.bz2 # 解压 bzip2 归档 如图11所示

图10

图11
- -J(xz 压缩)
⚡ 使用 xz 压缩(生成 .tar.xz),压缩率高但耗时长。
tar -cJvf archive.tar.xz * # 压缩为 xz 格式 如图12所示 tar -xJvf archive.tar.xz # 解压 xz 归档 如图13所示

图12

图13
三、路径与目录控制
- -C(切换目录)
在操作前切换到指定目录。
tar -czvf backup.tar.gz -C /data # 打包 /data 而非完整路径
- -P(保留绝对路径)
默认移除路径开头的 /,此参数保留绝对路径(⚠️ 解压时可能覆盖系统文件)。
tar -cvPf backup.tar /data # 归档保留绝对路径 如图14所示

图14
四、筛选与排除
- –exclude=PATTERN
排除匹配模式的文件/目录。
tar -czvf backup.tar.gz --exclude='*.txt' /data # 排除所有 .txt 文件 如图15所示

图15
- -X(从文件读取排除列表)
按文件内的模式排除。
tar -czvf backup.tar.gz -X exclude.list /data/ # exclude.list 中每行写一个排除模式 如图16所示

图16
五、高级功能
- -p(保留权限)
解压时保留文件权限(常用于系统备份)。
tar -xvpf backup.tar.gz # 解压并恢复原始权限 如图17所示

图17
- –wildcards(通配符匹配)
配合 -t/-x 使用通配符筛选文件。
tar -xvf backup.tar.gz --wildcards '*.txt' # 仅解压 .txt 文件 如图18所示

图18
- -M(多卷归档)
拆分大文件到多卷(如备份到多个磁盘)。
tar -cvMf archive_part.tar data/ # 按默认大小分卷(需交互确认)如图19所示

图19
六、实用示例场景
- 备份并压缩整个目录
tar -czvf home_backup.tar.gz /home # gzip 压缩 /home 目录 如图20所示

图20
- 解压到指定目录并保留权限
tar -xzvpf backup.tar.gz -C /restore如图21所示

图21
- 仅更新归档中的新文件
tar -uvf archive.tar $(find are/ -mtime -1) # 追加 dir/ 下 24 小时内修改的文件 如图22所示

图22
- 排除多个文件类型
tar -czvf src.tar.gz /data/ --exclude='*.tmp' --exclude='*.bak'如图23所示

图23
- 验证归档完整性
tar -tf archive.tar > /dev/null && echo "Archive OK" # 无报错则完整
参数速查表
类型 |
参数 |
作用 |
核心操作 |
-c |
创建归档 |
-x |
解压归档 |
|
-t |
查看内容 |
|
压缩格式 |
-z |
gzip 压缩(.tar.gz) |
-j |
bzip2 压缩(.tar.bz2) |
|
-J |
xz 压缩(.tar.xz) |
|
文件管理 |
-r |
追加文件 |
-u |
更新文件 |
|
–delete |
删除归档内文件 |
|
路径控制 |
-C |
指定解压/打包目录 |
-P |
保留绝对路径 |
|
筛选 |
–exclude |
按模式排除文件 |
-X |
从文件读取排除列表 |
|
高级功能 |
-p |
保留文件权限 |
-v |
显示详细过程 |
提示:完整参数列表可通过 tar –help 查看。使用压缩参数时(如 -z),需确保系统已安装对应压缩工具(如 gzip、bzip2)。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/183855.html