跟windows不同,linux下文档的属性跟附属名是没有关系的,但是压缩技术五花八门,压缩指令无法对每种压缩包都能解压,所以从文件名来加以区分显得很有必要。
做个小实验,把.gz的文档重命名为.bz2,使用bzip2解压,再用gzip解压
gzip只认定.gz的文档解压,重命名后解压成功
linux下常见的压缩指令:
compress:*.Z
老牌指令,几乎淘汰,知道名字就不错啦
gzip,zcat: :*.gz
用来替代compress.
gzip RUNNING.txt:压缩文档,gzip -# RUNNING.txt(#1~9,默认为6,数字越大压缩比越高,耗时越长),压缩后原文档消失
zcat RUNNING.txt.gz:读取压缩包,同样zcat可读取*.Z的压缩包
gzip -d RUNNING.txt.gz:解压缩文档为RUNNING.txt
bzip2,bzcat: *.bz2
操作与gzip类似,压缩比更好
bzip2 RUNNING.txt
bzcat RUNNING.txt.bz2
bzip2 -d RUNNING.txt.bz2
tar: *.tar
不管是gzip还是bzip都只能对文档进行压缩,不能操作目录。打包命令tar大显神功,它可以将目录和指定档案打包成一个档案;
但是单纯的打包命令是没有压缩功能了,配合上一些参数可以整合gzip或bzip2的功能。
-c :建立一个压缩档案的参数指令(create 的意思);
-x :解开一个压缩档案的参数指令!
-t :查看 tarfile 里面的档案!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示档案!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原档案的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的档案中!
常用命令:
tar -cvf bin.tar bin:将bin目录打包
tar -zcvf bin.tar.gz ./bin:将bin打包并以gzip压缩
tar -jcvf bin.tar.bz2 ./bin:打包并以bzip2压缩
tar -ztvf bin.tar.gz : -t查看包内的档案,因为查看的包经过gzip压缩,所以还要加上z。
tar -zxvf bin.tar.gz:解压并释放