20200509
文件压缩
压缩技技原理
如数字1用1个字节表示,事实计算机的最小计算单位是1bit,所以数字1就是00000001,利用一些特殊的算法通过把前7个0"丢掉“就达到了节省空间的目的
如1111111111111111111111110,前面有十几个1甚至更多,可以用15*1来表示存储之类达到节省空间
gzip
替代compress,最常用的压缩命令,gzip压缩后的文件可以被windows的winrar和7.zip解压
gzip 1.txt # 会自动生成1.txt.gz,.gz后缀名文件,注意源文件1.txt会不再存在
gzip -d 1.txt.gz #解压缩得到1.txt, gz文件会不再存在
gzip -v 1.txt #压缩的同时显示压缩比
zcat/zmore/zless/zgrep 可以用来查看或查找被压缩的文件
gzip -9 -c service > service.gz #-c将原本要压缩的内容变成文字类型从屏幕输出,然后利用>输出到service.gz(手动建立),这样原文件与压缩文件都同时存在
bzip2 与gzip用法一样,压缩比更好,后缀名bz2
xz用法与gzip用法一样,压缩比更好,后缀名 xz
xz -l abc.xz #显示压缩前后容量对比
xz -k abc.txt #压宿文件同时保留源文件
tar
gzip等压缩软件只能对单一文件解压缩,tar是将多个文件或目录进行打包并能结合gzip解压缩命令
tar [-jzJ]cv -f 打包的文件名 要打包的文件 #打包并压缩
tar [-jzJ]tv -f 压缩的文件 #查看文件
tar [-jzJ]xv -f 压缩的文件 [-C 目录] #解压文件
-p #保留备份数据的原始权限与属性
-P #保留绝对路径,即允许备份数据中含有根目录,慎用
--exclude=文件 #不包含某个文件
备份/etc
tar -zpcvf /root/etc.tar.gz /etc
查看tar内部文件
tar -ztvf /root/etc.tar.gz
解压.tar.gz 到/tmp目录下
tar -zxvf /root/etc.tar.gz -C /tmp
打包某目录但不包含特定目录
tar -zcvf /root/system.tar.gz --exclude=/root/etc* \
--exclude=/root/system.tar.gz /etc /root #打包etc和root目录但不包含root目录下的etc相关文件与自己本身,exclude最好放在tar.gz后面
备份比某个时刻要新的文件
[root@localhost ~]# ll /etc/passwd
-rw-r--r--. 1 root root 1498 Apr 29 05:09 /etc/passwd #日期为20200429
tar -zcvf /root/etc.newer.then.passwd.tar.gz --newer-mtime="20200429" /etc/* #打包比20200429要新的mtime的文件
tar -ztvf /root/etc.newer.than.passwd.tar.gz | grep -v "/$" # 调用grep找出非/结尾的文件就是我们要的
tar -cvf file.tar # 仅是打包文件称为tarfile
tar -zcvf file.tar.gz #有压缩的支持称为tarball
tar可以将文件打包到某些特定的设备中,如磁带tab,磁带是一次性读取/写入设备,不能用cp来复制,如将/home /root /etc备份到磁带/dev/st0
tar -cvf /dev/st0 /home /root /etc
xfs文件系统的备份与恢复
xfsdump #备份,可以完整备份,增量备份,注意只能备份已挂载的文件系经
xfsrestore #还原,可以还原守整备份,增量备份(要安顺序level0->level1---),可以还原指定的文件, -i交互模式
光盘写入工具
先将所需要备份的数据创建成为一个镜像文件iso
将该镜像文件刻录到cd或dvd中
一般用图形界面软件来操作即可,无需用命令行工具