linux 常用的几个压缩命令

linux 常用的几个压缩命令

常用压缩命令介绍

zip压缩

1
2
zip -r outsrkem.github.io.zip outsrkem.github.io 压缩(-r是压缩目录)
unzip outsrkem.github.io.zip 解压缩

gz压缩

不会打包(不支持压缩目录),不保留源文件

1
2
3
4
5
gzip 源文件                压缩
gzip -r 原目录 (只对目录内文件单独压缩, 可自行试验)
gzip -c 源文件 > 压缩包 保留源文件压缩
gunzip 压缩包 解压缩
gzip -d 压缩包 解压缩

bz2

不能压缩目录

1
2
3
bzip2	  源文件        (压缩,-k保留源文件)
bzip2 -d 压缩包 (解压,-k保留压缩包)
bunzip2 压缩包 (解压,-k保留压缩包)

xz 压缩

1
2
3
4
5
xz -k  待压缩文件      (压缩成功后生成 xxx.xz,原文件会被删除。)
xz -dk 压缩包 (使用参数 -k 压缩或解压时保持源文件不被删除, xz 待压缩文件; -d --decompress 解压缩)
# 使用参数 -0, -1, -2, … -6, … -9 ,xz 命令的默认为 -6
xz -k -9 待压缩文件
xz -l 压缩包 (显示 .xz 文件的基本信息)

tar 命令

  • tar打包,不压缩
1
2
tar -cvf  打包名 源文件 	 	(打包)
tar -xvf 文件包名 (解包,-c打包,-x解包,-v显示过程,-f指定打包文件名
  • tar打包同时压缩
  • gz压缩
1
2
tar -zcvf 压缩包名 源文件(目录)    # 压缩, -z, --gzip, --gunzip, --ungzip,识别 gz 格式 (filter the archive through gzip)
tar -zxvf 压缩包名 # 解压
  • bz2压缩
1
2
tar -jcvf 压缩包名 源文件(目录)   # 压缩, -j, --bzip2,识别 bz2 格式 (filter the archive through bzip2)
tar -jxvf 压缩包名 # 解压
  • xz 压缩
1
2
tar -Jcvf 压缩包名 源文件(目录)     # 压缩, -J, --xz,识别 xz 格式  (filter the archive through xz)
tar -Jxvf 压缩包名 # 解压
  • tar 命令其他参数
  • 只查看不解压
1
2
3
tar -ztvf	(gz格式,-t,只查看,不解压)
tar -jtvf (bz2格式)
tar ft (通用命令)

  • 指定压缩位置
1
tar -jxvf root.tar.bz2 -C /tmp/
  • 压缩指定路径下的文件到当前目录
1
tar -zcv -C /usr/local/src/ -f 123.tar.gz 123.txt

  • 解压指定文件到指定位置
1
tar -xzv -C /tmp -f a.tar.gz 待解压文件路劲    (写用-t查看时显示的有路径路径文件名)
  • tar通用解压
1
tar -xf[v] 文件名	(解压)-v显示过程

几种压缩格式的压缩率比较

参与比较的压缩格式有:zip,gz,bz2,xz,tar

1
2
3
4
5
6
7
8
9
10
11
[root@host-10-11 ~]# du -sh outsrkem.github.io
142M outsrkem.github.io
[root@host-10-11 ~]# ls -lh
total 266M
drwxr-xr-x 11 root root 4.0K May 31 19:51 outsrkem.github.io
-rw-r--r-- 1 root root 106M Jun 2 20:28 outsrkem.github.io.tar (tar -cvf)
-rw-r--r-- 1 root root 40M Jun 2 20:34 outsrkem.github.io.tar.bz2 (tar -jcvf)
-rw-r--r-- 1 root root 43M Jun 2 20:32 outsrkem.github.io.tar.gz (tar -zcvf)
-rw-r--r-- 1 root root 31M Jun 2 20:33 outsrkem.github.io.tar.xz (tar -Jcvf)
-rw-r--r-- 1 root root 26M Jun 2 20:57 outsrkem.github.io.tar.xz (tar -cvf; xz -9)
-rw-r--r-- 1 root root 49M Jun 2 20:13 outsrkem.github.io.zip (zip -r)
  • 通过比较得出
源文件tarzipgzbz2xz (-6)xz (-9)
142M106M49M43M40M31M26M
0.0%74.6%34.5%30.2%28.1%21.8%18.3%

压缩率

压缩率(Compression rate),描述压缩文件的效果名,是文件压缩后的大小与压缩前的大小之比,例如:把100m的文件压缩后是90m,压缩率为90/100*100%=90%,压缩率一般是越小越好,但是压得越小,解压时间越长。

tar -Jcvf 不支持设定压缩率(默认是6),如果要指定则需要单独使用xz命令压缩

  • 先使用tar -cvf打包
  • 再使用xz -9压缩(有0-9个级别)
  • 解压可以直接使用tar xf命令
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2024 Outsrkem
  • 访问人数: | 浏览次数:

      请我喝杯咖啡吧~

      支付宝
      微信