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

 前言:本文参考《鸟哥的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的类型,并且又会再次重新启动。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏分享达人秀

掌握Android Studio项目结构,扬帆起航

经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Genymotion模拟器都准备妥当。在之前简单...

41110
来自专栏企鹅号快讯

Redis

Redis介绍: (Redis)是一个基于 key-value 键值对的持久化数据库存储系统。支持多种数据结构,包括 string (字符串)、list (链表...

4477
来自专栏乐百川的学习频道

Golang学习笔记 包和项目构成

工作目录 先来说说Golang的工作目录,安装好Golang后,需要做的一件事情就是设置工作目录,所有的项目、工具、第三方包会存放到工作目录中。默认情况下工作目...

1859
来自专栏机器学习实践二三事

Ipynb文件的打开

RT,ipynb文件用gedit直接打开的话,太多附加信息,此时需要在浏览器端打开 升级ipython 太低版本的ipython是不行的,出现的错误可能是这样的...

2258
来自专栏黑白安全

PHP安全编码规范之安全配置篇

因为配置不当引发的安全问题是屡见不鲜的,通过一系列的安全配置,可以很好的解决一些安全隐患,从而为系统增加安全系数。但是在开发过程中,因为需求的改变和编程的习惯可...

2812
来自专栏java一日一条

一篇文章了解RPC框架原理

RPC(Remote Procedure Call)–远程过程调用,通过网络通信调用不同的服务,共同支撑一个软件系统,微服务实现的基石技术。使用RPC可以解耦系...

1404
来自专栏程序员叨叨叨

android运行APP时出现INSTALL_FAILED_NO_MATCHING_ABIS

出现这个问题的原因是,我们当前运行的APP包含native库,需要在arm的cpu环境之中,而我们虚拟机的cpu是intel内核,所以无法运行。

843
来自专栏云计算教程系列

如何在CentOS 7上添加Swap

使服务器响应更快,并防止应用程序中出现内存不足错误的最简单方法之一是添加一些swap空间。Swap是存储驱动器上的一个区域,操作系统可以在该区域临时存储无法再保...

1732
来自专栏张戈的专栏

【 ES 私房菜】收集 Nginx 访问日志

在上一篇系列文章《【 ES 私房菜】收集 Apache 访问日志》中,我们已经完成了 ES 收集 A pache 日志的目标,再收集其他 WEB 日志也就小菜一...

7780
来自专栏游戏杂谈

关于chrome插件编写的小结

其中manifest文件最为重要,它定义/指明插件应用的相关信息(权限、版本、功能说明等),点此查看Manifest的详情>>

3583

扫码关注云+社区

领取腾讯云代金券