在通常情况下,我们一般只会用到解压和压缩,打包并压缩和相对应的解压这几种命令,下面我就先说明以下常用的命令及选项
压缩命令总结
命令运行环境,在/app目录下(自己建的用于学习使用的目录)拷贝/etc/passwd文件到当前目录
compress:
压缩: compress -c passwd > passwd.Z
解压缩:zcat passwd.z > passwd
gzip:
压缩: gzip -c passwd > passwd.gz
解压缩: zcat passwd.gz > passwd
bzip2:
压缩: bzip2 -k passwd
解压缩: bzip2 -k -d passwd.bz2
xz:
压缩: xz -k passwd
解压缩: xz -k -d passwd.xz
[注解] bzip2 和 xz这两条没命令用到了 -k 源文件得以保留并且权限不变
打包命令总结
命令运行环境,在/app目录下拷贝/etc/passwd,/etc/shadow,/etc/group文件到当前目录
zip:
打包并压缩:zip -r config.zip group passwd shadow
(config.zip 是你自己要打包压缩的自定义压缩文件名称,后面的文件是你要打包压缩的文件)
解压缩: unzip config.zip
tar:
打包并压缩:
tar -zcf test.tar.gz group passwd shadow 将多个文件打包并用gzip压缩为test.tar.gz
tar -jcf test.tar.bz2 group passwd shadow 将多个文件打包并用bzip2压缩为test.tar.bz2
tar -Jcf test.tar.xz group passwd shadow 将多个文件打包并用xz压缩为test.tar.xz
结果如下图:
解压缩(与上面打包压缩一一对应):
tar -zxf test.tar.gz 解压gz的压缩包到当前目录
tar -jxf test.tar.bz2 解压bzip2的压缩包到当前目录
tar -Jxf test.tar.xz 解压xz的压缩包到当前目录
每个命令的详细用法:
压缩
compreee
compress srcfile 将源文件压缩成压缩包,源文件消失
compress -v srcfile 或compress -v -d dstfile.Z 压缩或解压缩时显示详细信息
compress -c srcfile > dstfile.Z 将源文件压缩成压缩包,源文件保留
compress -d dstfile.Z 或 uncompress dstfile.Z 将压缩包解压成源文件,压缩包消失
compress -d -c dstfile.Z > srcfile 或 zcat dstfile.Z > srcfile 将压缩包解压成源文件,压缩包保留
gzip
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)
bzip2
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 ...
-k: keep, 保留原文件
-d:解压缩
-#:1-9,压缩比,默认为6
xzcat: 不显式解压缩的前提下查看文本文件内容
zip
zip -r dstfile.zip srcfile
zip -r config.zip /etc/passwd /etc/group /etc/shadow /etc/gshadow
unzip config.zip
tar
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 指定要排除的文件列表,每个文件一行
压缩包的分割与合并
split -b 2K -d etc.tgz 4
将以etc.tgz命名的文件压缩包以2K为单位分割为4份
将上述的压缩包进行合并
cat 40* > mage.tgz 将以40开头命名的多个分割包合并为mage.tgz
cpio
功能:复制文件从或到归档
cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结尾的文件
cpio [选项] > 文件名或者设备名
cpio [选项] < 文件名或者设备名
选项
-o 将文件拷贝打包成文件或者将文件输出到设备上
-i 解包,将打包文件解压或将设备上的备份还原到系统
-t 预览,查看文件内容或者输出到设备上的文件内容
-v 显示打包过程中的文件名称。
-d 解包生成目录,在cpio还原时,自动的建立目录
-c 一种较新的存储方式
【注】重点在于解压缩这种形式
要解包文件 cpio –idv < etc.cpio