第九章 文件的归档和压缩
本节所讲内容:
9.1 tar命令进行文件的归档和压缩
9.2 zip管理压缩文件
9.3 了解gzip-bzip2- xz管理压缩文件-file-sort查看文件

9.1 tar命令进行文件的归档和压缩
9.1.1 归档和压缩文件
归档和压缩文件的好处:节约硬盘的资源 ,加快文件传输速率
tar命令 作用:打包、压缩文件

作用:打包、压缩文件;tar 文件是把几个文件和(或)目录集合在一个文件里,该存档文件可以通过使用gzip、bzip2或xz等压缩工具进行行压缩后传输
查看man tar
用法:tar [OPTION...] [FILE]...
参数:
-c create创建文件
-x -extract [ˈekstrækt] 提取 解压还原文件
-v --verbose显示执行详细过程
-f --file指定备份文件
-t --list 列出压缩包中包括哪些文件,不解包,查看包中的内容
-C (大写)--directory 指定解压位置

例:给/boot/grub目录 打包
[root@xuegod63 ~]# tar -cvf grub.tar /boot/grub/ # tar的参数前可以不使用‘-’
或:
[root@xuegod63 ~]# tar cvf grub.tar /boot/grub/
tar: 从成员名中删除开头的“/”
/boot/grub/
/boot/grub/splash.xpm.gz
[root@xuegod63 ~]# ls gurb.tar
[root@xuegod63 ~]# tar xvf grub.tar #解压缩
boot/grub/
boot/grub/splash.xpm.gz
[root@xuegod63 ~]# ls boot #得到boot目录
注意:在使用绝对路径名归档文件时,将默认从文件名中删除该路径中前面的 / 符号。这样解压时,会直接解压到当前目录。 如果不移除/压缩时,当解包时,直接按绝对路径来释放,会覆盖原系统中此路径的文件。
例1:指定解压位置 -C
[root@xuegod63 ~]# tar xvf grub.tar.bz2 -C /opt/
tar: 从成员名中删除开头的“/”
/boot/grub/
/boot/grub/splash.xpm.gz
[root@xuegod63 ~]# ls /opt/
boot
例2:把两个目录或目录+文件打包成一个软件包:
[root@xuegod63 ~]# mkdir back
[root@xuegod63 ~]# cp /etc/passwd back/
[root@xuegod63 ~]# tar -cvf back.tar /boot/grub back/ /etc/passwd
tar: 从成员名中删除开头的“/”
/boot/grub/
/boot/grub/splash.xpm.gz
back/
back/passwd
/etc/passwd
例3:不解包,查看tar中的内容:
[root@xuegod63 ~]# tar -tvf grub.tar # List all files in archive.tar verbosely.
例4:对比加v的效果
[root@xuegod63 ~]# tar -xf grub.tar
[root@xuegod63 ~]# tar -xvf grub.tar
boot/grub/
boot/grub/splash.xpm.gz

9.1.2 tar 归档+压缩:
语法:tar czvf newfile.tar.gz SOURCE
常用参数:
-z, --gzip 以gzip方式压缩 扩展名: tar.gz
-j : 以bz2方式压缩的 扩展名:tar.bz2
-J : 以xz 方式压缩 扩展名:tar.xz

例1:创建.tar.gz 包
[root@xuegod63 ~]# tar cvf etc.tar /etc
[root@localhost test]# tar zcvf etc.tar.gz /etc #归档,注意备份的名字后缀
[root@localhost test]# tar zxvf etc.tar.gz #解压缩

例2:创建.tar.bz2包
语法: #tar jcvf newfile.tar.bz2 SOURCE
[root@xuegod63 ~]# tar -jcvf etc.tar.bz2 /etc
[root@xuegod63 ~]# tar -jxvf etc.tar.bz2 /etc #解压缩
[root@xuegod63 ~]# tar jxvf etc.tar.bz2 -C /opt #解压到opt目录下

例3:创建.tar.xz包
[root@xuegod63 ~]# tar -Jcvf etc.tar.xz /etc
[root@xuegod63 ~]# tar -xvf etc.tar.xz #tar.xz 这类包,解压缩
或:
[root@xuegod63 ~]# tar -Jxvf etc.tar.xz #
对比三种压缩方式后压缩比例:
[root@xuegod63 ~]# ll -h etc.tar*
-rw-r--r-- 1 0 root 36M 5月 10 12:10 etc.tar
-rw-r--r-- 1 0 root 9.6M 5月 10 12:14 etc.tar.bz2 #这个常用
-rw-r--r-- 1 0 root 12M 5月 10 12:11 etc.tar.gz #这个常用
-rw-r--r-- 1 0 root 7.7M 5月 10 12:16 etc.tar.xz #这个压缩比例最高,压缩的时间是最长

9.2 zip管理压缩文件
zip软件包解压缩命令:
zip是压缩程序,unzip是解压程序。
例1:压缩文件:
[root@xuegod63 ~]# zip a.zip /etc/passwd
例2:将所有.jpg的文件压缩成一个zip包
[root@xuegod63 ~]# zip all.zip *.jpg
例3:压缩一个目录
[root@xuegod63 ~]# zip -r grub.zip /boot/grub #一般不用

解压缩:
[root@xuegod63 ~]# unzip grub.zip
[root@xuegod63 ~]# unzip grub.zip -d /opt/ # -d 解压到指定的目标/opt

9.3 了解gzip-bzip2- xz管理压缩文件-file-sort查看文件
我们创建压缩的TAR存档,TAR命令它支持三种不同的压缩方式。
gzip压缩速度最快;
bzip2压缩生成的文件比gzip小,但使用不如gzip广;
xz压缩工具相对较新,但是会提供最佳的压缩率
9.3.1 压缩工具
压缩工具:gzip bzip2 zip xz
常见的压缩格式: .gz .bz2 .xz .zip
语法格式:
压缩
gzip 文件 ====》 gzip a.txt =====》 a.txt.gz
bzip2 文件 ===》 bzip2 b.txt =====》 b.txt.bz2
xz 文件 ===》xz c.txt ===》c.txt.xz
[root@xuegod63 ~]# mkdir xuegod
[root@xuegod63 ~]# touch xuegod/a.txt
[root@xuegod63 ~]# gzip xuegod/a.txt
[root@xuegod63 ~]# ls xuegod/a*
xuegod/a.txt.gz
注:只能对文件进行压缩,且压缩后源文件会消失,一般不用。
(bzip2,xz这两个工具可以通过添加参数-k来保留下源文件)
[root@xuegod63 ~]# cp /etc/passwd 1.txt
[root@xuegod63 ~]# bzip2 -k 1.txt
[root@xuegod63 ~]# ls 1.txt.bz2

[root@xuegod63 ~]# xz -k 1.txt
[root@xuegod63 ~]# ls 1.txt.xz

解压:
gzip -d 文件
bzip2 -d 文件 -k 保留源文件
xz -d 文件 或 unxz 文件 -k 保留源文件
例:
[root@panda mnt]# gzip -d 1.txt.bz2
[root@xuegod63 ~]# bzip2 -d 1.txt.bz2
[root@panda mnt]# xz -d 1.txt.bz2

9.3.2 file查看文件
file命令
作用: file - determine file type #确定文件类型
用法: file /etc/passwd
注:linux系统不根据后缀名识别文件类型
用file命令查看文件的类型。
[root@xuegod63 ~]# file /etc/passwd
/etc/passwd: ASCII text

9.3.3 按一定规则排序查看文件
查看文件:
[root@xuegod63 ~]# ls -ltr 按时间排序 t 表示时间, -r 从小到大,不加r参数由大到小

[root@xuegod63 ~]# ls -lSr 按大小排序 -r 从小到大
[root@xuegod63 ~]# ls -lSrh 按大小排序 -r 从小到大 ,加-h 参数,看大小,更清楚
[root@xuegod63 ~]# ls -lS 从大到小
查看目录:
[root@xuegod63 ~]# du -sh /etc 看某个目录大小
查看分区大小:
[root@xuegod63 ~]# df -h 可以快速查看磁盘大小的存储空间

9.3.4 排序:处理大量数据时会用到的命令sort
例1:默认按字母规则进行排序
[root@xuegod63 ~]# cat /etc/passwd | sort | more
例2: 按数据排序
[root@xuegod63 ~]# vim file2 #每行随意写一些数字
例2: 按数据排序,默认从小到大
2
23
231
[root@panda mnt]# sort -n file2 #-n默认从小到大
[root@xuegod63 ~]# sort -r file2 #-r 反序排序(升序变成降序进行排序) 从大小到

例3:支持按月份排序
[root@xuegod63 ~]# vim file3 #写入以下内容
January
March
April
February
[root@xuegod63 ~]# sort -M file3
April
February
January
March
例4:组合使用
-t 指定一个用来区分键位置字符
-k 后面跟数字,指定按第几列进行排序
-r 反序排序(升序变成降序进行排序)

[root@xuegod63 ~]# sort -t ":" -k3 -r /etc/passwd | more #按: 做分隔符,以第3列,也就是用户UID,来从大到小排序
[root@xuegod63 ~]# du -h /etc | sort -r | more #把etc目录下所有文件,按从大到小排序

linux学习笔记整理(八)的更多相关文章

  1. Linux学习笔记(整理记录)

    1.安装 (1):安装网址:http://www.jb51.net/os/78318.html 2.鸟哥的Linux命令学习 (1):显示系统目前所支持的语言:echo $LANG (2):修改语言成 ...

  2. linux学习笔记整理(五)

    第六章 Centos7用户管理本节所讲内容:6.1 用户和组的相关配置文件6.2 管理用户和组6.3实战:进入centos7 紧急模式恢复root密码 用户一般来说是指使用计算机的人,计算机对针使用其 ...

  3. linux学习笔记整理(一)

    第二章  Linux基本操作 2.1 Linux网络相关概念和修改IP地址的方法2.2 关闭防火墙并设置开机开不启动2.3 临时和永久关闭Selinux2.4 设置系统光盘开机自动挂载2.5 配置本地 ...

  4. Linux学习笔记整理

    2.1BASH命令行基本操作 [用户@主机~]$ # //$#为提示符 $代表普通用户 #代表root用户 ~代表当前目录 ls   //list相当于DOS的dir 显示当前目录列表 -a   // ...

  5. linux学习笔记整理(九)

    第十章 Centos7-系统进程管理本节所讲内容:10.1 进程概述和ps查看进程工具10.2 uptime查看系统负载-top动态管理进程10.3 前后台进程切换- nice进程优先级-实战scre ...

  6. linux学习笔记整理(七)

    第八章 Centos7软件包的管理与安装本节所讲内容:8.1 使用rpm命令-安装-查看-卸载-rpm软件包8.2 yum管理软件包8.3 实战tar源码包管理-srpm源码包安装方法 8.1 软件包 ...

  7. linux学习笔记整理(六)

    第七章 Centos7-文件权限管理本节所讲内容:7.1文件的基本权限:r w x (UGO)7.2文件的特殊权限:suid sgid sticky和文件扩展权限ACL7.3实战:创建一个让root都 ...

  8. linux学习笔记整理(四)

    第五章 Vim编辑器和恢复ext4下误删除的文件-Xmanager工具本节所讲内容:5.1 vim的使用5.2 实战:恢复ext4文件系统下误删除的文件5.3 实战:使用xmanager等远程连接工具 ...

  9. linux学习笔记整理(三)

    第四章 文件的基本管理和XFS文件系统备份恢复本节所讲内容:4.1 Linux系统目录结构和相对/绝对路径.4.2 创建/复制/删除文件,rm -rf / 意外事故4.3 查看文件内容的命令4.4 实 ...

随机推荐

  1. 【Tomcat】Tomcat工作原理

    Tomcat 总体结构 Tomcat 的结构很复杂,但是 Tomcat 也非常的模块化,找到了 Tomcat 最核心的模块,您就抓住了 Tomcat 的“七寸”.下面是 Tomcat 的总体结构图: ...

  2. Eclipse中SVN插件的安装和配置(在线安装)

    公司项目中用到了svn来管理项目,然后需要在Eclipse中进行配置.网上参考了很多资料,离线安装的方式装上了,但是导入项目后报错,可能是离线安装包的问题.然后又采用了Eclipse在线安装的方式,总 ...

  3. 面试官:"谈谈分库分表吧?"

    原文链接:面试官:"谈谈分库分表吧?" 面试官:“有并发的经验没?”  应聘者:“有一点.”   面试官:“那你们为了处理并发,做了哪些优化?”   应聘者:“前后端分离啊,限流啊 ...

  4. 微信小程序性能优化技巧

    摘要: 如果小程序不够快,还要它干嘛? 原文:微信小程序性能优化方案--让你的小程序如此丝滑 作者:杜俊成要好好学习 Fundebug经授权转载,版权归原作者所有. 微信小程序如果想要优化性能,有关键 ...

  5. 解密JavaScript闭包

    译者按: 从最简单的计数器开始,按照需求对代码一步步优化,我们可以领会闭包的神奇之处. 原文: Closures are not magic 译者: Fundebug 为了保证可读性,本文采用意译而非 ...

  6. Linux 线程实现模型

    1.Linux 线程的调度实现可以有两种模型, 一种是完全由进程负责,进程内启动一个线程调度器,由进程内的线程调度器完成调度. 缺点是:(1)各个线程自己加主动释放cpu的流程 (2)进程可能阻塞,达 ...

  7. Android为TV端助力 遥控器的映射

    第一编写kl文件时先在盒子上输入getevent -v查看设备信息,设备信息里有vendor.product.version, 假如分别是xxxx,yyyy,zzzz,那么你的文件名就要命名为Vend ...

  8. spring Boot 出现:org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.

    org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplication ...

  9. springboot 学习之路 7(静态页面自动生效问题)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  10. 实现wc部分功能 java

    GitHub地址:https://github.com/carlylewen/ruangong 相关要求 基本功能 wc.exe -c file.c     //返回文件 file.c 的字符数(实现 ...