Linux文档的压缩与打包

本文详细介绍了Linux系统中常用的压缩工具,包括gzip、bzip2、xz和zip的使用方法,以及tar打包工具的多种操作,如压缩、解压缩、查看文件内容等。对于每个工具,都提供了具体的命令示例,帮助读者掌握Linux文件的管理和压缩技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux常用的压缩工具

  • .gz:表示gzip压缩工具压缩文件;
  • .bz2:表示bzip2压缩工具压缩文件;
  • .tar:表示由tar打包程序打包的文件;(tar没有压缩功能,只是把一个目录合并成一个文件);
  • .tar.gz:可以理解先由tar打包,然后再由gzip压缩;
  • .tar.bz2:可以理解先由tar打包,然后再由bzip2压缩;
  • .tar.xz可以理解先由tar打包,然后再由xz压缩;

1、gzip压缩工具

gzip命令格式:gzip [-d#] filename;

  • -d :解压缩时使用;
  • -# :表示压缩的等级;1为最差,9为最好,6为默认;
  • 不能压缩目录;
  • zcat 1.txt.gz 查看压缩文件内容;
  • gzip -c 1.txt > /root/1.txt.gz 把文件压缩到指定目录下;
  • -gzip -d -c /root/1.txt.gz > /tmp/2.txt 把文件解压缩到指定目录下 ;
  • zcat 查看gzip压缩文件内容;
[root@bogon ~]# cd /tmp
[root@bogon tmp]# ls
1          systemd-private-84df25ebf51847bf81836925ce6dbe6f-chronyd.service-VYMPjX
1.txt      systemd-private-84df25ebf51847bf81836925ce6dbe6f-vgauthd.service-fsTu5M
linux      systemd-private-84df25ebf51847bf81836925ce6dbe6f-vmtoolsd.service-7Dpi0C
ls10       systemd-private-8cf61176efe2482b8d7e9b88c9e7d895-chronyd.service-xZSMq9
newdisk    systemd-private-8cf61176efe2482b8d7e9b88c9e7d895-vgauthd.service-WpkCm1
passwd.sh  systemd-private-8cf61176efe2482b8d7e9b88c9e7d895-vmtoolsd.service-TstFbV
[root@bogon tmp]# mkdir gz
[root@bogon tmp]# ls
1          systemd-private-84df25ebf51847bf81836925ce6dbe6f-chronyd.service-VYMPjX
1.txt      systemd-private-84df25ebf51847bf81836925ce6dbe6f-vgauthd.service-fsTu5M
gz         systemd-private-84df25ebf51847bf81836925ce6dbe6f-vmtoolsd.service-7Dpi0C
linux      systemd-private-8cf61176efe2482b8d7e9b88c9e7d895-chronyd.service-xZSMq9
ls10       systemd-private-8cf61176efe2482b8d7e9b88c9e7d895-vgauthd.service-WpkCm1
newdisk    systemd-private-8cf61176efe2482b8d7e9b88c9e7d895-vmtoolsd.service-TstFbV
passwd.sh
[root@bogon tmp]# cd gz/
[root@bogon gz]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
[root@bogon gz]# ls
1.txt
[root@bogon gz]# du -sh 1.txt
240K	1.txt
[root@bogon gz]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
[root@bogon gz]# du -sh 1.txt
704K	1.txt
[root@bogon gz]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
[root@bogon gz]# du -sh 1.txt
1.2M	1.txt
[root@bogon gz]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
[root@bogon gz]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
[root@bogon gz]# du -sh 1.txt
1.2M	1.txt
[root@bogon gz]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
[root@bogon gz]# du -sh 1.txt
3.2M	1.txt
[root@bogon gz]# wc -l 1.txt
36468 1.txt
[root@bogon gz]# gzip 1.txt
[root@bogon gz]# ls
1.txt.gz
[root@bogon gz]# du -sh 1.txt.gz
372K	1.txt.gz
[root@bogon gz]# gzip -d 1.txt.gz
[root@bogon gz]# ls 
1.txt
[root@bogon gz]# du -sh 1.txt
1.4M	1.txt
[root@bogon gz]# gzip -1 1.txt
[root@bogon gz]# du -sh 1.txt.gz
440K	1.txt.gz
[root@bogon gz]# gzip -d 1.txt.gz
[root@bogon gz]# gzip -c 1.txt > /tmp/1.txt.gz
[root@bogon gz]# ls
1.txt
[root@bogon gz]# ls /tmp/1.txt.gz
/tmp/1.txt.gz
[root@bogon gz]# file !$
file /tmp/1.txt.gz
/tmp/1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Thu May 24 22:53:39 2018
[root@bogon gz]# gzip -d -c /tmp/1.txt.gz > /tmp/gz/2.txt
[root@bogon gz]# ls
1.txt  2.txt

2、bzip2压缩工具

bzip2命令格式:bzip2 [-dz] filename;

  • -d :解压缩时使用;bzip2 -d=bunzip2;
  • -z :压缩;压缩时可加也可以不加;压缩级别有1-9;9为默认;
  • 不能压缩目录;
  • bzip2 -c 1.txt > /tmp/1.txt.bz2;把文件压缩到指定目录下;
  • bzip2 -d -c /tmp/1.txt.bz2 > 3.txt 把文件解压缩到指定目录下;
  • bzcat 查看bzip2压缩文件内容;
[root@bogon gz]# yum install bzip2
[root@bogon gz]# bzip2 1.txt
[root@bogon gz]# ls
1.txt.bz2  2.txt
[root@bogon gz]# du -sh 1.txt.bz2
156K	1.txt.bz2
[root@bogon gz]# bzip2 -d 1.txt.bz2
[root@bogon gz]# bzip2 -c 1.txt > /tmp/1.txt.bz2
[root@bogon gz]# du -sh /tmp/1.txt.bz2
156K	/tmp/1.txt.bz2
[root@bogon gz]# bzip2 -d -c /tmp/1.txt.bz2 > 3.txt
[root@bogon gz]# ls
1.txt  2.txt  3.txt

3、xz压缩工具

xz命令格式:xz [-dz] filename;

  • -d :解压缩时使用;xz -d=unxz;
  • -z :压缩;压缩时可加也可以不加;压缩级别有1-9;
  • 不能压缩目录;
  • xz -c 2.txt > /tmp/2.txt.xz ;把文件压缩到指定目录下
  • xz -d -c /tmp/2.txt.xz > 4.txt ;把文件解压缩到指定目录下
  • xzcat 查看xz压缩文件内容
[root@bogon gz]# ls
1.txt  2.txt  3.txt
[root@bogon gz]# xz 2.txt
[root@bogon gz]# ls
1.txt  2.txt.xz  3.txt
[root@bogon gz]# du -sh 2.txt.xz
56K	2.txt.xz
[root@bogon gz]# xz -d 2.txt.xz
[root@bogon gz]# xz -c 2.txt > /tmp/2.txt.xz
[root@bogon gz]# xz -d -c /tmp/2.txt.xz > 4.txt
[root@bogon gz]# ls
1.txt  2.txt  3.txt  4.txt

4、zip压缩工具

zip支持压缩目录和文件; zip命令格式:zip [-r] 压缩filename filename

  • -r :把目录下文件一并压缩;
  • unzip:解压缩zip文件
  • unzip 4.txt.zip -d /tmp/gz/zip :解压缩到指定目录
[root@bogon gz]# yum install zip
[root@bogon gz]# mkdir zip
[root@bogon gz]# ls
1.txt  2.txt  3.txt  4.txt  zip
[root@bogon gz]# zip 4.txt.zip 4.txt
  adding: 4.txt (deflated 74%)
[root@bogon gz]# ls
1.txt  2.txt  3.txt  4.txt  4.txt.zip  zip
[root@bogon gz]# zip -r 1.zip zip
  adding: zip/ (stored 0%)
  adding: zip/gz/ (stored 0%)
  adding: zip/gz/1.txt (deflated 74%)
  adding: zip/gz/3.txt (deflated 74%)
  adding: zip/gz/2.txt (deflated 74%)
  adding: zip/gz/4.txt (deflated 74%)
  adding: zip/gz/zip/ (stored 0%)
  adding: zip/1.txt (deflated 74%)
[root@bogon gz]# ls
1.txt  1.zip  2.txt  3.txt  4.txt  4.txt.zip  zip
[root@bogon gz]# unzip 4.txt.zip 
[root@bogon gz]# unzip 4.txt.zip -d /tmp/gz/zip
Archive:  4.txt.zip
  inflating: /tmp/gz/zip/4.txt       
[root@bogon gz]# ls /tmp/gz/zip
1.txt  4.txt  gz

5、tar打包工具

tar 把目录打包成一个文件;命令格式tar [-zjxcvfpP] filename tar

  • -z :表示同时用gzip压缩;
  • -j :表示同时用bzip2压缩;
  • -J :表示同时用xz压缩;
  • -x :表示解包或解压缩;
  • -t :查看tar包里的文件;
  • -c :表示建立一个tar包或者压缩文件包;
  • -v :表示可视化;
  • -f :后面跟文件名,-f filename即表示压缩后的文件名为filename;
  • -p :表示原文件是什么属性,压缩后文件就是什么属性;
  • -P :表示可以使用绝对路径;
  • -exclude filename :表示打包压缩时,不要将filename文件包括在内;

打包目录

[root@bogon gz]# ls
1.txt  1.zip  2.txt  3.txt  4.txt  4.txt.zip  zip
[root@bogon gz]# tar -cvf zip.tar zip
zip/
zip/gz/
zip/gz/1.txt
zip/gz/3.txt
zip/gz/2.txt
zip/gz/4.txt
zip/gz/zip/
zip/1.txt
zip/4.txt
[root@bogon gz]# ls
1.txt  1.zip  2.txt  3.txt  4.txt  4.txt.zip  zip  zip.tar

解包目录

[root@bogon gz]# tar -xvf zip.tar 
zip/
zip/gz/
zip/gz/1.txt
zip/gz/3.txt
zip/gz/2.txt
zip/gz/4.txt
zip/gz/zip/
zip/1.txt
zip/4.txt

打包目录和文件

[root@bogon gz]# tar -cvf zip.tar zip 1.zip 2.txt
zip/
zip/gz/
zip/gz/zip/
zip/gz/1.txt
zip/gz/3.txt
zip/gz/2.txt
zip/gz/4.txt
zip/1.txt
zip/4.txt
1.zip
2.txt

查看打包文件

[root@bogon gz]# tar -tf zip.tar
zip/
zip/gz/
zip/gz/zip/
zip/gz/1.txt
zip/gz/3.txt
zip/gz/2.txt
zip/gz/4.txt
zip/1.txt
zip/4.txt
1.zip
2.txt

打包gzip压缩文件

[root@bogon gz]# tar -czvf zip.tar.gz zip 1.zip 2.txt
zip/
zip/gz/
zip/gz/zip/
zip/gz/1.txt
zip/gz/3.txt
zip/gz/2.txt
zip/gz/4.txt
zip/1.txt
zip/4.txt
1.zip
2.txt
[root@bogon gz]# du -sh zip.tar.gz
4.4M	zip.tar.gz

查看打包的压缩文件

[root@bogon gz]# tar -tf zip.tar.gz
zip/
zip/gz/
zip/gz/zip/
zip/gz/1.txt
zip/gz/3.txt
zip/gz/2.txt
zip/gz/4.txt
zip/1.txt
zip/4.txt
1.zip
2.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值