Linux学习笔记(6)——文件与文件系统的压缩

文件与文件系统的压缩

一、Linux系统常见的压缩命令

常见的压缩文件扩展名

扩展名 解释
*.Z compress程序压缩的文件
*.zip zip程序压缩的文件
*.gz【常用】 gzip程序压缩的文件
*.bz2【常用】 bzip2程序...
*.xz【常用】 xz程序...
*.tar tar程序打包的文件,并没有压缩过
*.tar.gz tar程序打包的文件,并且经过gzip的压缩
*.tar.bz2 tar...,...bzip2..
*.tar.xz tar...,...xz..

压缩命令仅针对一个文件进行压缩于解压缩,打包可以将多个文件结合为一个文件。

1.1 gzip,zcat/zmore/zless/zgrep

gzip可以解开compress、zip、gzip等软件压缩的文件

gzip [-cdtv#] 文件名
zcat 文件名.gz
选项与参数:
-c  :将压缩的数据输出到屏幕上,可通过数据流重定向来处理
-d  :解压缩的参数
-t  :可以用来检验一个压缩文件的一致性,看看文件有无错误
-v  :可以显示出原文件/压缩文件的压缩比等信息
-#  :# 为数字的意思,代表压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好,默认是-6

使用gzip压缩时,默认状态下,原本的文件会被压缩成为.gz后缀的文件,源文件不再存在。

[admin@localhost tmp]$ zgrep -n 'http' services.gz
14:#       http://www.iana.org/assignments/port-numbers
89:http            80/tcp          www www-http    # WorldWideWeb HTTP
90:http            80/udp          www www-http    # HyperText Transfer Protocol
...

[admin@localhost tmp]$ gzip -9 -c services > services.gz
[admin@localhost tmp]$ ll
total 792
-rw-r--r--. 1 root root 670293 Nov  6 09:18 services
-rw-r--r--. 1 root root 135489 Nov  6 09:24 services.gz
[admin@localhost tmp]$ gzip -d services.gz 
[admin@localhost tmp]$ ll
total 656
-rw-rw-r--. 1 admin admin 670293 Nov  6 09:27 services

1.2 bzip2, bzcat/bzmore/bzless/bzgrep

gzip的升级版

bzip2 [-cdkzv#] 文件名
bzcat 文件名.bz2
选项与参数:
-c  :将压缩的数据输出到屏幕上,可通过数据流重定向来处理
-d  :解压缩的参数
-k  :保留原始文件,而不会删除原始文件
-z  :压缩的参数(默认值,可不加)
-v  :可以显示出原文件/压缩文件的压缩比等信息
-#  :# 为数字的意思,代表压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好,默认是-6

1.3 xz, xzcat/xzmore/xzless/xzgrep

xz [-dtlkc#] 文件名
xcat 文件名.xz
选项与参数:
-d  :解压缩的参数
-t  :测试压缩文件的完整性,看看有无错误
-l  :列出压缩文件的相关信息
-k  :保留原始文件,而不会删除原始文件
-c  :将压缩的数据输出到屏幕上,可通过数据流重定向来处理
-#  :# 为数字的意思,代表压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好,默认是-6

压缩比更好,但耗时相对长。

[admin@localhost tmp]$ xz -k services
[admin@localhost tmp]$ ll
total 1016
-rw-rw-r--. 1 admin admin 670293 Nov  6 09:27 services
-rw-rw-r--. 1 admin admin 123932 Nov  6 09:27 services.bz2
-rw-rw-r--. 1 admin admin 136088 Nov  6 09:32 services.gz
-rw-rw-r--. 1 admin admin  99608 Nov  6 09:27 services.xz

二、打包命令:tar

  • 压缩:tar [-z|-j|-J]cv -f filename.tar.bz2 要被压缩的文件或目录名称
  • 查询:tar [-z|-j|-J]tv -f filename.tar.bz2
  • 解压缩:tar [-z|-j|-J]xv -f filename.tar.bz2 -C 欲解压缩的目录

参数说明

  • -z : gzip
  • -j : bzip2
  • -J : xz

解压至指定目录:

[root@localhost ~]# tar -jxv -f /root/etc.tar.bz2 -C /tmp 

打包出来的文件没有进行压缩:tarfile,经过压缩:tarball

三、XFS文件系统的备份与还原

3.1 XFS文件系统备份:xfsdump

3.2 XFS文件系统还原:xfsrestore

四、光盘写入工具

4.1 mkisofs:建立镜像文件

4.2 cdrecord:光盘刻录工具

可通过wodim来写入CD或DVD刻录机

五、其他常见的压缩与备份工具

5.1 dd

dd可以读取磁盘设备的内容(几乎是直接读取扇区),将整个设备备份为一个文件。

dd if="input+file" of="output_file" bs="block_size" count="number"
选项与参数:
if  :就是input file,也可以是设备
of  :就是output file,也可以是设备
bs  :设置一个block的大小,若未指定则默认是512Bytes(一个扇区的大小)
count:多少个bs的意思

5.2 cpio

cpio可以备份任何东西,包括设备文件,不过cpio不会主动去找文件备份。需要配合find等可以查找文件的命令来告知cpio该备份的数据在哪里。

posted @ 2022-11-06 10:49  S!no  阅读(208)  评论(0编辑  收藏  举报