压缩文件的时候可能会丢失一些属性,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中的某一个文件单独解包)
原文地址:http://blog.51cto.com/kaikai0720/2045880