说到压缩、解压缩文件,大家应该都非常熟悉吧!平时我们下载或发送多个文件时基本上都会见到压缩文件。那什么是归档呢?归档指的是将多个文件(或目录)打包成一个文件的意思。压缩与归档在文件传输、文件备份等方面都有着重要的作用,今天,我们一起来看看Linux下有哪些文件压缩归档命令吧!(具体压缩原理这里我们不学习啦,我也不懂~,感兴趣的小伙伴自行百度哈!)
Linux下,文件压缩格式主要有.z、.gz、.bz2、.xz、.zip等几种,分别用以下几个命令生成(并不是所有命令都已安装喔!):
文件压缩
(1)compress命令(只能压缩文件)
compress命令压缩文件生成.z格式压缩文件,用法如下:
compress filename #生成filename.z
uncompress filename.z #解压缩文件
(2)gzip命令(只能压缩文件)
gzip命令压缩文件生成.gz格式压缩文件,用法如下:
gzip [选项] [文件]
gzip filename #生成filename.gz(只能压缩文件,压缩完将自动删除原文件)
-d filename.gz #解压(等同于gunzip,解压完也会删除原文件)
-#(1-9) #指定压缩比,默认为6;如gzip -8 file
-c #保留原文件
-v #在屏幕上显示压缩比
gunzip filename.gz #解压(解压完删除原文件)
zcat /path/to/somefile.gz #不解压情况下,查看文件内容
(3)bzip2命令(只能压缩文件)
bzip2命令压缩文件生成.bz2格式压缩文件,bzip2是一款比gzip有着更大压缩比的压缩工具,其用法和常用选项如下:
bzip2 filename #生成filename.bz2(只能压缩文件,压缩完也会删除原文件)
-d #解压,等同于bunzip2
-#(1-9) #指定压缩比
-k #压缩解压缩时保留原文件
bzcat filename.bz2 #不解压查看文件
(4)xz命令(只能压缩文件)
xz命令压缩文件生成.xz格式压缩文件,其用法和常用选项如下:
xz filename #生成filename.xz(只能压缩文件,压缩完也会删除原文件)
-d #解压缩,等同于unxz
-#(1-9) #指定压缩比
-k #压缩解压缩时保留原文件
xzcat #不解压查看压缩文件内容
(5)zip命令(可压缩文件和目录)
zip命令既可压缩文件也可压缩目录,生成.zip格式压缩文件。zip既归档又压缩,但是压缩比小。zip压缩文件不删除原文件,其用法和常用选项如下:
zip [选项] 压缩后的文件 要压缩的文件…
zip filename.zip filename #将filename压缩成filename.zip
-r #递归压缩,用于压缩目录
unzip file.zip #直接解压在当前环境下
unzip file.zip –d mydata #将file.zip解压到目录mydata中
unzip –v file.zip #查看压缩包内容
unzip –t file.zip #验证压缩包是否完整
归档(tar命令)
上面提到的zip命令既可以压缩也可以归档,但这里我们要学的是Linux标准的归档命令tar(tar命令本身只归档不压缩,但支持gzip和bzip2压缩选项)。tar命令用法和常用选项如下:
tar [选项]... [归档文件名]…
-c #创建归档文件;如tar –cf test.tar test*.txt
-f file.tat #操作的归档文件(此选项一般为必须,f选项后要接文件,多个参数一起用时,f选项必须在最后,且后接文件)
-x #展开归档;如tar –xf test.tat
-t #不展开归档,查看归档了哪些文件;如tar –tf test.tar
-v #显示所打包的文件的详细信息
-z #使用gzip压缩算法压缩打包后的文件;如tar –zcvf test.tar.gz test*.txt
-j #使用bzip2压缩算法压缩打包后的文件(解压缩时可省略-z或-j选项,但是压缩时必须指定压缩算法);如tar –xvf test.tar.bz2 #解压缩并展开归档
参考资料:马哥Linux、Linux从入门到精通、百度