




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
tar命令
tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文
件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这
对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。
语法:tar[主选项+辅选项]文件或者目录
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:
c创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
r把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
t列出档案文件的内容,查看已经备份了哪些文件。
u更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
x从档案文件中释放文件。
辅助选项:
b该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512bytes)。
f使用档案文件或设备,这个选项通常是必选的。
k保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。
m在还原文件时,把所有文件的修改时间设定为现在。
M创建多卷的档案文件,以便在几个磁盘中存放。
v详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
w每一步都要求确认。
z用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
Linux下的压缩文件剖析
对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕。别个不说,单单就压缩文件为例,我们知道在Windows
下最常见的压缩文件就只有两种,一是,zip,另一个是.rap。可是Linux就不同了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar
等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用,不过在Linux使用.zip和.rar的人就太少了。本文就
来对这些常见的压缩文件进行一番小结,希望你下次遇到这些文件时不至于被搞晕。
在具体总结各类压缩文件之前呢,首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录什么的变成一个总的文件,压缩则是将一个大的文
件通过一些压缩算法变成一个小文件。为什么要区分这两个概念呢?其实这源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆
文件时,你就得先借助另它的工具将这一大堆文件先打成一个包,然后再就原来的压缩程序进行压缩。
Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲tar命令的基本用法:
tar命令的选项有很多(用mantar可以查看到),但常用的就那么几个选项,下面来举例说明一下:
#tar-cfall.tar*.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
#tar-rfall.tar*.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
#tar-ufall.tarlogo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
#tar-tfall.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
#tar-xfall.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思
以上就是tar的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar提供了一种特殊的功能。这就是tar可以在打包或解包的同时调用其它的压缩程序,比如调用gzip、bzip2等。
1)tar调用gzip
gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip相对的解压程序是gunzip。tar中使用-z这个参数来调用gzip。下面来举例说明一下:
#tar-czfall.tar.gz*.jpg
这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名为all.tar.gz
#tar-xzfall.tar.gz
这条命令是将上面产生的包解开。
2)tar调用bzip2
bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。与bzip2相对的解压程序是bunzip2。tar中使用-j这个参数来调用gzip。下面来举例说明一下:
#tar-cjfall.tar.bz2*.jpg
这条命令是将所有.jpg的文件打成一个tar包,并且将其用bzip2压缩,生成一个bzip2压缩过的包,包名为all.tar.bz2
#tar-xjfall.tar.bz2
这条命令是将上面产生的包解开。
3)tar调用compress
compress也是一个压缩程序,但是好象使用compress的人不如gzip和bzip2的人多。.Z结尾的文件就是bzip2压缩的
结果。与compress相对的解压程序是uncompress。tar中使用-Z这个参数来调用gzip。下面来举例说明一下:
#tar-cZfall.tar.Z*.jpg
这条命令是将所有.jpg的文件打成一个tar包,并且将其用compress压缩,生成一个uncompress压缩过的包,包名为all.tar.Z
#tar-xZfall.tar.Z
这条命令是将上面产生的包解开
有了上面的知识,你应该可以解开多种压缩文件了,下面对于tar系列的压缩文件作一个小结:
1)对于.tar结尾的文件
tar-xfall.tar
2)对于.gz结尾的文件
gzip-dall.gz
gunzipall.gz
3)对于.tgz或.tar.gz结尾的文件
tar-xzfall.tar.gz
tar-xzfall.tgz
4)对于.bz2结尾的文件
bzip2-dall.bz2
bunzip2all.bz2
5)对于tar.bz2结尾的文件
tar-xjfall.tar.bz2
6)对于.Z结尾的文件
uncompressall.Z
7)对于.tar.Z结尾的文件
tar-xZfall.tar.z
另外对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们:
1)对于.zip
linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
#zipall.zip*.jpg
这条命令是将所有.jpg的文件压缩成一个zip包
#unzipall.zip
这条命令是将all.zip中的所有文件解压出来
2)对于.rar
要在linux下处理.rar文件,需要安装RARforLinux,可以从网上下载,但要记住,RARforLinux
不是免费的;然后安装:
#tar-xzpvfrarlinux-3.2.0.tar.gz
#cdrar
#make
这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
#raraall*.jpg
这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar扩展名将自动附加到包名后。
#unrareall.rar
这条命令是将all.rar中的所有文件解压出来
到此为至,我们已经介绍过linux下的tar、gzip、gunzip、bzip2、bunzip2、compress、
uncompress、zip、unzip、rar、unrar等程式,你应该已经能够使用它们对.tar、.gz、.tar.gz、.tgz、.
bz2、.tar.bz2、.Z、.tar.Z、.zip、.rar这10种压缩文件进行解压了,以后应该不需要为下载了一个软件而不知道如何在
Linux下解开而烦恼了。而且以上方法对于Unix也基本有效。
本文介绍了linux下的压缩程式tar、gzip、gunzip、bzip2、bunzip2、compress、
uncompress、zip、unzip、rar、unrar等程式,以及如何使用它们对.tar、.gz、.tar.gz、.tgz、.bz2、.
tar.bz2、.Z、.tar.Z、.zip、.rar这10种压缩文件进行操作。用tar建立存档tar是“tapearchive”(磁带存档)的简称,它出现在还没有软盘驱动器、硬盘和光盘驱动器的计算机早期阶段。那时软件的发行和备份都需要大卷的磁带,计算机上运行的头几个程序中就得有一个是磁带的阅读程序。随着时间的推移,tar命令逐渐变为一个将很多文件进行存档的工具,目前许多用于Linux操作系统的程序就是打包为tar档案文件的形式。tar命令的格式是:tar[option]<file>tar命令有很多参数,利用f选项、设备或文件的名字可以指示tar命令将档案置于特定的设备或文件中。当为tar的档案创建一个文件时,这个文件名的扩展通常是如果指定了一个目录名,那么它所有的子目录都会被包含在档案之中。利用tar命令和f选项的格式如下所示:#taropionsfarchive-name.tardirectory-and-filenames要创建一个档案应使用c选项,与f选项一起,c选项会在设备或文件中创建档案,应在f选项的左边输入这一选项。在下例中,目录mydir和它所有的子目录都被存入文件myarch.tar中。#tarcfmyarch.tarmydir如果想要改动已经存档的目录中的文件,可以使用u选项使tar更新档案中的文件。tar比较每一个档案文件与相应用户目录中文件最近一次修改的时间,然后将上一次存档之后又被修改过的文件拷贝到档案文件中去。在用户目录中新创建的文件也会被添加到档案文件中。在下面的例子中,用户用mydir目录中最近被修改或添加的文件来对myarch.tar文件进行更新。#tarufmyarch.tarmydir如果想查看在一个档案中存储着哪些文件,可以使用tar命令和t选项。下面命令列出所有存储在myarch.tar档案中的文件:#tartfmyarch.tar要将文件备份到一个特定的设备,只须把设备名作为档案。在下面的例子中,用户在/dev/fdo设备的软盘中创建了一个档案,并将mydir目录中所有的文件都拷贝到档案中。#tarcf/dev/fdomydir要恢复设备磁盘中的文件,可使用xf选项:#tarxf/dev/fdo如果所备份的文件大小超过设备可用的存储器,比如软盘,此时就可以创建一个使用多个标号的tar档案。当使用m选项向一个软驱进行存档时,tar命令在一张软盘已满的时候会提醒再放入一张新的软盘。#tarcmf/dev/fdomydir要想恢复几张盘中的档案,只要将第一张软盘放入软驱,然后输入有x和m选项的tar命令。必要时会被提醒放入另外一张软盘。#tarxmf/dev/fdotar操作不会对档案文件实行压缩操作。如果想压缩档案文件,可以指示tar激活gzip实用工具,在存档之前对文件进行压缩。利用z选项,tar在对文件存档之前首先要使用gzip来压缩文件。当恢复文件时,同样的Z选项将激活gzip对文件解压。#tarczfmyarch.tarmydir值得注意的是,压缩档案中的单个文件和整体压缩档案是不同的。通常档案文件是为了便于传输而把几个文件组合成为一个tar文件。为了缩短传输时间,档案应当越小越好,可以将其压缩然后传送压缩后的版本。接收者可以对之解压缩,然后恢复tar文件。在tar文件上使用gzip将会产生有.tar.gz扩展名的文件。扩展名.gz被加到被压缩的gzip文件名之后。下面的例子创建了myarch.tar的一个压缩的版本,它具有了.gz的扩展名。#gzipmyarch.tar
#ls
#myarch.tar.gztar命令虽然有非常多的参数,但是使用起来并不困难,可以快速而又简单地为任何需要的子目录生成档案文件。首先,我们来建立一个有三个文件的子目录,再建立一个有另外三个文件的子目录,如下所示:#mkdirmydir
#cdmydir
#touchfile1file2file3
#mkdirmydir2
#cdmydir2
#touchfile21file22file23
#cd../..
#treemydir
mydir
file1
file2
file3
mydir2
file21
file22
file23现在已经有了一个子目录和其中的文件,使用这个命令的c(生成)和f(文件)参数来生成一个tar档案文件:#tarcfmydir.tarmydir
#ls-l*.tar
-rw-r--r--1bballusers10240Jan515:01mydir.tar请注意,原来的子目录并没有发生变化。在缺省的情况下,tar命令不会删除原来的子目录和文件。如果想看看命令执行的过程,可以使用v参数,如下所示:#tarcvfmydir.tarmydir
mydir/
mydir/file1
mydir/file2
mydir/file3
mydir/mydir2/
mydir/mydir2/file21
mydir/mydir2/file22
mydir/mydir2/file23tar命令在进行操作的时候,就会把正在添加到档案文件中去的子目录和文件的文件名显示出来。使用w参数,即交互参数,这样tar命令在执行的过程当中会询问是否想加入每个文件。当想有选择地备份内容不多的子目录的时候,这样就非常地方便,如下所示:#tarcwfmydir.tarmydir
addmydir?y
addmydir/file1?n
addmydir/file2?y
addmydir/file3?n
addmydir/mydir2?y
addmydir/mydir2/file21?y
addmydir/mydir2/file22?n
addmydir/mydir2/file23?y在上面的例子中,没有把文件file1、file3和文件file22归档。可以使用tar命令的t参数列出档案文件中的内容,f参数定义操作所使用的tar档案文件,如下所示:#tartfmydir.tar
mydir/
mydir/file2
mydir/mydir2/
mydir/mydir2/file21
mydir/mydir2/file23需要注意的是,如果参数的顺序放错了,tar命令会显示出错信息并退出。下面就来看看如何来释放整个的档案文件或者其中的某一个文件。如果想释放其中所有的文件,可以同时使用-x释放参数和-f。为了了解命令执行的过程,还可以加上-v参数:#tarxvfmydir.tar
mydir/
mydir/file2
mydir/mydir2/
mydir/mydir2/file21
mydir/mydir2/file23如果只是想从档案文件中释放几个文件的话,可以再次使用w参数:#tarxvwfmydir.tar
extractmydir/?y
mydir
extractmydir/file2?y
mydir/file2
extractmydir/mydir2/?y
mydir/mydir2/
extractmydir/mydir2/file21?y
mydir/mydir2/file21
extractmydir/mydir2/file23?y
mydir/mydir2/file23上例表明查看了档案文件,并交互地释放了文件。如果只想从档案文件中释放某一个文件,可以在命令行中指定这个文件。作为示例,我先删除了原始的mydir子目录,然后使用一个空的子目录进行如下操作:#tarxfmydir.tarmydir/mydir2/file23
#treemydir
mydir
--mydir2
--file23
1directory,1file注意,正如所看到的只有一个文件被释放出来。虽然tar命令不会覆盖整个的子目录,但是它会覆盖掉那些有着相同文件名的文件。值得一提的是,还可以使用其它程序,如BRU-2000或者taper脚本程序来备份系统或者选定的文件和子目录。OpenLinux操作系统也可以通过cron日程安排来自动进行文件的归档整理工作。建立cpio档案文件cpio命令可以从tar或者cpio档案文件中拷入或者拷出文件。因为cpio命令和tar命令兼容,所以我这里不再详细介绍它如何工作。但是这个命令具备一些tar命令没有的功能,如下所示:◆支持cpio和tar两种档案文件格式;◆支持许多老式磁带数据格式;◆能够通过一个管道读取文件的文件名。只有很少的Linux软件包是以cpio格式发行的。如果对cpio命令的详细情况感兴趣的话,可以阅读它的使用手册。使用gzip压缩文件gzip命令是用来压缩文件的。它不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。gzip命令的格式是:gzip[option][file]gzip很容易使用。如果想压缩某个文件或者磁带档案文件,可输入下面的内容:#gzipmydir.tar在缺省的状态下,gzip会压缩文件、再加上一个.gz扩展名,然后删除掉原来的文件。如果想解压缩文件,可以使用gzip的对应程序命令gunzip或者gzip命令的-d解压缩参数。但是必须保证这个用于解压缩的文件有.gz(或者.Z、-gz、.z、-z、或者_z)扩展名,否则gzip命令和gunzip命令都会显示出错信息。如果想使用自己的扩展名,可以使用-S后缀参数,如下所示:#gzip-S.gzippedmydir.targzip还可以处理用zip命令、compress命令和pack命令压缩的文件包。如果想在压缩或者解压缩的过程中看到更多的信息,可以使用-l列清单参数看到文件在被压缩或解压缩的时候的文件长度。在前一个例子中,压缩完子目录mydir之后,可以使用gzip命令按照下面的方法得到有关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 首都师范大学科德学院《企业管理》2023-2024学年第二学期期末试卷
- 香港科技大学(广州)《兽医影像诊断学》2023-2024学年第一学期期末试卷
- 驻马店职业技术学院《环境即兴编舞训练》2023-2024学年第一学期期末试卷
- 鹤壁汽车工程职业学院《动物传染病学》2023-2024学年第二学期期末试卷
- 黄冈科技职业学院《单片机原理及应用》2023-2024学年第二学期期末试卷
- 黄河交通学院《建筑施工安全技术》2023-2024学年第二学期期末试卷
- 黄淮学院《应用统计学导论》2023-2024学年第一学期期末试卷
- 黑龙江三江美术职业学院《英语七》2023-2024学年第二学期期末试卷
- 黑龙江司法警官职业学院《中医养生保健与“治未病”》2023-2024学年第一学期期末试卷
- 黑龙江商业职业学院《消防工程施工技术与组织》2023-2024学年第二学期期末试卷
- 装配式建筑深化设计-1.2.3 装配式建筑深化设计拆分原47课件讲解
- 电力工程施工组织措施方案
- T∕HGJ 12404-2021 仪表维修车间设计标准
- 【MOOC】园林植物应用设计-北京林业大学 中国大学慕课MOOC答案
- 继续教育《生态文明建设的理论与实践》考试试题及答案
- 组织部2024年双拥工作计划
- 2024-2025学年人教新目标英语八年级下册期末综合检测卷(含答案)
- 2023年新疆兵团事业单位开展招聘考试真题
- 2024年浪潮数字企业技术有限公司社会招聘(105人)笔试核心备考题库及答案解析
- 第47届世界技能大赛江苏省选拔赛竞赛技术文件-混凝土建筑项目
- 防溺水应急救援培训
评论
0/150
提交评论