linux 命令 tar

Linux 的 tar 命令用于文件的打包、压缩和解压缩,是管理归档文件的常用工具。以下是其核心用法和常见场景:

基本语法

tar [选项] [归档文件名] [文件或目录列表] 

 核心功能与选项

 

1. 创建归档文件

  • -c:创建新归档文件。

  • -f:指定归档文件名(必须直接跟文件名)。

  • -v:显示操作过程(可选)。

  • -z:使用 gzip 压缩(.tar.gz 或 .tgz)。

  • -j:使用 bzip2 压缩(.tar.bz2)。

  • -J:使用 xz 压缩(.tar.xz,高压缩率)。

示例:

tar -cvf archive.tar file1.txt dir1/      # 打包不压缩
tar -czvf archive.tar.gz file1.txt dir1/  # 打包并用 gzip 压缩
tar -cjvf archive.tar.bz2 dir1/           # 打包并用 bzip2 压缩 

 2. 解压归档文件

  • -x:解压归档文件。

  • -C:指定解压目标目录(默认当前目录)

 示例:

tar -xvf archive.tar             # 解压普通 tar 包
tar -xzvf archive.tar.gz         # 解压 gzip 压缩包
tar -xjvf archive.tar.bz2 -C /tmp  # 解压到 /tmp 目录

tar -zxvf jdk-8u181-linux-x64.tar.gz -C ~/training/  # 解压到 /training 目录   ~ 来引用用户的主目录

 


 3. 查看归档内容

 -t:列出归档文件内容(不解压)。

 tar -tvf archive.tar.gz    # 查看压缩包内文件列表

 4. 追加文件到归档

 -r:向已存在的归档文件追加文件(仅适用于未压缩的 .tar 文件)。

 tar -rvf archive.tar newfile.txt  # 追加文件到 archive.tar

 常用场景示例

1. 打包并压缩目录 

 tar -czvf backup_$(date +%Y%m%d).tar.gz /path/to/dir/

 2. 解压到指定目录

 tar -xzvf archive.tar.gz -C /target/dir/

3. 排除特定文件/目录 

tar -czvf backup.tar.gz --exclude="*.tmp" --exclude="logs/" dir1/ 

 4. 分卷压缩(拆分归档)

 tar -czvf - /large_dir/ | split -b 2G - backup_part.tar.gz
# 合并分卷:cat backup_part.tar.gz* | tar -xzvf -

5. 仅更新新文件 

tar -czvf backup.tar.gz --newer "2024-01-01" /path/to/dir/  # 打包 2024 年后修改的文件 

6. 加密压缩(需配合工具) 

tar -czvf - secret_files/ | gpg --symmetric -o secret.tar.gz.gpg  # 输入密码加密 

 

压缩格式对比

选项压缩格式后缀名压缩率速度
-zgzip.tar.gz中等
-jbzip2.tar.bz2较高较慢
-Jxz.tar.xz最高最慢

注意事项

  1. 路径问题

    • 打包时尽量在目标目录的父目录操作,避免解压后包含冗长路径。

    • 使用 -P 选项保留绝对路径(默认相对路径)。

  2. 覆盖风险

    • 解压时若文件已存在,默认会覆盖!可用 --keep-old-files 保留旧文件。

  3. 权限保留

    • 使用 -p 保留文件权限(如解压系统文件时需注意)。

  4. 处理特殊文件名

    • 文件名含空格或特殊字符时,用引号包裹或转义。


快捷命令

操作命令
解压任意格式tar -xvf archive.*
快速压缩目录tar -czf dir.tar.gz dir/
查看压缩包内容tar -tzf archive.tar.gz
仅解压特定文件tar -xzvf archive.tar.gz file1.txt

通过灵活组合选项,tar 可以高效管理归档文件。更多细节可通过 man tar 查看手册。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愿与狸花过一生

盛时常作衰时想 上场当念下场时

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值