压缩比排序-> tar(不压缩) < zip < gzip < bzip2 < xz
gzip/bzip2/xz FILE 压缩生成(.gz/.bz2/.xz)扩展名的文件 会删除原文件
gunzip|bunzip2|(unxz|xzdec) FILE(.gz/.bz2/.xz) 解压文件 会删除原文件
zcat/bzcat/xzcat FILE(.gz/.bz2/.xz) 不解压的情况下查看文本文件的内容
gzip&bzip2&xz通用选项
-k 保留源文件(gzip不支持)
-d 解压缩
-N [1, 9]指定压缩比 默认为6
zip是既归档又压缩但压缩比不大 众多OS默认支持的压缩格式
zip FILE.zip FILE... 压缩后不删除原文件
unzip FILE.zip 解压后不删除原文件
tar options [-f FILE.tar[.gz|.bz2|.xz]] [FILE...] 归档命令 选项可不加-
-c 归档
-x 展开
-t 查看归档中的文件名
-v 显示详细信息
-f FILE 要tar的文件
-C DIR 在指定目录展开[解压缩]
-z 展开的同时解压缩.gz文件
-j 展开的同时解压缩.bz2文件
-J 展开的同时解压缩.xz文件
-p 保留备份数据原本的权限和属性
-P 直接在归档前的文件的原绝对路径下展开
--exclude=FILE 归档过程中 不要将FILE归档
dd if=INPUTFILE of=OUTPUTFILE bs=BLOCKSIZE count=COUNT
[skip=SKIP] [seek=SEEK] 从if复制到of 复制大小为BLOCKSIZE*COUNT
skip表示if跳过多少SKIP个字节开始复制 seek表示of跳过SEEK个字节开始复制
cpio 古老却还是有用的归档和展开命令
cpio -ovcB > [FILE|DEV] 备份 需要配合find命令使用
cpio -ivcdu < [FILE|DEV] 还原
cpio -ivct < [FILE|DEV] 查看
-o 复制输出(备份)
-i 来自文件或设备复制到系统
-d 自动新建目录 否则展开不一定在同一目录
-B 默认blocks从512b增加道5120b 增加大文件存储速度
-u 新的文件覆盖旧的文件
-t 配合-i 查看文件或设备内容
-c 一种portable format格式存储
-v 显示详细信息
一些例子
1 将/etc目录归档压缩的同时在当前目录进行展开 -代表缓冲区
tar -cvf - /etc | tar -xvf -
2 展开[解压缩]的最简单写法 根据文件扩展名自动展开[解压缩]
tar -xf FILE.tar[.gz|.bz2|.xz]
3 查看归档中后缀名为.sh的文件 并详细显示出来
tar -tvf TARFILE | egrep "*.sh"
4 cpio例子
cpio -ivcdu < initrd 还原
cpio -ivct < initrd 查看
find /etc | cpio -ovcB > etc.old 备份
5 dd例子
if=/dev/sda of=~/mbr.bak bs=512 count=1 备份MBR表
if=/dev/zero of=/dev/sda bs=512 count=1 抹除MBR表
一个文件abc.gz,大小为83456k 要将文件备份分成三个部分
第一部分为备份文件abc.gz的前10000k
第二部分为中间的70000k
最后备份后面的3456k.
备份方法如下
dd if=abc.gz of=abc.gz.bak1 bs=1k count=10000
dd if=abc.gz of=abc.gz.bak2 bs=1k skip=10000 count=70000
dd if=abc.gz of=abc.gz.bak3 bs=1k skip=80000
恢复方法如下
dd if=abc.gz.bak1 of=abc.gz
dd if=abc.gz.bak2 of=abc.gz bs=1k seek=10000
dd if=abc.gz.bak3 of=abc.gz bs=1k seek=80000
旧命令
压缩命令 compress uncompress
旧备份和还原命令 dump restore
刻录相关命令 mkisofs cdrecord
来源:oschina
链接:https://my.oschina.net/u/2898088/blog/745510