linux打包及备份指令

0111

linux下文件(非目录)压缩指令
gzip -v filename 压缩*.gz

gzip -d *.gz 解压缩到当前目录

bzip2 -v filename 压缩成filename.bz2

bzip2 -d *.bz2  解压到当前目录

xz与之类似。

gzip, bzip2,xz 压缩比逐渐提高,相应的压缩时间也越来越长,但均只针对单一文件,不可压缩目录。

另外还有zcat zgrep zless bzcat bzgrep bzless  xzcat xzgrep xzless等直接查看压缩文件的命令,但用的较少。

0112

下面就是大名鼎鼎,使用频率超过的tar命令了。tar命令只要记住三个组合就可以了。

tar -c_vf  *.*z   待打包目录或文件

tar -t_vf  *.*z  待查看压缩文件(不解压)

tar -x_vf  *.*z  -C  解压目录  解压文件到指定目录(不加就解压到当前目录)

为什么第二字符空缺呢?因为有三种压缩指令啊。z j J 分别代表gzip  bzip2 xz。

所以见了*.gz 就用z调用gzip。见了*.bz2就用j调用bzip2. 见了*.xz就用J调用xz。

另外-f一定要放在最后,因为f后面跟的是压缩文件名,无论是压缩还是解压。

记住这三个组合就足够了,可以解决99%的问题。

还有什么-p 保留原始权限 -P保留根目录/(默认不保留,以防解压时的覆盖问题) --newer --exclude 等可记可不记。

0113

xfs系统备份有专门的备份指令。

xfsdump xfsrestore 由于我的文件系统是ext4,所以就不展开介绍了。

光盘命令:看看就好,没必要记。

mkisofs -rvo 制作光盘格式文件。

isoinfo 查看光盘内文件。

wodim 烧录光盘

了解即可。

0114:

有个超级有意思的备份命令 dd。名字有意思,功能更有意思。

为什么有意思呢?因为它功能非常底层。

拷贝文件的前提是什么?要格式化文件系统。总不能把文件拷到未格式化的硬盘上吧。

但,dd告诉你,可以的!

dd直接拷贝硬盘扇区,无视上层逻辑。扇区级拷贝啊,亲!这意味着可以做很多有意思的事情。

比如:机房批量安装系统。安装完一台后,假设安装到/dev/sda磁盘上。直接dd就可以将系统直接拷贝到其他机子(磁盘)上。

dd if=/dev/sda of=/dev/sdb  一模一样,扇区级拷贝啊,不用考虑其他,就是这么干脆。

再比如:我想将光盘拷到系统中怎么办呢?

dd if=/dev/sr0 of=/tmp/test.iso

又比如:我想备份某分区怎么办呢?

dd if=/dev/sda1 of=/tmp/backup.img

最后比如:我想彻底删除硬盘数据怎么办呢?

dd if=/dev/random of=/dev/sda bs=512 count=10000000

上面命令跑个七八遍,硬盘数据真的就神仙难救了。(bs*count要等于硬盘大小,其实不要也行,我这里是为了说明这两个参数)

直接rm -rf 是删不完全的。或者说只是逻辑删除,物理还在。

而上面命令直接写随机数,而随机了七八遍,逻辑上虽然没删,物理上已经死的不能再死了。

当然最基本的拷文件dd也是能够完成的。

dd if=/test/test1 of=/tmp/test

不过dd拷文件也是只拷贝内容,权限什么的没有拷贝。而且dd似乎是先用默认掩码权限新建一个文件,再拷贝。所以和cp的结果权限还不一样。

dd还可以新建指定大小的文件。

dd if=/dev/zero of=/tmp/newfile bs=1024 count=1024

新建1MB的文件。

还有一个备份命令:cpio 也挺有意思。这里不展开了。

备份:find / | cpio -ocvB > /dev/st0

还原:cpio -idvc < /dev/st0

0115

/dev/zero 常用作输入,表示写0.

/dev/null 常用作输出,表示接受任意写入。信息黑洞。

原文地址:https://www.cnblogs.com/zqiguoshang/p/6279843.html