文件的归档和压缩

文件的归档和压缩

•一、tar命令使用 
•二、其他压缩方式 
•三、进程管理基本概念。

前言:

本节主要介绍文件的归档和压缩相关方法。归档和压缩有利于linux系统中文件的管理和磁盘空间的利用,善于利用归档和压缩能为我们工作中带来很多便捷。另外将简单介绍进程的一些概念,方便下一节进程管理内容的学习。

一、 tar命令使用(tar命令用于文件的打包和压缩)

1:tar命令的归档与解压

1.1: tar命令对文件的归档 
tar命令最基本的用法是对文件进行归档,其使用方式为: 
tar [参数] [打包名] [filename] 
在归档中运用比较多的参数为:c、v、f、

详细参数:

-c:表示添加(create 的意思) 
-v:表示显示详细信息 
-f:表示文件 
-x :解开一个压缩文件的参数指令 
-t :查看 tarfile 里面的文件注:(-c -x -t三个参数仅能存在一个,不可同时存在!) 
-z :使用 gzip 的属性压缩 
-j : 使用 bzip2 的属性压缩 
-p :使用原文件的原来属性 
-P :可以使用绝对路径来压缩!(也就是指定path) 
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中


Example:

以打包/boot/grub2为例,我们的指令应该是:tar –cvf grub2.tar /boot/grub2。 
注意:在使用tar命令进行归档时,参数前面的”-“号是可以省略的;归档时虽然随意命名可以归档成功,但为了方便管理我们一般以.tar结尾进行命名;要查看一个文件的类型用到的指令是:#file filename。 
[root@xuegod60 ~]# tar cvf grub2.tar /boot/grub2 
[root@xuegod60 ~]# tar cvf a.txt /boot/grub2 
在归档时如果需要打包多个内容只需在后面添加相应文件即可,比如:#tar cvf ss.tar /boot /etc/passwd 表示将/boot /etc/passwd两个文件打包到ss.tar。要在不解包的情况下查看压缩包中包含的内容需要用到参数t,参数t表示列出归档中内容,#tar tvf ss.tar 
[root@xuegod60 ~]# tar cvf ss.tar /etc/passwd /boot/grub2


1.2:使用tar命令对归档文件解压

Example:

使用tar命令进行解压时需要用到x和C参数,x参数用于对文件解压,C参数用于指定解压的位置,当然也可以不加参数C表示解压到本地。解压到本地格式为:tar xvf 压缩文件,解压到指定目录命令格式是:tar xvf 压缩文件 –C 目的文件 
以解压grub2.tar为例,解压到当前目录: 
[root@shrak ~]tar xvf grub2.tar 
解压到指定/opt/目录: 
[root@shrak ~]tar xvf grub2.tar –C /opt/ 
文件的归档和压缩


1.3:tar归档小结 
使用tar命令归档主要是方便文件管理,而压缩空间是很少的,可以#du –shfilename查看归档前后文件大小进行比较 
Alt text


2、tar归档+压缩

2.1:文件格式为.tar.gz的压缩 
前面提过,使用tar命令进行归档时对文件压缩的比率是非常小的,那么如何使用tar对文件进行归档压缩呢,要实现tar的压缩格式与归档类似,压缩的文件名必须以.tar.gz或.tgz结尾,同时需要用到[参数z]规定压缩的格式,z表示以gzip格式进行压缩,语法格式为: 
tar zcvf newfile.tar.gz sourcefile

Example:

以压缩/boot/grub2/为例,压缩命令为: 
tar zcvf grub2.tar.gz /boot/grub2/ 
压缩完后使用ll –h grub2.tar*对压缩文件大小进行对比,可以看到压缩后文件小了很多 
Alt text


2.2:对以.tar.gz结尾压缩文件进行解压 
对使用tar压缩的文件解压时使用的命令格式和解压归档文件类似,加压时只需加上参数z知道解压文件格式即可,

Example:

以解压grub2.tar.gz为例: 
tar zxvf grub2.tar.gz –C /opt 
Alt text


3、bz2压缩文件

3.1:文件格式为.tar.bz2的压缩 
在使用tar命令对文件进行压缩时,除了上面提到的归档和.tar.gz格式还可以压缩为.tar.bz2格式.bzip2压缩文件的压缩需要用的是[参数j],j参数用于指定压缩格式为bzip2,压缩格式为:tar jcvf newfile.tar.bz2 sourcefile

Example:

以压缩/boot/grub2为例,命令为: 
tar jcvf grub2.tar.bz2 /boot/grub2,压缩后,我们对归档压缩的三个文件大小进行对比:ll –h grub2.tar* 
Alt text


3.2: bz2压缩文件的解压 
对.tar.bz2格式解压的格式为:tar jxvf filename.tar.bz2 –C 目的文件

Example:

以解压grub2.tar.bz2为例:tar jxvf grub2.tar.bz2 –C /opt/ 
Alt text


3.3:tar命令小结 
上面介绍了tar命令的一些常用参数,关于tar命令还有更多的使用方法,可以通过tar –help进行进一步的了解与学习。 
通过实验可以看到,使用bzip2格式压缩的比率是最高的,但是在实际使用中gzip格式的压缩文件可能更多,这是因为,并不是压缩比率越大就越好,压缩比例大也意味着压缩和解压的时间更长,在实际使用中要根据具体的需求选择合适的压缩方式。


二、其他压缩方式

1: zip压缩包的创建和解压 
zip软件包压缩命令:zip是压缩程序,uzip是解压程序。 
用zip压缩文件格式为:zip newfile filename,要对一个目录进行压缩需要加上[参数r],格式为:zip –r newfile filename使用zip进行解压时可以看到压缩的比率。对zip格式文件进行解压语法为:uzip filename –d目的目录,这里[-d参数]用于指定解压的位置。

Example:

压缩 /etc/passwd:zip passwd.zip /etc/passwd 
压缩 /boot/grub2:zip –r grub2.zip /boot/grub2 
解压zip文件到/opt/目录:uzip passwd.zip –d /opt/ 
Alt text
Alt text


2:只针对文件进行压缩的指令

在linux中有几个压缩指令,只针对文件进行压缩而不能压缩目录:gzip bzip2 xz


2.1: gzip指令使用 
使用gzip压缩语法格式:gzip 文件,解压格式:gzip –d 文件,不解压查看压缩包内容指令:zcat 文件,使用gzip进行压缩时可以同时压缩多个文件:gzip 文件1 文件2 
以新建一个a.txt文件并对其进行压缩与解压操作,注意,使用gzip压缩后原文件会被删除 
Alt text


2.2: bzip2指令使用 
使用bzip2压缩语法格式:bzip2 文件,解压格式:bzip2 –d 文件,不解压查看压缩包内容指令:bzcat 文件,使用bzip2进行压缩时可以同时压缩多个文件:bzip2 文件1 文件2 
以新建一个a.txt文件并对其进行压缩与解压操作,注意,使用bzip2压缩后原文件会被删除 
Alt text


2.3: xz指令使用 
使用xz压缩语法格式:xz 文件,解压格式:xz –d 文件,不解压查看压缩包内容指令:xzcat 文件,使用xz进行压缩时可以同时压缩多个文件:xz 文件1 文件2 
以新建一个a.txt文件并对其进行压缩与解压操作,注意,使用xz直接压缩后原文件会被删除,要保留原文件可以加一个[参数-k]xz –k 文件 
Alt text


三、进程管理基本概念

1.进程、程序、线程

1.1:概念 
程序:程序是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。 
进程:进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 
线程:线程是程序执行流的最小单元,线程是进程中的一个实体,是被系统独立调度和分配的基本单元。


1.2:程序与进程的区别 
程序是静态的(文件),进程是动态的(运行的程序)。


1.3:进程与线程的区别 
一个程序至少有一个进程,而一个进程至少有一个线程。进程之间内存是独立的,而线程之间内存是共享的,也就是说在运行同一程序时打开多个进程,其中某个进程故障时不会影响到其他进程的,而同一个进程中运行的多个线程出现问题时会影响到其他线程,线程是高并发的,同时由于线程的相互影响其安全性相对差一些。


2:pstree进程树查看

要查看进程树使用的指令是:pstree –p,-p用来显示进程号。 
Alt text
要显示一个目录的树形结构需要用到tree命令,Rhel7中默认未装tree,试用前需要对其进行安装: 
rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 
显示一个目录的树形结构格式为:tree 目录 
Alt text

原创文章,作者:谷歌 shark,如若转载,请注明出处:http://www.178linux.com/73631

(0)
谷歌 shark谷歌 shark
上一篇 2017-04-16 20:21
下一篇 2017-04-16 21:28

相关推荐

  • 第二周博客作业

    1.Linux上的文件管理类命令都有那些,其常用的使用方法及其相关示例演示。
    2.Bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
    3.请使用命令行展开功能来完成以下的练习。
    4.文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
    5.如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
    6.显示/var目录下所有以1开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其他字符)的文件或目录。
    7.显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
    8.显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录。
    9.在/tmp目录下创建以tgile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
    10.复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
    11.复制/etc目录下所有以.d结尾的文件或目录到/tmp/mytest2目录中。
    12.复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

    2018-03-22
  • Linux任务计划

    Linux任务计划,周期性任务执行         未来的某时间点执行一次某任务:at, batch          周期性运行某任务:crontab                 &n…

    Linux干货 2016-12-31
  • rhel6.7安装pymssql(通过Python连接MSsql数据库)

    依赖安装: freetds、python-devel、cython、Python3.x 1、安装freetds tar -jxvf freetds-dev.0.99.134.tar.bz cd freetds-dev.0.99.134 ./configure –prefix=/usr/local/freetds&nb…

    Linux干货 2016-05-23
  • keepalived相关配置示例(二)

    虚拟服务器配置实验: 两台centos6主机为web service系统为CentOS6.8 n1:172.16.253.87 n2:172.16.252.5都安装httpd yum install -y httpd[root@n1 ~]#vim /var/www/html/index.html<h1>Real Server 1</h1&g…

    Linux干货 2017-06-28
  • httpd

      httpd http服务器程序:   httpd (apache) nginx lighttpd httpd的特性:   高度模块化: core + modules DSO:dynamic shared object(模块的动态加载) MPM:Multipath processing Modules (多路处理模块) &nb…

    Linux干货 2017-06-04
  • Heartbeat高可用http

    Heartbeat高可用http 实验图 heartbeat高可用http 一、实验图: 二、heartbeat高可用http(Heartbeat V1 haresource) heartbeat节点ssh互信 heartbeat节点名称相互解析,uname -n heartbeat节点时间一致性 安装前准备: ssh多节点互信 [root@node4&nb…

    Linux干货 2016-07-07

评论列表(1条)

  • renjin
    renjin 2017-04-21 10:49

    文章介绍文件的归档和压缩相关方法,内容写的很详细,排版也很不错,赞!