重学linux(4)
文件与文件系统的压缩
命名规范
后缀 | 含义 |
---|---|
.Z | compress压缩程序压缩的文件 |
.zip | zip |
.gz | gzip |
.bz2 | bzip2 |
.xz | xz |
.tar | tar程序打包的文件,没有压缩过 |
.tar.gz | tar打包,gzip压缩 |
.tar.bz2 | tar打包,bzip2压缩 |
.tar.xz | tar打包,xz压缩 |
压缩与解压缩
gzip
向下兼容compress软件
# gzip [-cdtv#] filename
gzip -v -9 filename # 以最高压缩比压缩并显示信息,压缩比1~9,直接压缩会替换掉源文件
gzip -d *.gz # 解压缩,直接解压缩会替换掉原压缩文件
# zcat/zmore/zless *.gz
zcat *.gz # 都可以尝试读取
# 其他的一些指令
zcmp # 解压文件并且 byte by byte 比较两个文件
zdiff # 解压文件并且 line by line 比较两个文件
zgrep # 解压文件并且根据正则搜索文件内容
ztest # Tests integrity of compressed files.
zupdate # Recompresses files to lzip format.
bzip2
比gzip压缩比更好,用法和gzip完全一致,除了文件名末尾变为bz2。
xz
比bzip2压缩比更好,用法和gzip完全一致,除了文件名末尾变为bz2。
打包
tar
参数 | 含义 |
---|---|
-c | 打包文件 |
-t | 查看打包文件的文件名 |
-x | 解压缩 |
-z | 通过gzip解压,适用于*.tar.gz |
-j | 通过bzip解压,适用于*.tar.bz2 |
-J | 通过xz解压,适用于*.tar.xz |
-f | 指定文件名 |
-p | 保留权限与属性等信息 |
-P | 保留绝对路径 |
注:-c,-t,-x不可同时出现
# 常用
tar -jcv -f filename.tar.bz2 # 压缩
tar -jtv -f filename.tar.bz2 # 查看
tar -jxvf filename.tar.bz2 # 解压缩
# 关于-p -P选项
tar -jpcvf /root/etc.tar.bz2 /etc # 先打包整个/etc目录
tar -jtf /root/etc.tar.bz2
-rw-r--r-- root/root 131 2022-01-24 10:30 etc/locale.conf # 里面的文件都被移除了根目录,这样解压时就不会被放回原来的目录,如果将p选项改为P,则会保留根目录
## 只解压解压包中某个文件的做法
tar -jtvf *.tar.bz2 filename
xfs文件系统备份
- 完整备份
- 增量备份
xfsdump
一些限制条件
- xfsdump不支持没有挂载的文件系统备份
- 需要root权限
- 只能备份完整的xfs
- 备份后的数据只能让
xfsrestore
- 文件UUID不能相同
# xfsdump [-L S_label] [-M M_label] [-l #] [-f 备份文件] data
xfsdump -I # 查看已有的备份信息
xfsdump -l 1 ... # 使用level来完成增量备份
xfsrestore
# xfsrestore [-L S_label] [-f 备份文件] directory
xfsrestore -I
光盘写入工具
mkisofs
# mkisofs [-o isoname] filename/directory_name
选项 | 含义 |
---|---|
-o | 镜像名 |
-r | 记录更多信息,包括UID/GID和权限 |
-V | 建立卷标 |
-J | 产生兼容windows的文件名结构 |
-graft-point | 好东西,分类镜像必备 |
怀疑书上的刻录过程可能过于古老了,遇到这样的任务再说。
其他常见的压缩备份工具
dd
(几乎)直接读取磁盘扇区,并备份。
cpio
可以备份任何东西,但必须配合find来备份
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Kawhicurry's Blog!
评论