马哥学习-----李洋个人笔记之压缩,解压缩及归档

compress 文件名
-v 详细信息

-d 等于 uncompress 默认只识别 .Z 如果使用别的后缀,会导致不识别,解压缩失败。
也可以使用 -d -c 压缩包 > 解压缩的形式,解压被改了后缀的压缩包.这种方式不会覆盖源文件.
优点是这种方式不会覆盖源文件.缺点是会丢失文件的原有权限,新的权限基于当前umask码而定。

-c 输出的标准输出 再结合> 生成文件 举例:

compress -c pssswd > passwd.Z

压缩完成。

uncompress 解压缩

gzip 格式:gzip 文件名 压缩

-d 或 gunzip 解压 只识别.gz

-c 文件名 > 压缩包 压缩后保持原文件不变,但权限会根据umask变化
gzip -c messages >messages.gz

-cd 压缩包 > 文件名 或 zcat 压缩包 > 文件名 解压后保持压缩包不变,但权限会根据umask变化

-v 详细信息

-# 表示指定压缩比,默认是6 ,数字越小,表示压缩比越小,速度越快。反之,数字越大,压缩比越大,速度却越慢。

gzip -9 -c passwd > passwd.gz 是压缩比最大的.

zcat:不显式解压缩的前提下查看文本文件内容,举例

zcat messages.gz > messages

bzip2

-k 保持原文件或原压缩包不变

-d 或 bunzip2 解压

-c命令.用重定向 >也能解压,但会丢失权限.新的权限同样取决于当前的umask码.

-cd 压缩包 > 文件名 可以实现预览压缩包的功能,解压后保持压缩包不变,但权限会根据umask变化

-v 详细信息

-# 表示指定压缩比,默认是9,数字越小,表示压缩比越小,速度越快。反之,数字越大,压缩比越大,速度却越慢。

bzcat:不显式解压缩的前提下查看文本文件内容

xz

-k 保持原文件或原压缩包不变

-d 或 unxz 解压

-c 文件名 > 压缩包 压缩后保持原文件不变,但权限会根据umask变化

-cd 压缩包 > 文件名 或 xzcat 压缩包 > 文件名 解压后保持压缩包不变,但权限会根据umask变化

-v 详细信息

-# 表示指定压缩比,默认是6,数字越小,表示压缩比越小,速度越快。反之,数字越大,压缩比越大,速度却越慢。

xz在 compress gzip bzip2 xz这几种压缩工具中,压缩比例是最高的.而它们的共同点是:
它们只负责压缩及解压缩,没有打包(归档)的功能.原文件和压缩后的文件也是一一对应的关系,

zip 打包压缩工具,默认后缀名为.zip

-r 压缩包名 源文件…… 两者都可以是目录,举例

zip –r /testdir/sysconfig /etc/sysconfig/

unzip 压缩包名 解压缩默认在当前目录进行,如果压缩包内有目录文件,则先创建再解压,不会覆盖根目录.

cat /var/log/messages | zip messages -

用cat打开messages,并通过管道传递给zip进行压缩,压缩后的位置是当前目录,名字为messages. - 在这里的意思是
/var/log/messages,因为zip需要两个参数,即 压缩包名及源文件,一些命令可以用 - 来表示第二个参数.

unzip -p message > message 解压缩的固定格式.

tar (Tape ARchive,磁带归档的缩写) 格式 tar 选项 压缩后的名字 源文件

选项中的-可以不要

-c 创建包

-v 详细过程

-f 指定生成后的文件名 源文件……

tar -cvf mage.tar *

将当前目录下的所有文件打包压缩为 mage.tar

tar -tvf mage.tar 预览归档文件(只要涉及到解压缩文件,必须加上f选项)

tar -r /etc/fstab -f mage.tar 往归档中增加文件,在执行后会提示,已经将最前方的根号(/)去掉,避免解压缩的
时候,覆盖了源文件. 如上例,不去掉的话,那么解压缩这个包,会直接覆盖/etc目录.
另外,被其他的压缩工具再次压缩包后,不可以再往里面添加包了.但可以解一个或全部压缩.

tar --delete etc/fstab -f mage.tar 从归档中减少文件
格式 先指定要删除的文件名或目录.再指定从哪个文件里删.

tar -xv passwd -f mage.tar 从归档中解出指定的文件
格式 先指定要解压的文件名或目录.再指定从哪个文件里解压.

tar -xvf mage.tar 从归档中解出所有文件

tar xvf mage.tar -C /app2 解压到指定目录,默认为当前目录

-j 使用bzip2 压缩或解压缩(可省略)

-J 使用xz 压缩或解压缩(可省略)

-z 使用gzip 压缩或解压缩(可省略)

tar jcvf mage.tar.bz2 *

先使用bzip2工具压缩,再使用tar工具压缩,将当前目录下的所有文件都压缩成名字为mage.tar.bz2的压缩包.

tar xvf mage.tar.bz2

将mage.tar.bz2文件先用bzip2解压缩,再使用tar解压到当前目录下.

分割及合并文件

T选项指定输入文件,-X选项指定包含要排除的文件列表

tar zcvf mybackup.tgz -T /root/includefilelist -X /root/excludefilelist

将/root/includefilelist压缩为mybackup.tgz,但是不要/root/includefilelist当中的/root/excludefilelist.

分割大的 tar 文件为多份小文件:

split –b Size(指定大小) –d tar-file-name(压缩包名字) prefix-name(拆分后的名字)拆分后的小压缩

包,只能看出是压缩类型文件(file+文件名查看),但是不能单独解压,只能合并再一起才能正常解压。

split -b 1M –d mybackup.tgz mybackup-parts

将mybackup.tgz压缩包,按照每份1M的大小分割为mybackup-parts的小压缩包。

split -b 1M mybackup.tgz mybackup-parts

合并:

cat mybackup-parts* > mybackup.tar.gz

将所有以mybackup-parts开头的压缩文件,合并为名字是mybackup.tar.gz的压缩包。

cpio 通过重定向的方式将文件进行打包备份,还原恢复的工具.可以解压以“.cpio”或者“.tar”结尾的文件

cpio [选项] > 文件名或者设备名

cpio [选项] < 文件名或者设备名

选项:
-o 将文件拷贝打包成文件或者将文件输出到设备上

-i 解包,将打包文件解压或将设备上的备份还原到系统

-t 预览,查看文件内容或者输出到设备上的文件内容

-v 显示打包过程中的文件名称。

-d 解包生成目录,在cpio还原时,自动的建立目录

-c 一种较新的存储方式

find |cpio -ov > find.cpio 将查找到的数据管道给cpio,然后归档打包为find.cpio

cpio -tv < find.cpio 或 cat find.cpio |cpio -tv 预览find.cpio当中的文件.

cpio -idv < find.cpio 或 cat find.cpio |cpio -idv 解开find.cpio当中的文件.

归档和解压的时候,原文件的权限也会被保存.cpio解文件,自己不会带跟目录/.可以手动指定目录.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章