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该备份的数据在哪里。