Linux鸟哥私房菜学习笔记_第九章档案与文件系统的压缩与打包

Linux常见压缩文件扩展名:*.tar,*.tar.gz,*.tgz,*.gz,*.Z,*.bz2,*.zip

  • .Z: compress程序压缩的档案
  • .gz: gzip程序压缩的档案
  • .tar: bzip2程序压缩的档案
  • .tar.gz: tar程序打包的档案,其中并且经过gzip的压缩
  • .tar.bz2: tar程序打包的档案,其中并且经过bzip2的压缩


compress -v hello 压缩档案hello
compress -c hello > hello.back.Z 压缩档案为hello.back.Z作为备份
-r:可以连同目录下的档案也同时给与压缩
-c:将压缩数据输出成为standard output
-v:可以显示出亚手档案信息以及压缩过程的一些档名变化
uncompress hello.Z
注意:compress已经很少被使用了,已经过时,因为该程序无法解开*.gz档案

gzip [-cdtv#] 档名:压缩档案
zcat 档名.gz:读取档案内容
-c:将压缩的数据输出到屏幕上,可透过数据流重导向来处理
-d:解压缩的参数
-t:可以用来检验一个压缩文件的一致性,看看档案有无错误
-v:可以显示出原档案/压缩文件的压缩比等信息
-#:压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好!预设时-6
gzip -vc hello >hello.gz 压缩档案并显示压缩比等信息
zcat hello.gz 读取hello.gz中的内容
gzip -d hello.gz 解压缩hello.gz //gzip -d等同于gunzip
gzip -9 -v hello 以最好的压缩比压缩档案
gzip -d hello.Z 解压缩*.Z的文件

bzip2[-cdkzv#] 档名
bzcat 档名.bz2
-c:将压缩的过程产生的数据输出到屏幕上
-d:解压缩参数
-k:保留源文件,而不会删除原始的档案哦
-z:压缩的参数
-v:可以显示出原档案/压缩文件案的压缩比等信息
-#:与gzip同样的,都是在计算压缩比的参数,-9最佳,-1最快
bzip2 hello 压缩档案
bzip2 -d hello.bz2 解压缩档案//bzip -d等同于bunzip
bzip2 -cv hello > hello.bz2 压缩档案
bzcat hello.bz2 读取压缩档案
bzip2 -9cv hello > hi.bz2 压缩档案
bzip2 -kv hello 压缩档案。不会删除原始文件

打包指令:tar
compress、gzip、bzip2主要针对档案进行压缩
tar [-j|-z] [cv] [-f 建立的档名] filename... :打包与压缩
tar [-j|-z] [tv] [-f 建立的档名] :查看档名
tar [-j|-z] [xv] [-f 建立的档名] [-C 目录] :解压缩
-c:建立打包档案
-t:查看打包档案的内容含有哪些档名
-x:解打包或解压缩
-j:透过bzip2的支持进行压缩/解压缩,档名最好为*.tar.bz2
-z:透过gzip的支持进行压缩/解压缩,档名最好为*.tar.gz
-v:在压缩/解压缩的过程中,将正在助理的文件名显示出来
-f filename:-f后面要立刻接被处理的档名
-p:保留原本档案的权限与属性
-C 目录:解压缩参数,解压到特定目录
注意:-c,-t,-x不可同时出现在一串指令列中
tar -jcv -f test.tar.bz2 test/ hello 将test目录和hello档案打包压缩
tar -zcv -f hello.tar.gz test/ hello 同上
tar -jpcvf test.tar.bz2 test/ 打包压缩档案,并保留档案原本属性
tar -jtvf test.tar.bz2 查看档案内容
tar -jxv -f test.tar.bz2 解压缩档案到当前目录
tar -jxvf test.tar.bz2 -C me/ 解压缩档案到特定目录me/
tar -jtvf test.tar.bz2 | grep "test" 查看压缩包中是否包含特定档案
tar -jxvf test.tar.bz2 test/test 解压缩特定档案
tar -jcvf me/test.tar.bz2 --exclude=test/*.apk test/ 打包压缩目录,不包括test/下所有apk文件
tar -jcvf me/newer.tar.bz2 --newer-mtime="2013/11/13" test/ 打包档案,时间比11.13新
tar -cvf - ../test/ | tar -xvf - 边打包../test/目录,边解压到当前目录

zip:档案压缩
zip -r test.zip test/ 将test目录压缩成test.zip
zipinfo test.zip 查看test.zip中的内容
zipinfo test.zip | grep "test" 查看test.zip中包含test的档案
zip -d test.zip test/hello 删除zip包中的hello档案
zip -g test.zip test/hello 添加hello档案到zip包中
unzip test.zip 解压到当前目录
unzip mnt/test.zip -d me/ 解压档案到制定目录me/

dump:档案备份
dump [-Suvj] [-level] [-f 备份档] 待备份资料
-S:仅列出后面的待备份数据需要多少磁盘空间才能够备份完毕
-u:将这次dump的时间记录到 /etc/dumpdates 档案中
-v:将dump的档案过程显示出来
-j:加入bzip2的支持!将数据进行压缩,默认bzip2压缩等级为 2
-level:等级,从-0 ~ -9 共十个等级
-f:有点类似 tar,后面接产生的档案,亦可接例如 /dev/st0 装置文件名等
-W:列出在 /etc/fstab 里面的具有dump设定的partition 是否有备份过
sudo dump -S ~/study/ 计算备份~/study目录需要多少容量
sudo dump -vj -f ~/dump/study.dump.bz2 ~/study/ 将study目录备份到dump目录下
sudo dump -0uvj -f /root/boot.dump /boot 完整备份/boot并记录为/root/boot.dump

restore -t [-f dumpfile] [-h] :用来查看dump档
restore -C [-f dumpfile] [-D 挂载点] :比较dump和实际档案
restore -i [-f dumpfile] :进入互动模式
restore -r [-f dumpfile] :还原整个文件系统
-t :此模式用在查看dump起来的备份文件中含有什么重要数据,类似tar -t功能
-C :此模式可以将dump内数据拿出来跟实际的文件系统作比较,最终会列出在dump档案内有记录的,且目前文件系统不一样的档案
-i :进入互动模式,可以仅还原部分档案,用在dump目录时的还原
-r :将整个文件系统还原的一种模式,用在还原针对文件系统的dump备份
-h :查看完整备份数据中的inode与文件系统label等信息
-f :后面接你要处理的那个dump档案
-D :与-C进行搭配,可以查出后面接的挂载点与dump内有不同的档案
注意:各种模式无法混用,不可写-tC
restore -t -f ~/dump/study.dump.bz2 查看dump档
restore -C -f ~/dump/study.dump.bz2 查看文件系统与备份文件之间的差异
restore -i -f ~/dump/study.dump.bz2 进入restore互动模式

mkisofs:建立映像档
mkisofs [-o 映像档][-rv][-m file]待备份文件
-o:后接要产生的那个映像档名
-r:透过Rock Ridge产生支持Unix/Linux的档案数据,可记录较多的信息
-v:显示建置ISO档案的过程
-m:排除档案,后接不备份到映像档中的档案
-V vol:建立Volume
mkisofs -r -v -o me/test.img test/ 建立映像档
sudo mount -o loop me/test.img mnt/ 将建立的映像档挂载到mnt目录

你可能感兴趣的:(Linux鸟哥私房菜学习笔记_第九章档案与文件系统的压缩与打包)