1 压缩
1.1 压缩的概念
目前计算机系统中都是使用bytes单位来计量的!而计算机最小的计量单位应该是 bits 才对啊。但是如果今天我们只是记忆一个数字1, 在最右边占据 1 个 bit ,而其他的7bits将会自动的被填上0,而一些聪明的计算机工程师就利用一些复杂的计算方式,将这些没有使用到的空间丢出来,以让文件占用的空间变小!这就是压缩的技术啦!
另外一种压缩技术也很有趣,他是将重复的数据进行统计记录的。举例来说,如果你的数据为111….,共有 100 个 1 时,那么压缩技术会记录为“100 个 1”而不是真的有 100 个 1 的位存在!这样也能够精简文件记录的容量呢!
| 常见格式 |
压缩程序 |
解压程序 |
备注 |
| *.Z |
compress |
uncompress |
被gzip取代 |
| *.zip |
zip |
unzip |
|
| *.gz |
gzip |
gunzip |
兼容*.Z和*.zip |
| *.bz2 |
bzip2 |
bunzip |
|
| *.xz |
xz |
unxz |
|
| *.tar |
tar |
tar |
|
| *.tar.* |
tar+压缩 |
|
|
1.2 压缩工具——zip、gzip、bzip2、xz
命令:gzip [ -acdfhklLnNrqtvV19 ] [–rsyncable] [-S suffix] [filenames…]
bzip2 [ -cdfkhqstvzVL123456789 ] [ filenames …]
xz [ -cedfkhqtvzV123456789 ] [ filenames …]
描述:压缩或者解压缩文件,查看压缩文件信息。默认分别自动添加.gz,.bz2,.xz后缀。
1.2 解压缩工具——unzip、gunzip、bunzip2、unxz
命令:gunzip [ -acfhklLnNrtvV ] [-S suffix] [filenames…]
bunzip2 [ -fkvsVL ] [ filenames … ]
unxz [ -cdfkhqtvzV123456789 ] [ filenames … ]
描述:解压缩文件,查看压缩文件信息。
1.3 自解压工具——gzexe、bzexe
命令:gzexe [ -d ] [exe_file…]
bzexe [ -d ] [exe_file…]
描述:压缩可执行文件为运行时自解压文件,解压缩自解压文件。输出文件会在文件名后加上后缀~。
1.4 *.Z转为*.gz格式——znew
命令:znew [ -ftv9PK] [ name.Z … ]
描述:将*.Z文件重新压缩为*.gz文件。
1.5 强制添加*.gz后缀——zforce
命令:zforce [ name… ]
描述:强制gzip压缩文件加上后缀.gz,以避免压缩两次。
1.6 压缩文件修复工具——bzip2recover
命令:bzip2recover [filename.bz2…]
描述:修复损坏的bz2文件。
2 打包——tar
命令:tar [ -z|j|J ] [ -x|c|t ] [ -v ] -f [ dest ] srv
tar [ -Adr ] [ –delete ] -f [ dest ] srv
描述:将多个目录或文件打包成一个大文件,同时还可以通过 gzip/bzip2/xz 的支持,将该文件同时进行压缩! 如果只想解打包单独的文件,只需目标文件为该文件即可。
| 常用选项 |
作用 |
| -A |
新增文件到已存在的打包文件; |
| -c |
建立新的打包文件; |
| -C dir |
将打包文件拆放在dir目录下 |
| -d |
找出归档文件和文件系统之间的差异 |
| -x |
解打包文件 |
| -t |
列出打包文件的内容 |
| -z |
通过gzip指令处理备份文件; |
| -j |
通过bzip2处理文件 |
| -J |
通过xz处理文件 |
| -f 文件 |
指定要处理的文件,该选项只能在最末尾 |
| -v |
显示指令执行过程; |
| -r |
添加文件到打包文件末尾 |
| -p |
保留原本权限与属性,常用于备份(-c)重要的配置文件 |
| -P |
保留绝对路径,即允许备份数据中含有根目录; |
| –delete |
从打包文件删除文件 |
| –exclude=FILE |
在打包过程中,不要将FILE 打包! |
| –newer TIME |
仅打包mtime 与 ctime 新于TIME的文件 |
| –newer-mtime TIME |
仅打包mtime新于TIME的文件 |
| 更多信息 |
http://linux.51yip.com/search/tar 和 man 手册 |
|
http://man.linuxde.net/tar |
3 分割文件—split
命令:split [OPTION]… [FILE [PREFIX]]
描述:将一个文件分割为多个文件,合并分割文件则是使用重定向。
4 文件系统备份与还原
4.1 xfs文件系统备份——xfsdump
命令:xfsdump [-L S_label] [-M M_label] [-l #] [-f 备 份名] 待备份文件
xfsdump -I
描述:xfsdump是通过文件系统的UUID来分辨各个备份档的,因此不能备份两个具有相同UUID的文件系统,仅支持文件系统的备份,不支持特定目录的备份,不支持没有挂载的文件系统备份,必须使用root权限,只能备份XFS,备份文件只能用xfsrestore解析。
4.2 xfs文件系统恢复——xfsrestore
命令:xfsrestore -I
xfsrestore [-f 备份文件 ] [-L S_label] 待复原目录
xfsrestore [-f 备份文件 ] [-L S_label] [-s] 单一目录或文件 待复原目录
xfsrestore [-f 备份文件 ] -r 待复原目录
xfsrestore [-f 备份文件 ] -i 待复原目录 描述:文件系统恢复,恢复顺序与备份顺序一样。
4.3 ext文件系统备份——dump
命令:dump [- Suvj] [-level] [-f 备份文件] 待备份文件
dump -w 描述:备份文件系统或目录。当备份文件系统时可以使用dump的完整功能,和0-9级,可以使用挂载点或设备文件名;当备份目录时,所有待备份数据都要在该目录,只支持0级,不支持-u。
4.4 ext文件系统恢复——restore
命令:restore -t [-f dumpfile] [-h]
restore -C [-f dumpfile] [-D 挂载点]
restore -i [-f dumpfile] [-h]
restore -r [-f dumpfile] [-h]
描述:文件系统恢复,恢复顺序与备份顺序一样。
5 光盘刻录
5.1 建立映像文件——mkisofs、genisoimage
命令:mkisofs|genisoimage [-o 映像文件 ] [-Jrv] [-V vol] [-m file] 待备份文件… -graft-point isodir=systemdir…
描述:制作映像文件。
5.2 刻录工具——cdrecord、wodim
命令:wodim –devices dev=/dev/sr0…
wodim -v dev=/dev/sr0 blank=[fast|all]
wodim -v dev=/dev/sr0 -format
wodim -v dev=/dev/sr0 [可用选项功能] file.iso
cdrecord -scanbuSdev=ATA
cdrecord -v dev=ATA:x,y,z blank=[fast|all]
cdrecord -v dev=ATA:x,y,z -format
cdrecord -v dev=ATA:x,y,z [可用选项功能] file.iso
描述:将映像文件刻录到光盘。
| 常用选项 |
作用 |
| -scanbuSdev |
扫瞄磁盘总线并找出可用的刻录机,后续的装置为 ATA 接口 |
| –devices |
扫瞄磁盘总线并找出可用的刻录机,后续的装置为 ATA 接口 |
| -v |
在 cdrecord 运作的过程中,显示过程而已。 |
| dev=/dev/sr0 |
可以找出此光驱的 bus 地址,非常重要! |
| dev=ATA:x,y,z |
后续x,y,z为刻录机所有位置,非常重要! |
| blank |
blank 为抹除可重复写入的 CD/DVD-RW,使用 fast 较快,all 较完整 |
| -format |
对光盘片进行格式化,但是仅针对 DVD+RW 这种格式的 DVD 而已; |
| [可用选项] |
主要是写入 CD/DVD 时可使用的选项,常见的选项包括有: |
| -data |
指定后面的文件以数据格式写入,不是以 CD 音轨(-audio)方式写入! |
| speed=X |
指定刻录速度,例如 CD 可用 speed=40 为 40 倍数,DVD 则可用 speed=4 之类 |
| -eject |
指定刻录完毕后自动退出光盘 |
| fs=Ym |
指定多少缓冲存储器,可用在将映像档先暂存至缓冲存储器。预设为 4m,一般建议可增加到 8m ,不过,还是得视你的刻录机而定。 |
| 针对 DVD 的选项 |
|
| driveropts=burnfree |
打开 Buffer Underrun Free 模式的写入功能 |
| -sao |
支持 DVD-RW 的格式 |
| 更多信息 |
http://linux.51yip.com/search/cdrecord |
|
http://man.linuxde.net/cdrecord |
|
http://linux.51yip.com/search/wodim |
|
http://man.linuxde.net/wodim |
|
man 手册 |
6 其他常见的压缩与备份工具
6.1 磁盘备份——dd
命令:dd if=”input_file” of=”output_file” bs=”block_size” count=”number”
描述:读取磁盘装置的内容,然后将整个装置备份成一个文件呢!此外还可以备份文件,制作指定大小的文件。dd是一个一个扇区去读/写的,即使没有用到的扇区也会倍写入备份文件中!因此这个文件会变得跟原本的磁盘一模一样大!不过,dd就是因为不理会文件系统,单纯有啥纪录啥,因此不论该磁盘内的文件系统你是否认识,它都可以备份、还原的!
6.2 标准IO备份——cpio
命令:cpio -ovcB > [file|device]
cpio -ivcdu < [file|device]
cpio -ivct < [file|device]
描述:可以备份任何东西,包括装置设备文件。 cpio 不会主动的去找文件来备份!所以cpio得要配合类似find等可以找到文件名的指令来告知 cpio 该被备份的数据在哪里。
| 常用选项 |
作用 |
| -o |
将数据 copy 输出到文件或装置上 |
| -B |
让预设的Blocks可以增加至5120 bytes ,预设是 512 bytes !让大文件的储存速度加快 |
| 还原选项 |
|
| -i |
将数据自文件或装置 copy 出来系统当中 |
| -d |
自动建立目录!使用cpio所备份的数据内容不见得会在同一层目录中,因此必须让cpio在还原时可以建立新目录 |
| -u |
自动的将较新的文件覆盖较旧的文件! |
| -t |
需配合 -i 选项,可用在”察看”以 cpio 建立的文件或装置的内容 |
| 共享选项 |
|
| -v |
让储存的过程中文件名可以在屏幕上显示 |
| -c |
一种较新的 portable format 方式储存 |
| 更多信息 |
http://linux.51yip.com/search/dd 和 man 手册 |
|
http://man.linuxde.net/dd |