君子坦荡荡

  博客园  :: 首页  :: 新随笔  ::  ::  :: 管理

Linux常见压缩解压缩命令

常见压缩文件扩展名

.Z         compress 程序压缩的文件;
.zip       zip 程序压缩的文件;
.gz        gzip 程序压缩的文件;
.bz2       bzip2 程序压缩的文件;
.xz        xz 程序压缩的文件;
.tar       tar 程序打包的数据,并没有压缩过;
.tar.gz    tar 程序打包的文件,其中并且经过 gzip 的压缩
.tar.bz2   tar 程序打包的文件,其中并且经过 bzip2 的压缩
.tar.xz    tar 程序打包的文件,其中并且经过 xz 的压缩

Linux上常见的压缩指令就是 gzip, bzip2 以及最新的 xz ,至于 compress 已经退流行了。

gzip

目前 gzip 可以解开 compress, zip 与 gzip 等软件所压缩的文件。使用gzip压缩或者解压缩都会把原始文件删除。

  • zgrep
    在文件中查找数据,egrep命令,不要解压缩就可以用来搜索关键字。
  • gzip的语法
gzip [-cdtv#]文件名
-c  :将压缩的数据输出到屏幕上,可通过数据流重导向来处理;
-d  :解压缩的参数;
-t  :可以用来检验一个压缩文件的一致性~看看文件有无错误;
-v  :可以显示出原文件/压缩文件的压缩比等信息;
-#  :# 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6
eg:
gzip -v services
使用gzip压缩的文件在windows系统中,可以被winrar/7zip这个软件解压缩。
  • 可以通过zcat/zmore/zless去读取压缩文件的文本内容。cat/more/less 读取的是纯文本文件。
  • .gz解压缩
    gzip -d xxx.gz

bzip2,bzcat/bzmore/bzless/bzgrep

bzip2提供了比gzip更好的压缩比,用法几乎与gzip相同。

  • 语法
bzip2 [-cdkzv#] 文件名
bzcat 文件名.bz2
选项与参数:
-c  :将压缩的过程产生的数据输出到屏幕上!
-d  :解压缩的参数
-k  :保留原始文件,而不会删除原始的文件喔!
-z  :压缩的参数 (默认值,可以不加)
-v  :可以显示出原文件/压缩文件的压缩比等信息;
-#  :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!

xz,xzcat/xzmore/xzless/xzgrep

虽然 bzip2 已经具有很棒的压缩比,不过显然某些自由软件开发者还不满足,因此后来还推出了 xz 这个压缩比更高的软件!这个软件的用法也跟 gzip/bzip2 几乎一模一样!

  • 语法
xz [-dtkc#] 文件名
xcat 文件名.xz
-d : 解压缩
-t : 测试
-l : 列出压缩文件的相关信息
-k : 保留原本文件不删除
-c : 将数据由屏幕上输出
-# : 1-9压缩比选择。
-k 参数蛮有用的。

tar

tar是打包指令,将文件夹压缩成一个文件包。而gizp and bzip2只能将目录中的文件一次压缩成一个个独立的压缩文件,不是一个整的压缩包。

tar可以将多个目录或文件打包成一个大文件,同时还可以通过gzip/bzip2/xz的支持,将该文件同时进行压缩。tar的应用很广泛,目前windows的winrar也支持.tar.gz文件名的解压缩。

  • tar的常见语法
tar的选项与参数非常的多,下面之涉及几个常用的选项,更多选项可以自行man tar查询。
tar [-z|-j|-J] [cv] [-f待创建的新文件名] filename < ==打包加压缩
tar [-z|-j}-J] [tv] [-f 既有的tar文件名] < ==查看文件名
tar [-z|-j|-J] [xv] [-f既有的tar文件名] [-C目录] < ==解压缩
选项与参数:
-c : 创建打包文件,可搭配-v来察看过程中被打包的文件名(filename)
-t : 察看打包文件的内容含有哪些文件名
-x : 解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开特别留意的是,-c, -t, -x 不可同时出现一串命令行中。
-z :通过 gzip  的支持进行压缩/解压缩:此时文件名最好为 *.tar.gz
-j :通过 bzip2 的支持进行压缩/解压缩:此时文件名最好为 *.tar.bz2
-J :通过 xz    的支持进行压缩/解压缩:此时文件名最好为 *.tar.xz特别留意, -z, -j, -J 不可以同时出现在一串命令行中
-v :在压缩/解压缩的过程中,将正在处理的文件名显示出来!
-f filename:-f 后面要立刻接要被处理的文件名!
-C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-p(小写):保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
-P(大写):保留绝对路径,亦即允许备份数据中含有根目录存在之意;
--exclude=FILE:在压缩的过程中,不要将 FILE 打包!
  • 解开单个文件的方法
eg:
tar -jtv -f xxx.tar.bz2 | grep 'xxxx'
# grep是找寻关键字的功能!
# |配合grep找寻关键字。

tar的简单命令

  • tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
  • .tar.gz and .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
  • .tar.bz2
解压:tar jxvf FileName.tar.bz2 或tar --bzip xvf Filename.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
  • tar.bz
解压:tar jxvf FileName.tar.bz
压缩:tar jcvf FileName.tar.bz Dirname
  • .Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
  • tar命令参数详解
eg:
tar xvfz myfile.tar.bz2
x 是解压
v 是复杂输出
f 是指定文件
z bz2格式
  • .zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
压缩一个目录用-r参数递归。eg:zip -r FileName.zip DirName
  • .lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
lha需要到官网上面下载。
  • .rpm
解包:rpm2cpio FileName.rpm | cipo-div
安装:rpm2cpio file.rpm | cpio -div
  • .deb
解包:ar p FileName.dev data.tar.gz | tar zxf-
安装:dpkg -i file.deb
## .rar
* 在linux中需下载rar
http://www.rarlab.com/download.htm
* 解压rar安装包
tar -xzvf rarlinux-x64xxx.tar.gz
* 安装rar
进入rar目录,输入:sudo make完成安装。
* rar解压命令
rar e xxx.rar #将压缩文件接她到当前文件目录
rar x xxx.rar #将压缩文件解压到xxx目录下
* rar压缩命令
rar a FileName.rar DirName
posted on 2019-01-19 00:07  hudunSec  阅读(289)  评论(0编辑  收藏  举报