几种常见的压缩文件案扩展名 | *.Z *.gz *.bz2 *.tar *.tar.gz *.tar.bz2 | compress程序压缩的文件; gzip程序压缩的文件; bzip2程序压缩的文件; tar程序打包的数据,并没有压缩过; tar程序打包的文件,经过gzip压缩; tar程序打包的文件,经过bzip2的压缩; |
tips:
虽然说Linux文件的属性基本上与文件名没有绝对的关系,但为了人们便于区分对应的压缩命令(linux压缩命令非常多,不同的命令使用的压缩技术也不同),适当的扩展名还是有必要的;
Liinux常用的压缩命令即 gzip 和 bzip2,gizp 是有GNU计划所开发出来的压缩命令,替换了compress;后来GNU又开发出了压缩比更好的bzip2;
这些命令通常只能针对一个文件来压缩与解压缩,打包软件 tar 应运而生;
单纯的 tar 功能仅仅是“打包”而已,既是把很多文件集结成一个文件,并没有提供压缩功能;
后来的GNU计划把 tar 与压缩功能结合在一起,提供使用者更方便且更强大的压缩与打包功能;
tips:
1Byte=8bit,而这8个bit并不总是完全被使用,比如数字1,仅占用最右边的1个bit,而其它7个bit将会被自动填上0(实际是空的),不过为了OS数据的访问,会将该数据转为Byte形态来记录,不满1Byte也算作1Byte;利用一些复杂的计算方式,将这些没有使用到的空间“丢”出来,让文件占用的空间变小,这就是压缩技术;
compress:
compress [-rcv] 文件或目录 | -r:连同目录下的文件同时给予压缩; -c:将压缩文件输出成 standard output(输出到屏幕) -v:可以显示出压缩后的文件信息以及压缩过程中一些文件名变化; |
tips:gzip已经可以解开compress压缩的文件,cpmress已不再流行;
gzip,zcat(查看压缩文件的内容)
gzip [cdtv#] 文件名 | -c:将压缩数据输出到屏幕,可通过数据流重定向来处理; -d:解压缩的参数; -t:可用来检验 一个压缩文件的一致性,看文件有无错误; -v:可以显示出 原文件/压缩文件 压缩比信息; -#:压缩等级,-1 最快,压缩比最差;-9最慢,但是-6压缩比最好; |
tips:gzip不但可以解开compress的压缩文件,zcat也可读取compress的压缩文件内容(完全取代compress);
bzip2,bzcat
如果说gzip是为了替代copress并提供更好的压缩比而成立的,bzip2则是为了取代gzip并提供更佳的压缩比而来的;
bzip2 [-cdkzv#] 文件名 | -c:将压缩过程产生的数据输出到屏幕; -d:解压缩的参数; -k:保留原文件,不会删除原始的文件; -z:压缩的参数; -v:压缩比信息; -#:与gzip同样 -1最快,-9最佳; |
tar
tar [-j|-z] [cv] [-f 新建文件名] filename
tar [-j|-z] [tv] [-f 新建文件名]
tar [-j|-z] [xv] [-f 新建文件名] filename | -c:新建打包文件,可搭配-v来查看过程中被打包的文件名(filename) -t:查看打包文件中含有哪些文件名,重点在查看文件名; -x:解打包或解压缩,可搭配-C在特定目录解开; (-c,-t,-x 不能同时出现在一串命令行中) -j:bzip2支持进行 压缩/解压 , 此时文件名最好 *.tar.bz2 -z:gzip支持进行 压缩/解压 , 此时文件名最好 *.tar.gz -v:压缩解压缩过程中,将正在处理的文件名显示出来; -f filename(可以接路径/root/filename.tar.bz2):-f 后要接被处理的文件名,建议-f单独写一个参数; C 目录:解压缩时,在特定目录; --------------------------------------------------------------------------------------------------------- -p:保留备份数据的原本权限与属性,常用与备份重要的配置文件(如备份/etc目录); -P(大写):保留绝对路径,即允许备份数据中含有根目录; |
简单的使用方法:
压缩:tar -jcv -ffilename.tar.bz2 要被解压的文件或目录
查询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压目录
仅解开单一文件:
1、先找出文件: tar -jtv -f /root/etc.tar.bz2 | grep 'passwd'
2、解开: tar -jxv -f /tmp/etc.tar.bz2 etc/passwd
dd指令:
dd可备份完整的分区或磁盘,因为dd可读取磁盘的扇区表面数据;
dd if="input file" of="outpur file" bs="block size" count="number" | bs:规划一个block的大小,默认512bytes(一个扇区大小); Count:多少个bs的意思; |