随堂练习 压缩和解压缩

cmpress

格式

compress options [file...]

解压缩

uncompress file.Z

常用选项

-d  解压缩,相当于 nucompress

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

-v  显示详情

gzip

格式

gzip [option] ... FILE...

常见选项

-k  keep,保留原文件,CentOS8 新特性

-d  解压缩,相当于 gunzip

-c  指定压缩比, # 取值为 1 - 9,值越大压缩比越大

范例

1)解压缩

gunzip file.gz

2)不显示解压缩的前提下查看文本文件内容

zcat file.gz

gzip -c messages >messages.gz

gzip -c -d messages.gz > messages

zcat messages.gz > messages

cat messages | gzip > m.gz

bzip

格式

bzip2 [option]... FILE...

常用选项

-k  keep,保留原文件

-d  解压缩

-c  结果输出至标准输出,保留原文件不改变

-#  1 - 9 压缩比,默认为9

范例

1)解压缩

bunzip2 file.bz2

2)不显示解压缩的前提下查看文本文件内容

bzcat file.bz2

xz

格式

xz [option]... FILE ...

常见选项

-k  keep,保留原文件

-d  解压缩

-c  结果输出至标准输出,保留原文件不改变

-#  压缩比,取值 1 - 9,默认是 6

范例

1)解压缩

unxz file.xz

2)不显示压缩的前提下查看文本文件内容

xzcat file.xz

zip

可以实现打包目录和多个文件成一个文件并压缩,但可能会丢失文件属性信息

范例

1)打包并压缩

zip -r /backup/sysconfig.zip  /etc/sysconfig

2)不包括目录本身,只打包目录内的文件和子目录

cd /etc/sysconfig ; zip -r /root/sysconfig.zip *

3)默认解压缩至当前目录

unzip /backup/sysconfig.zip

4)解压缩至指定目录,如果指定目录不存在,会在其父目录(必须事先存在)下自动生成

unzip /backup/sysconfig.zip  -d /tmp/config

cat  /var/log/messages | zip messages -

5)-p 表示管道

unzip -p  messages.zip > messages

打包和解包

tar

可以实现打包目录和多个文件打包成一个文件并压缩,保留文件属性不丢失,常用于备份功能

格式

tar [option] ...

1)创建归档,保留权限

tar -cpvf /PATH/FILE.tar  FILE...

2)追加文件至归档:猪:不支持对压缩文件追加

tar -rf  /PATH/FILE.tar  FILE...

3)查看归档文件中的文件列表

tar -t -f  /PATH?FILE.tar

4)展开归档

tar xf /PATH/FILE.tar

tar xf /PATH/FILE.tar  -C  /PATH/

5)结合压缩工具:归档并压缩

-z  相当于 gzip 压缩工具

-j  相当于 bzip2 压缩工具

-J  相当于 xz 压缩工具

范例

tar zcvf  etc.tar.gz  /etc/

tar jcvf  etc.tar.bz2  /etc/

tar Jcvf  etc.tar.xz  /etc/

1)只打包目录内的文件,不包括目录本身

cd /etc  ; tar zcvf  /root/etc.tar.gz *

2)利用 tar 进行文件复制

tar c /data/  | tar x -C /backup

--exclude 排除文件

范例

tar  zcvf /root/a.tgz --exclude=/apps/host1 --exclude=/apps/host2 /apps

-T  选项指定输入文件

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

范例

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

split

可以分割一个文件为多个文件

范例

1)分割大的 tar 文件为多份小文件

split  -b  Size -d tar-file-name  prefix-name

split  -b   1m mybackup.tgz  mybackup-parts

2)切换成的多个小文件使用数字后缀

split  -b  1m -d  mybackup.tgz  mybackup-parts

将多个切割的小文件合并成一个大文件

cat  mybackup-parts*  >  mybackup.tar.gz

cpio

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

格式

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

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

常见选项

-o  output 模式,打包,将标准输入传入的文件名打包后发送到标准输出

-i  input 模式,解压,对标准输入传入的打包文件名解包到当前目录

-t  预览,查看标准输入传入的打包文件中包含的文件列表

-o filename  输出到指定的归档文件名

-A  向已存在的归档文件中追加文件

-I  filename  对指定的归档文件名解压

-F filename  使用指定的文件名替代标准输入或输出

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

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

范例

1)将 etc 目录备份

find  ./etc  -print | cpio -ov  > bak.cpio

2)将 /data 内容追加 bak.cpio

find /data | cpio -oA  -F bak.cpio

3)内容预览

cpio  -tv < etc.cpio

4)解包文件

cpio -idv < etc.cpio

原文地址:https://www.cnblogs.com/xuanlv-0413/p/13222534.html