Linux-压缩和解压的详细使用

压缩和解压

压缩文件的格式

常见的 Shell 压缩文件格式包括以下几种:

  1. .tar:tar 是将多个文件或目录打包成一个文件的命令,常用于备份。打包后的文件没有被压缩,只是将多个文件打包在一起。例如:tar -cvf file.tar /path/to/dir

  2. .gz:gzip 是将文件压缩成 .gz 格式的命令,压缩后会生成一个新的 .gz 文件,原始文件被删除。例如:gzip file.txt

  3. .tar.gz 或 .tgz:将多个文件或目录先打包成 .tar 文件,再用 gzip 压缩生成 .tar.gz 或 .tgz 文件。例如:tar -czvf file.tar.gz /path/to/dir

  4. .bz2:bzip2 是将文件压缩成 .bz2 格式的命令,压缩后会生成一个新的 .bz2 文件,原始文件被删除。例如:bzip2 file.txt

  5. .tar.bz2:将多个文件或目录先打包成 .tar 文件,再用 bzip2 压缩生成 .tar.bz2 文件。例如:tar -cjvf file.tar.bz2 /path/to/dir

  6. .xz:xz 是将文件压缩成 .xz 格式的命令,压缩后会生成一个新的 .xz 文件,原始文件被删除。例如:xz file.txt

  7. .tar.xz:将多个文件或目录先打包成 .tar 文件,再用 xz 压缩生成 .tar.xz 文件。例如:tar -cJvf file.tar.xz /path/to/dir

需要注意的是,以上压缩命令都是在 Linux 系统中使用的命令,如果在 Windows 系统中使用需要安装相应的软件。

tar

tar 是一个常用的归档工具,可以将多个文件或目录打包成一个文件。tar 命令的基本语法如下:

tar [选项] 目标文件名 源文件

其中,选项 表示要对归档进行的操作,可以是以下几种:

  • -c:创建一个新的归档文件。
  • -x:从归档文件中提取文件。
  • -f:指定归档文件的名称。
  • -v:显示在归档文件中添加或提取的文件列表。
  • -z:使用 gzip 压缩/解压缩。
  • -j:使用 bzip2 压缩/解压缩。
  • -J:使用 xz 压缩或解压
  • -d:解压文件

下面是一些常用的 tar 命令示例:

  • 创建一个压缩文件:

    .tar 归档到tar
    .gz 使用gz打包

    -czf .tar.gz
    -cJf .tar.xz
    -cjf .tar.bz2

    tar -czvf 文件名.tar.gz 源文件
    ```
    
    这个命令将会对 `源文件` 进行 gzip 压缩,并将压缩后的文件保存为 `文件名.tar.gz`。
    
    [root@localhost 4-10]# tar czvf passwd.tar.gz  passwd
    passwd				#这是选项中加了v的缘故
    [root@localhost 4-10]# ls
    passwd  passwd.tar.gz  pem  pem2
    
    

    压缩成 .xz格式的文件

    [root@localhost 4-10]# tar fJc passwd.tar.xz passwd
    [root@localhost 4-10]# ls
    passwd  passwd.tar.gz  passwd.tar.xz  pem  pem2
    
  • 解压一个压缩文件:

    tar -xzvf 文件名.tar.gz
    ```
    
    这个命令将会解压缩 `文件名.tar.gz` 文件,并将其中的文件提取到当前目录下。
    
    [root@localhost 3-14]# tar xf boot.tar.gz 
    [root@localhost 3-14]# tar xf boot.tar.gz  -C  /lianx/3-13 (-C 指定路径)
    
  • 2.查看压缩

    [root@localhost 3-14]# tar -tf boot.tar.gz 
    [root@localhost xiaoli]# tar tf passwd_host_boot.tar.gz
    

gzip和bzip2

gzipbzip2 命令是用于对单个文件进行压缩和解压缩的工具。这两个命令的使用方法非常简单,只需要指定要压缩/解压缩的文件名即可。

  • 使用 gzip 压缩/解压缩:

    gzip 文件名
    gzip -d 文件名.gz
    ```
    
    [root@localhost lianxi]# gzip hello.c
    
    zcat可以直接看压缩包的内容(需要gzip压缩的)
    [root@localhost lianxi]# zcat hello.c.gz
    #include<stdio.h>
    
    int main()
    {
    	printf("hello,world\n");
    	printf("i am ydh\n");
    	return 0;
    }
    
  • 使用 bzip2 压缩/解压缩:

    bzip2 文件名
    bzip2 -d 文件名.bz2
    ```
    

需要注意的是,使用这两个命令压缩文件时,原始文件会被删除,只保留压缩后的文件。

zip和unzip

zipunzip 命令是用于对多个文件或目录进行压缩和解压缩的工具。这两个命令的使用方法也非常简单。

  • 创建一个 zip 压缩文件:

    zip 文件名.zip 源文件
    ```
    
    [root@localhost lianxi]# zip hl.zip hello.c  zip 文件名(压缩后的文件名) 文件名2(需要压缩的文件名)
    
      adding: hello.c (deflated 14%)
    
  • 解压一个 zip 压缩文件:

    unzip 文件名.zip
    ```
    

需要注意的是,在使用 zip 命令创建压缩文件时,如果要包含多个文件或目录,可以使用通配符 *。例如,要压缩当前目录下的所有文件和子目录,可以使用以下命令:

zip 文件名.zip *

这将会将当前目录下的所有文件和子目录打包成一个 文件名.zip 文件。

zip

zip 命令是一个用于对多个文件或目录进行压缩的工具,它可以创建一个包含多个文件或目录的压缩文件。zip 命令的语法如下:

zip [选项] 压缩文件名 源文件

以下是一些常用的 zip 命令示例:

  • 创建一个压缩文件:

    zip 压缩文件名.zip 源文件
    ```
    
    这个命令将会对 `源文件` 进行压缩,并将压缩后的文件保存为 `压缩文件名.zip`。
    
  • 解压一个压缩文件:

    unzip 压缩文件名.zip
    

    这个命令将会解压缩 压缩文件名.zip 文件,并将其中的文件提取到当前目录下。

需要注意的是,zip 命令并不会保留文件权限和元数据(例如文件所有者和修改时间)。

7zip

7zip 命令是一个用于对多个文件或目录进行压缩和解压缩的工具,它支持多种压缩格式,包括 7z、zip、tar、gzip、bzip2 等等。7zip 命令的语法如下:

7z [选项] 目标文件名 源文件

以下是一些常用的 7zip 命令示例:

  • 创建一个压缩文件:

    7z a 压缩文件名.7z 源文件
    

    这个命令将会对 源文件 进行压缩,并将压缩后的文件保存为 压缩文件名.7z

  • 解压一个压缩文件:

    7z x 压缩文件名.7z
    

    这个命令将会解压缩 压缩文件名.7z 文件,并将其中的文件提取到当前目录下。

xz

xz 命令是一个用于对单个文件进行压缩和解压缩的工具,它使用的压缩算法是 LZMA2。xz 命令的语法如下:

xz [选项] 文件名

以下是一些常用的 xz 命令示例:

  • 压缩一个文件:

    xz 文件名
    

    这个命令将会对 文件名 进行 xz 压缩,并将压缩后的文件保存为 文件名.xz

    [root@localhost lianxi]# xz hello
    
  • 解压一个文件:

    xz -d 文件名.xz
    

    这个命令将会解压缩 文件名.xz 文件,并将其中的内容提取到当前目录下。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

哈密猿

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值