前言:本文参考《鸟哥的Linux 私房菜》,如有说的不对的地方,还请指正!谢谢!
 环境:Centos 6.4
 
 和window不同,在Linux压缩文件需要注意的是,压缩后的文件会把源文件给替代,无论是gzip、bzip2、xz 均不支持压缩目录,要达到压缩目录的目的,需要用到tar指令。
 

gzip file1 压缩一个叫做 'file1'的文件 
gzip -9 file1 最大程度压缩 
gunzip file1.gz / gzip -d file1.txt.gz 解压一个叫做 'file1.gz'的文件 
gzip -9 -c services > services.gz 最佳的压缩比压缩,并保留源文件
zcat file1.gz 用来读取压缩就的源文件
备注:利用gzip压缩的文件,可以被window的WinRAR直接解压缩呢。
 

就像gzip是为了取代老式compress压缩一样,bzip2是为了取代gzip出现的,它相对gzip来说,具有更好的压缩比。
bzip2 file1 压缩一个叫做 'file1' 的文件 
bunzip2 file1.bz2 / bzip2 -d file1.bz2 解压一个叫做 'file1.bz2'的文件 
bzcat file1.bz2 读取压缩文件的源代码
bzip2 -9 -c file1 > file1.bz2 最佳的压缩比压缩并保留源文件
 

备注:xz压缩和gzip和bzip2用法类似,它相对gzip和bzip2,具有更好的压缩比,但是他消耗的时间更长,几乎是gzip的一倍时间。
 
 
 
zip file1.zip file1 创建一个zip格式的压缩包 
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包 
unzip file1.zip 解压一个zip格式压缩包 
备注:zip压缩不会覆盖源文件,和Windows压缩相同
 
 

压缩目录/文件:  tar -z -cv -f jo.tar.gz jo

查看压缩源文件:tar -z -tv -f jo.tar.gz
解压缩源文件:   tar -zxv -f jo.tar.gz -C /tmp/jo2
 
备份/etc文件:su- 获得root权限,否则会出问题
                       time tar -jpcv -f /root/etc.tar.bz2 /etc time显示时间信息,p保留源文件权限,并不会保留根目录,如果坚持要保留根目录,可以用-P 来使用
筛选查看某个压缩文件 :tar -jtv -f /root/etc.tar.bz2 | grep 'shadow'
筛选打包时不包含某些文件: tar -jcv -f /root/system.tar.bz2 /root --exclude=/root/etc*
按某个时间点过滤进行压缩打包文件: tar -jcv -f /root/new.tar.bz2 /etc --newer-mtime /etc/passwd
文件的 Access time,atime 是在读取文件或者执行文件时更改的【文件的内容被取用时】。
文件的 Modified time,mtime 是在写入文件时随文件内容的更改而更改的【内容数据】。
文件的 Create time,ctime 是在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改的【状态】。
 
压缩后的SELinux问题(未遇到过)
  • 透过各种可行的救援方式登录系统,然后修改 /etc/selinux/config 文件,将SELinux 改成 permissive 模式,重新启动系统后就实现了
  • 在第一次复原系统后 ,不要立即重新启动,先使用restorecon -Rv /etc 自动修复一下SELinux即可
  • 透过各种可行的方式登录系统,建立 /.autorelabel文件,重新启动后系统会自动修复SELinux的类型,并且又会再次重新启动。

Linux 学习记录 二 (文件的打包压缩).的更多相关文章

  1. Linux 学习记录二(文件的打包压缩).

    和 window不同,在Linux压缩文件需要注意的是,压缩后的文件会把源文件给替代,无论是gzip.bzip2.xz 均不支持压缩目录,要达到压缩目录的目的,需要用到tar指令.   gzip 压缩 ...

  2. linux学习笔记二-----文件权限管理

    一.分析文件权限(ln -s 文件名 快捷方式名 用来创建文件的快捷方式,下方ll查看信息时会在第一个字符处显示l) [hjp@bogon ~]$ ll total 4 drwxrwxr-x. 2 h ...

  3. Linux学习记录(二)

    1.远程连接工具的使用 实际开发中,Linux服务器都在其他的地方,我们要通过远程的方式去连接Linux并操作它,Linux远程的操作工具有很多,企业中常用的有Puttty.secureCRT.SSH ...

  4. Linux学习记录(二):常用工具

    博主使用的操作系统为Ubuntu tmux 终端分屏 安装 Ubuntu使用apt-get安装 sudo apt-get install tmux 使用 默认命令键:Ctrl + B %(百分号) 左 ...

  5. Material Calendar View 学习记录(二)

    Material Calendar View 学习记录(二) github link: material-calendarview; 在学习记录一中简单翻译了该开源项目的README.md文档.接下来 ...

  6. Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客

    ==他的博客应该不错,没有细看 Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客 http://blog.csdn.net/u012706811/article/det ...

  7. Linux学习之二-Linux系统的目录结构

    Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...

  8. Linux学习笔记(二) 文件管理

    了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显 ...

  9. JavaScript学习记录二

    title: JavaScript学习记录二 toc: true date: 2018-09-13 10:14:53 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

随机推荐

  1. windows下python3.6 32bit 安装django

    在Windows下python3.6安装Django1.11.3 1.首先下载地址:https://pypi.python.org/pypi/Django/1.11.3 pip install dja ...

  2. javascript 复制数组

    常用复制数组的几种方法 直接arr1 = arr2 这种方法复制的是原数组的引用,修改复制出来的新数组会改变原来数组的内容 var arr = [1, 2, 3, 6]; var arr_ = arr ...

  3. JSP4(内置对象)

    一.超级链接传值问题传值: <a href="href1.jsp?id=1&name=pkd&age=40">This is my JSP page. ...

  4. javaScript基础概念小知识点集

    数据类型 typeof是一个操作符而不是函数,因此例子中圆括号尽管可以使用,但不是必须的. 只要在保存对象的变量还没有真正保存对象,就应该明确的让该变量保存null NaN是一个特殊的数值,与任何值都 ...

  5. 已有模板与tp框架结合

    具体实现步骤: ①复制模板文件到view指定文件目录: ②复制css.js.img到view指定文件目录: ③把静态资源(css.js.img)文件的路径设置为“常量”信息(在index.php入口文 ...

  6. Axios 执行post发送两次请求的小坑

    vue-resource2.0已经不再更新,所以vue2.0官方推荐使用axios来代替.实际项目也是应用上了vue+axios,然后就有了这么一段填坑的经历. 问题:axios使用post请求时,发 ...

  7. Python 串口通信操作

    下载  pyserial包 https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz#md5=794506184df ...

  8. MySql基础入门-mysql的结构层次

    了解MySql必须牢牢记住其体系结构图,Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的. 1.Connectors指的是不同语言中与SQL的交互 2.Management Servei ...

  9. OpenStack搭建遇到的问题2(组件配置错误了,别重装全部,就把模块卸载就行了)

    apt-get remove -y mysql-server python-mysqldb 在装OpenStack的时候,出错的可能就是就是一个模块,比如keysstone或者是glance出错了,我 ...

  10. java桌面程序打包教程

    首先打包成j可执行的jar文件. . 接下来找到自己生成jar文件的路径就可以看到jar文件了,我的是在桌面: 在桌面新建一个文件夹(名字随便取,一般去项目名字) 上面是我取的文件夹名字,然后把资料文 ...