LInux文件解压缩
linux系统解压缩
目录
解压缩工具:compreee ,gzip,bzip2,xz,zip
归档工具:tar,cpio
压缩解压工具
compress/uncompress: 其对应的是以.Z结尾的压缩格式的文件(早期的解压缩工具)
gzip/gunzip: 其对应的是以.gz结尾的压缩格式的文件
bzip2/bunzip2: 其对应的是以.bz2 结尾的压缩格式的文件
xz/unxz: 其对应的是以.xz结尾的压缩格式的文件
zip/unzip 其对应的是以.zip结尾的压缩格式的文件
解压缩
compreee
compress srcfile //将源文件压缩成压缩包,源文件消失
compress -v srcfile //显示详细信息
compress -c srcfile > dstfile.Z //将源文件压缩成压缩包,源文件保留
compress -d dstfile.Z 或 uncompress dstfile.Z //将压缩包解压成源文件,压缩包消失
compress -d -c dstfile.Z > srcfile 或 zcat dstfile.Z > srcfile //将压缩包解压成源文件,压缩包保留
gzip
[OPTION]... FILE ...
-# : 指明压缩比;1-9 默认为6,数字越大,压缩比越大;
-d : decompress,解压缩,gunzip;
-c : 将源文件压缩成压缩包,源文件保留;
-r递归至目录中对每一个文件进行压缩。
zcat /path/to/somefile.gz : 不显式解压缩的前提下查看文本文件内容
示例:
gzip srcfile //将源文件压缩成压缩包,源文件消失
gzip -c srcfile > dstfile.gz //将源文件压缩成压缩包,源文件保留
gzip -d dstfile.gz 或gunzip dstfile.gz //将压缩包解压成源文件,压缩包消失
gzip -d -c dstfile.gz > srcfile 或 zcat dstfile.gz > srcfile //将压缩包解压成源文件,压缩包保留
gzip -# srcfile //(#即1-9,表示压缩比,数字越大压缩比越高,默认为6)
gzip -c messages >messages.gz //将文件解压保留源文件
gzip -c -d messages.gz > messages //将压缩包解压成源文件,并保留解压包
zcat messages.gz > messages //将压缩包解压成源文件,并保留解压包
bzip2
[OPTION]... FILE ...
-# : 指明压缩比;1-9 默认为6,数字越大,压缩比越大;
-d : decompress,解压缩,unbzip2;
-k : 压缩保留原文件;
bzcat /path/to/somefile.bz2 : 不显式解压缩的前提下查看文本文件内容
示例:
bzip2 srcfile //将源文件压缩成压缩包,源文件消失
bzip2 -k srcfile // 将源文件压缩成压缩包,源文件保留且权限不变
bzip2 -c srcfile > dstfile.bz2 //将源文件压缩成压缩包,源文件保留但权限根据umask值而改变
bzip2 -d dstfile.bz2 或bunzip dstfile.bz2 //将压缩包解压成源文件,压缩包消失
bzip2 -k -d dstfile.bz2 或bunzip -k dstfile.bz2 //将压缩包解压成源文件,压缩包保留且权限不变
bzip2 -d -c dstfile.bz2 > srcfile 或 bunzip -c dstfile.bz2 > srcfile //将压缩包解压成源文件,压缩包保留但权限根据umask值而改变
bzip2 -# srcfile //(#即1-9,表示压缩比,数字越大压缩比越高,默认为9)
bzcat dstfile.bz2 //可以预览解压后的内容,配合> 也能解压,但权限会根据umask值而改变
xz
[OPTION]... FILE ...
-#:1-9,压缩比,默认为6
-k: keep, 保留原文件
-d:解压缩;相当于 unxz ;
xzcat /path/to/somefile.xz : 不显式解压缩的前提下查看文本文件内容
zip
zip可以对多个文件压缩归档成单个文件
unzip :解包解压缩
打包压缩 zip –r /testdir/sysconfig /etc/sysconfig/
zip -r dstfile.zip srcfile
zip -r config.zip /etc/passwd /etc/group /etc/shadow /etc/gshadow //将多个文件压缩成一个文件config.zip
unzip config.zip //解压文件config.zip
解包解压缩 unzip
unzip sysconfig.zip //解压文件
cat /var/log/messages | zip messages
unzip -p message > message
归档工具
归档就是将多个文件打包为单个文件以便于管理,默认的归档不会执行压缩。
常用的工具有:tar,cpio
tar
tar,可以为某一特定文件创建档案(备份文件),也可以在档案中 改变文件,或者向档案加入新的文件。
语法:tar(选项)(参数)
A或--catenate:新增文件到以存在的备份文件;
B:设置区块大小;
c或--create:建立新的备份文件;
C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
d:记录文件的差别;
x或--extract或--get:从备份文件中还原文件;
t或--list:列出备份文件的内容;
j:支持bzip2解压缩文件;
J:支持xz解压缩文件;
z或--gzip或--ungzip:通过gzip指令处理备份文件;
Z或--compress或--uncompress:通过compress指令处理备份文件;
f<备份文件>或--file=<备份文件>:指定备份文件;
v或--verbose:显示指令执行过程;
r:添加文件到已经压缩的文件;
u:添加改变了和现有的文件到已经存在的压缩文件;
v:显示操作过程;
l:文件系统边界设置;
k:保留原有文件不覆盖;
m:保留文件不被覆盖;
w:确认压缩文件的正确性;
p或--same-permissions:用原来的文件权限还原文件;
P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
exclude=<范本样式>:排除符合范本样式的文件。
归档和压缩tar
-z : gzip
后缀名:.tar.gz
归档并压缩:tar -zcf
展开归档:tar -zxf
-j : bzip2
后缀名:.tar.bz2
归档并压缩:tar -jcf
展开归档:tar -jxf
-J : xz
后缀名:.tar.xz
归档并压缩:tar -Jcf
展开归档:tar -Jxf
注意:展开归档可以直接使用tar -xf,而无需为其指定对应的压缩工具选项;
tar -tf mage.tar.xz //预览压缩包的文件列表
tar -rf mage.tar /path/newfile // 往tar包中增强文件(注意只能对tar包增加文件,而不能对压缩包增加)
tar -cf mage.tar filename1 filename2 [filenameN] //将多个文件打包至mage.tar
tar -zcf mage.tar.gz filename1 filename2 [filenameN] // 将多个文件打包并用gzip压缩为mage.tar.gz
tar -jcf mage.tar.bz2 filename1 filename2 [filenameN] //将多个文件打包并用bzip2压缩为mage.tar.bz2
tar -Jcf mage.tar.xz filename1 filename2 [filenameN] // 将多个文件打包并用xz压缩为mage.tar.xz
tar -xf mage.tar //解压tar包的所有文件到当前目录(不分压缩类型)
tar -xf mage.tar.xz filename //仅将压缩包中的其中一个文件filename 解压到当前目录
tar -zxf mage.tar.gz //解压gz的压缩包到当前目录
tar -jxf mage.tar.bz2 //解压bzip2的压缩包到当前目录
tar -Jxf mage.tar.xz //解压xz的压缩包到当前目录
tar -zxf mage.tar.gz -C /tmp //解压gz的压缩包到/tmp目录
tar -zvxf mage.tar.gz // 解压gz的压缩包到当前目录并显示详细过程
tar zcvf mage.tar.gz -T yasuolist.txt -X paichu.txt
// -T 指定需要打包并压缩的文件列表,每个文件路径一行
// -X 指定要排除的文件列表,每个文件一行
tar --exclude scf/service -zcvf scf.tar.gz scf/* // 备份文件夹内容是排除部分文件*/
tar -zcvpf log31.tar.gz log2014.log log2015.loglog2016.log // 这个-p的属性是很重要的,尤其是当您要保留原本文件的属性时。
tar -N "2012/11/13" -zcvf log17.tar.gz test // 在文件夹当中,比某个日期新的文件才备份
其实最简单的使用 tar 就只要记忆底下的方式即可:
压 缩:tar -Jcv -f filename.tar.xz //要被压缩的文件或目录名称
查 询:tar -Jtv -f filename.tar.xz
解压缩:tar -Jxv -f filename.tar.xz -C / / 欲解压缩的目录
分割合并压缩包
压缩包分割
split -b 2K -d etc.tgz 4 //将压缩包以2K为单位分割为4份
分割包合并
cat 40* > mage.tgz // 将以40开头命名的多个分割包合并为mage.tgz
cpio
功能:复制文件从或到归档
cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结尾的文件
cpio [选项] > 文件名或者设备名
cpio [选项] < 文件名或者设备名
选项
-o 将文件拷贝打包成文件或者将文件输出到设备上
-i 解包,将打包文件解压或将设备上的备份还原到系统
-t 预览,查看文件内容或者输出到设备上的文件内容
-v 显示打包过程中的文件名称。
-d 解包生成目录,在cpio还原时,自动的建立目录
-c 一种较新的存储方式
转载于:https://blog.51cto.com/12105235/2065753
上一篇: 解压缩文件
下一篇: Java 压缩解压缩文件