1.常见压缩命令
Linux中常见压缩命令:gzip,bzip2,tar,常见的文件扩展名有*.Z,*.gz,*.bz2,*.tar,*.tar.gz,*.tar.bz2。
*.Z : compress程序压缩文件,现在基本不用;
*.gz : gzip程序压缩的文件;
*.bz2: bzip2程序压缩的文件;
*.tar : tar 程序打包的数据,并没有压缩过;
*.tar.gz : tar程序打包的文件,其中经过gzip的压缩;
*.tar.bz2 :tar程序打包的文件,其中经过bzip2的压缩。
gzip,zcat
gzip可以解开compress,zip与gzip等软件压缩的文件。
gzip [-cdtv#] 文件名
zcat 文件名.gz :读取compress与zip压缩的文件
-c:将压缩的数据输出到屏幕,可通过数据流重定向来处理;
-d:解压缩的参数;
-t:用来检验一个压缩文件的一致性,看看文件是否有误;
-v:可以显示原文件/压缩文件的压缩比等信息;
-#:压缩等级,-1最快,-9最慢,压缩比最好默认是-6
当gzip进行压缩时,默认状态下原文件被压缩成为.gz的文件,同时原文件就不存在了。
通过zcat file.txt.gz 读取压缩文件的内容。
gzip -d file.txt.gz 将file.txt.gz解压为file.txt,同时删除file.txt.gz
bzip2,bzcat
用法同gzip相同:
bzip2 [-cdkzv#] 文件名
bzcat 文件名.bz2:读取压缩的文件内容
-c:将压缩的过程数据输出到屏幕;
-d:解压缩的参数;
-k:保留原文件,不删除原始的文件
-z:压缩参数;
-v:可以显示原文件/压缩文件的压缩比等信息;
-#:压缩等级,-1最快,-9最慢,压缩比最好默认是-6
打包指令:tar
tar常用几个参数如下:
tar [-j | -z] [cv] [-f 新建的文件名] filename… <=打包与压缩
tar [-j | -z] [xv] [-f 新建的文件名] <=查看文件名
-c :新建打包文件,可搭配-v来查看过程中被打包的文件名;
-t :查看打包文件内容含有哪些文件名,重点在查看文件名;
-x:解压缩或解打包功能,可搭配 -C 在特定目录解开。
注意 -c,-t,-x不可同时出现在同一命令行中。
-j:通过bzip2的支持进行压缩/解压缩,此时文件名最好为*.tar.bz2;
-z:通过gzip的支持进行压缩/解压缩,此时文件名最好为*.tar.gz;
-v:在压缩/解压过程中,将正在处理的文件名显示出来;
-f:后面接被处理的文件名。建议-f单独写一个参数;
-C:目录。在特定目录解压缩;
-p:保留原本权限和属性;
-P:保留绝对路径。
总结:
- 压缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称 (bzip2 -j ;gzip -z)
- 查询:tar -jtv -f filename.tar.bz2
- 解压:tar -jxv -f filename.tar.bz2 -C 制定解压目录
2.完整备份工具:dump
当针对文件系统进行备份或者是单一目录时,可以使用dump。但是对于目录的支持有以下不足。
- 当待备份的数据为单一文件系统
可以完整的使用dump功能。
- 待备份数据只是目录,并非单一文件系统
- 所有备份数据必须要在该目录下面;
- 且仅能使用level 0,即仅支持完整备份而已;
- 不支持 -u 参数,即无法创建/etc/dumpdates这个level备份的时间记录文件。
dump [-Suvj] [-level] [-f 备份文件] 待备份数据
-S:仅列出后面待备份数据需要多少磁盘空间才能够备份完毕;
-u:将这次dump的时间记录到/etc/dumpdates文件中;
-v:将dump的文件过程显示出来;
-j:加入bzip2支持,将数据进行压缩,默认bzip2压缩等级为2;
-level:等级。-0 到 -9
-f:类似tar,后面接产生的文件
-W:列出在/etc/fstab里面的具有dump设置分区是否有备份过。
3.恢复数据:restore
restore -t [-f dumpfile] [-h] :查看dump文件
restore -C [-f dumpfile] [-D 挂载点] :比较dump与实际文件
restore -i [-f dumpfile]:进入互动模式
restore -r [-f dumpfile]:还原整个文件系统
4.其他压缩与备份命令
dd
dd if=”input file” of=”output file” bs=”block size” count=”number”
if:input file,也可以是设备
of:output file,也可以是设备
bs:规划的一个block的大小,默认512bytes(一个扇区大小)
count:多少个bs的意思
cpio
cpio可以备份任何东西,包括设备文件,不过cpio有个大问题,不会主动去找文件备份。
cpio -ovcB > [file|device] :备份
-o: 将数据copy输出到文件或者设备上;
-B:让默认的blocks可以增加至5120 bytes,默认是 512 bytes。
cpio -ivcdu < [file|device]:还原
-i:将数据自文件或设备复制到系统中;
-d:自动新建目录。使用cpio 所备份的数据内容不见得会在同一层目录中,因此必须让cpio在还原时可以新建目录,此时就要 -d 参数;
-u:自动将较新的文件覆盖较旧的文件;
-t:需配合参数 -i,可用在以cpio新建的文件或设备的内容;
-v:让存储的过程文件名在屏幕上显示;
-c:一种较新的protable format 方式存储。
cpio -ivct < [file|device] :查看