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 常用作输出,表示接受任意写入。信息黑洞。