压缩、加压缩及归档工具

压缩文件的时候可能会丢失一些属性,ACL属性就会丢失

以下为压缩单个文件使用的工具

compress "要压缩的文件"(默认会删除原文件)

-d 解压缩,相当于uncompress

-c 结果输出至标准输出,不删除文件

-v 显示详情

uncompress 解压缩

zcat file.Z > file(实际上相当于把file.Z文件打开,然后解压到file)


gzip[option]..FILE...(默认会删除源文件)

-d:解压缩

-c:将压缩或解压缩的结果输出至屏幕

-"数字":1-9,指定压缩比,值越大压缩比越大,默认压缩比为6

gzip -c file > file.gz(保留file文件并且压缩为file.gz)

zcat file.gz > file(将file.gz文件解压成为file)

gunzip file.gz 解压缩


bzip2[option]..FILE...(默认会删除源文件)

-k:保留源文件

-d:解压缩

-"数字":1-9,压缩比,默认压缩比为9

bunzip2 file.bz2 解压缩

bzcat 查看压缩文件内容


xz[option]...FILE...

-k:保留源文件

-d:解压缩

-"数字":1-9,压缩比,默认为6

xzcat 查看压缩文件内容


zip可压缩文件夹:

打包压缩:

    zip -r sysconfig /etc/sysconfig (将/etc/sysconfig压缩到当前目录命名为sysconfig)

解包解压缩:

    unzip sysconfig.zip

    unzip -p filename.zip > file (将zip文件解压的结果传到一个新的文件中)


tar工具,一个打包工具:

tar[option]...

-c:创建打包文件,要指定文件后缀,tar

-f:要将文件打包到哪一个位置

-v:查看打包过程

比如: tar -cvf /app/sysconfig.tar /etc/sysconfig(将/etc/sysconfig打包成/app下的sysconfig.tar)


-r:追新文件加至打包好的文件

-t:查看打包文件中的内容

-x:解开打包文件

-C:指定解开到指定目录

-T:将多个目录打包为一个.tar文件需要使用,编辑一个文件,将需要打包的目录路径写进去,然后使用tar -T "编辑好的文件名" -zcvf "file.tar.gz"就可以直接读取创建的文件中的内容,从而将多个目录打包成一个文件


切割:

split可以将大的tar文件切割为多个小文件:

split -b "切割的大小" -d "以数字区分文件" "前缀名" (会将切割的文件名按照指定大小平均切割,并且名称为指定的前缀名,而前缀名后面会跟数字区分几个文件)


还原:

将切割的文件还原为一个tar文件:cat "切割的所有文件" > "一个新文件"


tar命令可以配合压缩工具实现:打包并压缩

-j:bzip2 -z:gzip -J:xz


cpio:通过重定向方式可以将文件打包,还原,具有特定模式,可以从某个地方复制文件,或者将处理过的数据放到归档文件中,打包      后的文件后缀一般为cpio或tar

选项:

     -o:将文件打包成文件重定向到设备中

     -i:将多个文件解包到某个位置

     -t:预览,查看打包文件中的数据

     -v:显示过程

     -d:解包将自动生成目录,默认

     -c:交新的存储格式

比如:find ./etc -print | cpio -ov > etc.cpio(查找当前目录下etc下的文件,并且打包成etc.cpio文件)

     cpio -tv < etc.cpio(预览etc.cpio中的文件)

解包:cpio -idv < file.cpio(默认解在当前目录) cpio -idv "要单独解的文件" < "file.cpio"(将file.cpio中的某一个文件单独解包)