别人的Linux私房菜(9)文件与文件系统的压缩
www网站利用文件压缩技术进行数据传输,提升网络带宽。
压缩命令gzip与显示zcat、zmore、zless、zgrep
-c将压缩的数据显示到屏幕上
-d解压缩
-v显示原文件/压缩文件的压缩比等信息
-#压缩等级,1最快9最慢
例如压缩(默认不保留原文件):gzip -v service[文件]
解压缩:gzip -d service.gz
压缩并保留原文件:gzip -9 -c service > service.gz
查找压缩文件里http字段所在的行:zgrep -n 'http' service.gz
读取压缩文件zcat service.gz
bzip2基本同gzip(为了提供更佳的压缩比)(查看bzcat、bzmore、bzless、bzgrep)
-c -d -v -#同gzip -k保留原始文件
用法同gzip
xz与xzcat、xzmore、xzless、xzgrep
参数-v -d -c -k -#同bzip -l列出压缩文件的相关信息
打包命令:tar
-c建立打包文件 -t查看打包文件含有的文件名 -x解包或解压缩
-z通过gzip支持的压缩和解压缩 -j通过bzip2支持的压缩和解压缩 -J通过xz支持的压缩和解压缩
-v将正在处理的文件名显示出来 -f后面接立即处理的文件名 -C 【目录】 在特定目录解压缩
-p保留原本的权限与属性 -P保留绝对路径 --exclude=FILE在压缩的过程中不要将FILE打包
例如打包并显示时间:time tar -zpcv -f /root/etc.tar.gz /etc
time tar -jpcv -f /root/etc.tar.bz2 /etc time tar -Jpcv -f /root/etc.tar.xz /etc
查看tar文件的数据内容:tar -jtv -f /root/etc.tar.bz2(无根目录/)
将文件名中的根目录也备份,tar -jpPcv -f /root/etc.androot.tar.bz2 /etc
查看:tar -jtf /root/etc.androot.tar.bz2 发现路径中带有根目录/
解打包:tar -jxv -f /root/etc.androot.tar.bz2 在当前的工作目录下解打包
解打包到指定目录:tar -jxv -f /root/etc.androot.tar.bz2 -C /tmp
解开单一文件:#找到文件名,tar -jtv -f /root/etc.tar.bz2 | grep 'shadow' #解压该文件 tar -jxv -f /root/etc.tar.bz2 etc/shadow
打包某目录但不含该某些目录:tar -jcv -f /root/system.tar.bz2 --exclude=/root/etc* --exclude=/root/system.tar.bz2 /etc /root
仅备份比某个时刻还要新的文件:#查找etc中比passwd要新的文件 find /etc -newer /etc/passwd
ll --full-time /etc/passwd查看文件日期 tar -jcv -f /root/etc.newer.than.passwd.tar.bz2 --newer-mtime="2019/04/09" /etc/*
tarfile 即通过 tar -cv -f file.tar打包的文件
tarball 即通过 tar -jcv -f file.tar.bz2 进行的带有压缩支持的文件
文件打包到磁盘:tar -cv -f /dev/st0 /home /root /etc
输出文件为 - 输入文件也为 - |管道命令。tar -cvf - /etc | tar -xvf -#将/etc下面的数据打包,通过tar命令解压到当前工作目录 类似 cp -r
通过tar备份/etc目录,在其他系统上还原的过程中,可能导致/etc/shadow密码文件的SELinux类型在还原时被更改,导致登录程序无法读取。
通过修改/etc/selinux/config文件,更改selinux为permissive模式,重启,
或恢复系统后使用restorecon -Rv /etc自动修复selinux
或建立/.autorelabel文件,重启后自动修复selinux
xfsdump的完整备份和增量备份(备份差异文件)。
xfsdump只能备份挂载的文件系统,需要root权限才能操作。只能通过xfsrestore解析,不能备份两个UUID相同的文件系统
-L记录每次备份的session标头
-M记录存储媒介的标头
-l指定等级,0为完整备份
-f后接产生的文件
-I从/var/lib/xfsdump/inventory列出目前备份的信息状态
例如:xfsdump -l 0 -L boot_all -M boot_all -f /srv/boot.dump /boot备份boot
之后查看备份的状态信息:ll /var/lib/xfsdump/invernory
查看文件系统被备份过的数据:xfsdump -I
建立一个新文件在/boot中:dd if=/dev/zero of=/boot/testing.img bs=1M count=10
之后可以通过增量备份,只备份不一样的数据:xfsdump -l 1 -L boot_2 -M boot_2 -f /srv/boot.dump1 /boot
之后再查看备份过的数据:xfsdump -I
xfs文件系统还原:xfsrestore
-f后接备份文件,-L指定Label name -s仅恢复某一目录或文件 -r磁带内多文件的累积恢复 -i进入交互模式 -I查看备份数据
将备份数据还原:xfsrestore -f /srv/boot.dump -L boot_all /boot
将备份数据在某路径/tmp/boot下解开:xfsrestore -f /srv/boot.dump -L boot_all /tmp/boot
diff -sm /boot /tmp/boot查找两个文件夹下的内容差异
将备份数据中的grub2恢复到/tmp/boot2:xfsrestore -f /srv/boot.dump -L boot_all /tmp/boot2
恢复增量备份数据:xfsrestore -f /srv/boot.dump1 /boot
仅恢复部分文件的xfsrestore交互模式
如将部分数据恢复到/tmp/boot3中:xfsrestore -f /srv/boot.dump -i /tmp/boot3 ls add xx add xx add xx extract
光盘写入工具,
建立镜像文件:mkisofs
-o 后接产生的镜像文件 -r可记录较多的文件信息 -v显示创建过程 -V vol 建立卷标
-m 排除文件,不备份到镜像中的文件 -graft-point:graft转嫁移植
光盘格式iso9660一般支持8.3(8文件名3字符拓展名,加入-r,可以记录更多)
建立镜像文件:mkisofs -r -v -o /tmp/system.img /root /home /etc
挂载镜像文件:mount -o loop /tmp/system.img /mnt
查看挂载情况:df -h /mnt
查看镜像文件内容:ls /mnt
卸载:umount /mnt
目录分类建立镜像文件:mkisofs -r -V 'Linux file' -o /tmp/system.img -m /root/etc \
-graft-point /root=/root /home=/home /etc=/etc建立后文件归类。
查看光盘信息:
isoinfo -d -i /home/CentOS.iso
通过挂载,创建工作目录,rsync -a 方式(完整复制数据,包括权限)将挂载点的数据复制到工作目录下,
修改文件后,重新建立镜像文件,完成制作可启动光盘镜像文件,之后可以刻录
wodim光盘刻录工具
wodim --device dev=/dev/sr0#查询刻录机的bus位置
wodim -v dev=/dev/sr0 blank=fast#擦除光盘原始内容
wodim -v dev=/dev/sr0 speed=4 -dump -eject /tmp/system.img#刻录光盘
刻录完毕后可以通过挂载检查文件内容
dd可以将设备文件复制等
if input file of output file bs block size count数量

上图4+1表示 四个扇区存满,一个未满。512
将光盘备份成为镜像文件:dd if=/dev/sr0 of=/tmp/system.iso
假设u盘为/dev/sda,将u盘刻录为光盘:dd if=/tmp/system.iso of=/dev/sda
将boot整个文件系统备份下来:首先查询boot的挂载点 df -h /boot
之后,备份:dd if=/dev/sda2 of=/tmp/sda2.img 查看:ll -h /tmp/sda2.img
创建新的分区/sda3后,可以将sda2直接放入到sda3中生成文件系统:(sda3应比sda2.img大)
dd if=/dev/sda2 of=/dev/sda3 #建立复制
xfs_repair -L /dev/sda3#清除日志
uuidgen
xfs_admin -U xxxxxx /dev/sda3#修改UUID
mount /dev/sda3 /mnt#挂载
xfs_growfs /mnt#文件系统放大
cpio 备份具体man吧!命令真的太多了
找出boot下的所有文件然后备份到tmp下、:find boot | cpio -ocvB > /tmp/boot.cpio
查看文件类型:file /tmp/boot.cpio
备份文件在当前工作目录下解开(还原):cpio -idcv < /tmp/boot.cpio
查看:cpio -ivct < file or device
别人的Linux私房菜(9)文件与文件系统的压缩的更多相关文章
- 鸟哥的linux私房菜之档案与文件系统的压缩与打包
00000001 节约空间 其实简单的说压缩就是把没有用到的0给去掉,解压的时候在加上 在linux中,压缩文件档案的扩展名大多是.tar,.tar.gz,tgz,gz,.Z,.bz2 compres ...
- Linux学习笔记之文件与文件系统的压缩与打包
四.文件与文件系统的压缩与打包 用途: 传输时减少带宽 Linux系统常见的压缩命令 Compass(旧版压缩,并且在centOS中默认为不安装) gzip, zcat bzip2, bzcat zi ...
- 别人的Linux私房菜(17)进程管理与SELinux初探
程序在磁盘中,通过用户的执行触发.触发事件时,加载到内存,系统将它定义成进程,给予进程PID,根据触发的用户和属性,给予PID合适的权限. PID和登陆者的UID/GID有关.父进程衍生出来的进程为子 ...
- 别人的Linux私房菜(4)安装CentOS7
linux磁盘分区参考: 添加磁盘分区(总30G). BIOS boot 2MB 系统自定义文件系统 分区格式为主要分区 /boot 1GB 文件系统为xfs 主要分区 / 10GB 文件系统为x ...
- Linux第八章:文件,文件系统的压缩,打包备份
压缩:gzip -v 文件名 1:压缩后成 文件名.gz 的压缩文件,原文件消失 2:压缩的文件可以直接使用zcat 文件名.gz 读取里面的内容 解压缩: gunzip 文件名.gz 替 ...
- 别人的Linux私房菜(19)认识与分析日志文件
日志文件通常只有root可以读取,解决系统和网络方面的问题. /var/log/boot.log本次开机系统检测和启动硬件,和内核支持的相关功能的信息记录. /var/log/cron计划任务有没有被 ...
- 别人的Linux私房菜(15)磁盘配额与高级文件系统管理
磁盘配额在网站.邮件.文件等服务器常见,主要有针对用户.用户组.限制某一目录的的最大磁盘配额. ext文件系统进能针对整个文件系统配额,xfs可以针对目录配额.配额和文件系统有关. 内核必须支持磁盘配 ...
- 别人的Linux私房菜(12)正则表达式与文件格式化处理
vi gerp awk sed支持正则表达式 cp ls不支持,只能使用bash本身的通配符 正则表达式分为基础正则表达式和拓展正则表达式 使用正则表达式注意语系的影响 http://cn.lin ...
- 别人的Linux私房菜(8)Linux磁盘与文件系统管理
虚拟机的磁盘通常为:/dev/vd[a-p] LVM和软件磁盘阵列 software RAID可以将一个分区格式化为多个文件系统或者多个分区格式化为一个文件系统. 索引式文件系统中:如ext2.ext ...
随机推荐
- 2017-07-06 eclipse在线安装SVN1.9插件
1,百度搜索subeclipse,点击第一个: 2,官网说,文档已移动到github wiki上: 3,打开github wiki,复制最新发布版本地址: 4,在eclipse里面,打开help-&g ...
- C++Primer第五版——习题答案详解(六)
习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第7章 类 练习7.1 class Sales_data { public: std:: ...
- Mike Piehl
some books were writen by him: new about this man website: http://paperstreetenterprises.com
- Java内存管理之类似-Xms、-Xmx 这些参数的含义
1.堆内存分配:JVM 初始分配的内存由**-Xms** 指定,默认是物理内存的 1/64:JVM 最大分配的内存由**-Xmx** 指定,默认是物理内存的 1/4:默认空余堆内存小于 40% 时,J ...
- kettle数据库连接使用变量
新增db连接(密码也可以设置参数) 转换中,右键空白处,选择转换设置
- spring boot 日志介绍 以及 logback配置示例
https://www.cnblogs.com/flying607/p/7827460.html 以下是springboot的一个局部依赖关系: 可以看到,java util logging(jul) ...
- 尚硅谷springboot学习28-Docker简介
Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像: 运行中的这个镜像称为 ...
- Dom文本应用-表格隔行间亮样式
效果: 隔行一个颜色,鼠标移上去,被选中的那一行就变颜色,其次,鼠标离开其区域,颜色又变回原来的颜色. 一.表格隔行间亮样式-HTML代码 首先我们要有个表格 <table id='tab1' ...
- 使用jQuery+huandlebars遍历if判断不足引用helper
兼容ie8(很实用,复制过来,仅供技术参考,更详细内容请看源地址:http://www.cnblogs.com/iyangyuan/archive/2013/12/12/3471227.html) & ...
- Beta冲刺——第二天
beat冲刺:第二天 各个成员今日完成的任务 成员 冯晓.马思远 彭辉.王爽 吴琼.郝延婷 今日完成任务 ·管理员功能模块的代码规范与测试 ·网站的前端调整 ·代码规范 ·系统管理模块功能测试 ·博客 ...