RHEL6入门系列之十七,打包与压缩

简介:

今天主要说一下如何在Linux系统中进行打包和压缩,在这之前先要介绍一个基本命令——du。

du命令——查看目录或文件占用空间的大小

du命令用于统计指定目录或文件所占磁盘空间的大小。
常用选项:
-h,以 K、M、G为单位显示统计结果(默认单位为字节)。
如,查看 /root/install.log文件的大小
[root@localhost ~]# du -h /root/install.log
52K      /root/install.log
-s,查看目录本身的大小(不加该选项,则会显示指定目录下所有子目录的大小)。
[root@localhost ~]# du -hs /dev
456K     /dev
 
OK,du命令介绍完了,下面回归正题。
 
打包与压缩也属于是系统管理的基本操作,像 WinRAR之类的压缩/解压缩软件应是Windows系统中的装机必备软件。在Linux系统中,通过本身的命令就可以完成打包与压缩的操作。
打包,即将许多个文件和目录合并保存为一个整体的包文件,以方便传递或携带。而压缩操作可以进一步降低打包好的包文件所占用的磁盘空间。
Linux中最常用的打包命令为 tar。最常用的压缩命令有两个:gzip、bzip2,用gzip制作的压缩文件通常使用扩展名“.gz”,用bzip2制作的压缩文件通常使用扩展名“.bz2”。
bzip2的压缩效率比 gzip更高,但是它们都只能针对单个文件进行压缩与解压,所以通常都是先通过tar命令将多个文件或目录打包成一个包文件,然后再通过gzip或bzip2进行压缩,如*.tar.gz和*.tar.bz2就属于这种先打包再压缩的文件。
在实际使用中,一般都是通过 tar命令来调用gzip或bzip2进行压缩或解压,而很少去单独使用gzip或bzip2命令。
 
tar命令
 
tar命令本身只能对目录和文件进行打包,而并不进行压缩。
 
1)打包压缩
tar命令进行打包或压缩时的格式为:
tar [选项 ] 打包或压缩文件名 需要打包的源文件或目录
在使用 tar命令时,选项前的“-”可以省略。
 
例:将整个 /home目录下的所有文件打包成home.tar。
[root@localhost ~]# tar cvf home.tar /home
命令中用到的选项的含义:
-c,创建 .tar格式的包文件。
-v,显示命令的执行过程。
-f,表示使用打包文件。
查看所生成的包文件的大小:
[root@localhost ~]# du -h home.tar
1012K    home.tar
 
例:调用 gzip命令将/home目录下的所有文件打包并压缩成 home.tar.gz
[root@localhost ~]# tar zcvf home.tar.gz /home
-z,调用 gzip来压缩包文件。
查看所生成的压缩文件的大小,可以发现体积大幅缩小。
[root@localhost ~]# du -h home.tar.gz
104K      home.tar.gz
 
例:调用 bzip2命令将/home目录下的所有文件打包并压缩成 home.tar.gz
[root@localhost ~]# tar jcvf home.tar.bz2 /home
-j,调用 bzip2来压缩包文件。
查看所生成的压缩文件的大小,可以发现体积进一步缩小,证明 bzip2的压缩效率比gzip要高。
[root@localhost ~]# du -h home.tar.bz2
92K       home.tar.bz2
 
2)解包解压缩
tar命令进行解包或解压缩时的格式为:
tar [选项 ] 打包或压缩文件名 [-C 目标目录]
 
[root@localhost ~]# tar zxvf  home.tar.gz
-x,解开 .tar格式的包文件。
 
例:将 home.tar.bz2解压到/root/home2目录中。
[root@localhost ~]# mkdir home2
[root@localhost ~]# tar jxvf home.tar.bz2 -C home2
-C,指定解压后文件存放的目的位置(注意, C是大写)。
 
3)查看打包或压缩文件内的内容
如果希望在不解压的情况下查看压缩文件内都包括哪些内容,可以执行命令:
[root@localhost ~]# tar ztvf home.tar.gz | more
-t,显示打包文件中的内容。
由于是用 gzip压缩的文件,所以用-z选项调用gzip程序来解压。
如果要查看压缩文件 home.tar.bz2文件中的内容,可以执行命令:
[root@localhost ~]# tar jtvf home.tar.bz2 | more
这里同样用 -j选项调用bzip2来解压。
 

本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1122797
相关文章
|
4月前
|
Linux
linux(二十七)打包压缩命令bzip2~
linux(二十七)打包压缩命令bzip2~
35 0
|
4月前
|
Linux
linux(二十六)打包压缩命令gzip
linux(二十六)打包压缩命令gzip
30 1
|
4月前
|
Linux
linux(二十五)打包压缩命令tar~
linux(二十五)打包压缩命令tar~
30 0
|
8月前
|
Linux 开发者
开发常用的 Linux 命令3(文本处理、打包和压缩)
开发常用的 Linux 命令3(文本处理、打包和压缩)
|
11月前
|
存储 Linux 计算机视觉
Linux基础学习:文件与文件系统的压缩与打包
Linux基础学习:文件与文件系统的压缩与打包
134 0
|
存储 运维 Linux
Linux平台文件压缩打包及文本三剑客sed用法| 学习笔记
快速学习Linux平台文件压缩打包及文本三剑客sed用法
290 0
|
Shell Linux
《Linux Shell脚本攻略》 笔记 第六章:打包压缩
《Linux Shell脚本攻略》 笔记 第六章:打包压缩
100 0
|
数据可视化 Linux 算法