当前位置: 首页 > news >正文

Linux 上常见的解压缩命令

文章目录

  • Linux 上常见的解压缩命令
    • 常见格式的解压方式
      • 1. `.tar` 文件(只经过 `tar` 打包)
      • 2. `.tar.gz` 或 `.tgz` 文件(`tar` + `gzip`)
      • 3. `.tar.bz2` 文件(`tar` + `bzip2`)
      • 4. `.tar.xz` 文件(`tar` + `xz`)
      • 5. `.gz` 文件(只经过 `gzip` 压缩)
      • 6. `.bz2` 文件(只经过 `bzip2` 压缩)
      • 7. `.xz` 文件(只经过 `xz` 压缩)
      • 8. `.zst` 文件(`zstd` 压缩文件)
      • 9. `.lz4` 文件(`lz4` 压缩文件)
      • 10. `.zip` 文件(`zip` 压缩文件)
      • 11. `.rar` 文件(`rar` 压缩文件)
      • 12. `.7z` 文件(`7zip` 压缩文件)
    • 自动识别文件格式并解压

Linux 上常见的解压缩命令

在 Linux 系统中,常用的解压命令有很多,具体根据压缩文件的格式来选择。

常见格式的解压方式

1. .tar 文件(只经过 tar 打包)

tar -xvf file.tar
  • -x:解压

  • -v:显示过程(verbose,可选)

  • -f:指定文件名

  • -C:指定解压到的目录

  • --strip-components:从解压路径中去除指定数量的目录层级

    示例:

    tar -xvf file.tar -C /path/to/directory/
    

2. .tar.gz.tgz 文件(tar + gzip

tar -xzvf file.tar.gz
  • -z:使用 gzip 进行解压
  • -C:指定解压到的目录

示例:

tar -xzvf file.tar.gz -C /path/to/directory/

3. .tar.bz2 文件(tar + bzip2

tar -xjvf file.tar.bz2
  • -j:使用 bzip2 进行解压
  • -C:指定解压到的目录

示例:

tar -xjvf file.tar.bz2 -C /path/to/directory/

4. .tar.xz 文件(tar + xz

tar -xJvf file.tar.xz
  • -J:使用 xz 进行解压
  • -C:指定解压到的目录

示例:

tar -xJvf file.tar.xz -C /path/to/directory/

5. .gz 文件(只经过 gzip 压缩)

gunzip file.gz

或者

gzip -d file.gz
  • -c:指定解压到的目录(需要重定向)

示例:

gunzip -c file.gz > /path/to/directory/file

注意:重定向是指将命令的输出结果保存到指定的文件或目录中。使用 > 符号可以将解压后的内容重定向到目标文件。

6. .bz2 文件(只经过 bzip2 压缩)

bunzip2 file.bz2
  • -c:指定解压到的目录(需要重定向)

示例:

bunzip2 -c file.bz2 > /path/to/directory/file

7. .xz 文件(只经过 xz 压缩)

unxz file.xz
  • -c:指定解压到的目录(需要重定向)

示例:

unxz -c file.xz > /path/to/directory/file

8. .zst 文件(zstd 压缩文件)

unzstd file.zst

或者

zstd -d file.zst
  • -o:指定解压到的目录

示例:

unzstd file.zst -o /path/to/directory/file

9. .lz4 文件(lz4 压缩文件)

lz4 -d file.lz4
  • -o:指定解压到的目录

示例:

lz4 -d file.lz4 -o /path/to/directory/file

10. .zip 文件(zip 压缩文件)

unzip file.zip
  • -d:指定解压到的目录

示例:

unzip file.zip -d /path/to/directory/

如果没有 unzip 命令,首先需要安装:

sudo apt install unzip  # Debian/Ubuntu 系统

11. .rar 文件(rar 压缩文件)

unrar x file.rar
  • -o+:覆盖现有文件
  • -o-:不覆盖现有文件

示例:

unrar x file.rar /path/to/directory/

如果没有 unrar 命令,首先需要安装:

sudo apt install unrar  # Debian/Ubuntu 系统

12. .7z 文件(7zip 压缩文件)

7z x file.7z
  • -o:指定解压到的目录

示例:

7z x file.7z -o/path/to/directory/

如果没有 7z 命令,首先需要安装:

sudo apt install p7zip-full  # Debian/Ubuntu 系统

上述的这些命令覆盖了大部分常见的压缩文件格式,选择对应的解压命令即可。

自动识别文件格式并解压

如果你经常需要处理压缩文件,可以考虑写一个简单的 Shell 脚本,让它自动识别文件格式并选择合适的解压命令,比如:

#!/bin/bash

if [ $# -ne 1 ]; then
    echo "用法: $0 <压缩文件>"
    exit 1
fi

file="$1"

case "$file" in
    *.tar) tar -xvf "$file" ;;
    *.tar.gz|*.tgz) tar -xzvf "$file" ;;
    *.tar.bz2) tar -xjvf "$file" ;;
    *.tar.xz) tar -xJvf "$file" ;;
    *.gz) gunzip "$file" ;;
    *.bz2) bunzip2 "$file" ;;
    *.xz) unxz "$file" ;;
    *.zst) unzstd "$file" ;;
    *.lz4) lz4 -d "$file" ;;
    *.zip) unzip "$file" ;;
    *.rar) unrar x "$file" ;;
    *.7z) 7z x "$file" ;;
    *) echo "不支持的文件格式: $file" ;;
esac

保存为 extract.sh,然后给它可执行权限:

chmod +x extract.sh

以后就可以用 ./extract.sh 文件名 直接解压,大大提高效率!💡

相关文章:

  • STM32F407——RTC实时时钟
  • 从Excel文件中读取数据
  • 字符串算法题
  • 在 Kaggle 中绘制中文乱码解决
  • 相对论-空间和时间(2)
  • 神聖的綫性代數速成例題5. 矩陣運算的定義、轉置的性質、方陣多項式的概念
  • Android 英文文章选词
  • 【Go】函数闭包、堆和栈的概念
  • android ConstraintLayout布局 实战:打造复杂界面的最佳实践
  • Go语言--语法基础3--变量常量运算符--变量
  • 1.8PageTable
  • CSS选择器
  • 93.HarmonyOS NEXT窗口管理基础教程:深入理解WindowSizeManager
  • 蓝桥杯学习-12递归
  • git基础概念和操作
  • 2025年西安交通大学少年班招生考试初试数学试题(初中组)
  • 【TCP】三次挥手,四次挥手详解--UDP和TCP协议详解
  • 继承知识点—详细
  • EMC整改黄金搭档:共模滤波器与磁环
  • Qt中的 #include “xxxx.moc“ 说明
  • Django可以做门户网站吗/绍兴seo排名收费
  • b2b2c平台网站建设/站长资源平台
  • 模板网站区别/seo工程师招聘
  • 百度网站怎么做的赚钱吗/品牌策略怎么写
  • app定制公司/新乡网站seo
  • asp.net做网站视频/国外网站加速