linux下tar的打包使用

分析如下:

1Linux下tar命令详解

1:创建压缩包

2.tar-x:解压

3.tar-t:查看内容

4在文件末尾添加文件

5:更新原压缩包中的文件

2.cvfjpg.tar*jpg//将目录下所有jpg文件打包成jpg.tar

2.czfjpg.tar.gz*.jpg//将目录下所有jpg文件打包成jpg.tar,并用gzip压缩,生成名为jpg.tar.gz的gzip压缩包

3、tar-cjfjpg.tar.bz2*.jpg//将目录下的所有jpg文件打包成jpg.tar,并用bzip2压缩,生成名为jpg.tar.bz2的bzip2压缩包

4.Z*.jpg//更改目录下所有内容jpg文件打包成jpg.tar并用compressor压缩后,生成压缩包umcompress,命名为jpg.tar.Z

5、rarajpg.rar*.jpg//rar压缩格式,rforlinux需要先下载ra

6.zipjpg.zip*.jpg//压缩格式zip,需要先下载zipforlinux

3.tar//解压tar包

2.tar-xzvffile.tar.gz//解压tar.gz

3.tar.Z//解压tar.Z

5.unrarefile.rar//解压rar

1.如图示例所示,使用tar命令将这些文件和目录打包。
(文件目录以您的实际情况为准,此处作为参考示例)

2.如图,tar-cvf就打包好了,包名可以自己定(要加.tar后缀),这是对bd1.txt文件进行打包。

3.打包多个文件时,文件名之间用空格分隔,这样就可以打包多个txt文件。

4.您可以使用星号*和名称后缀来匹配指定的文件类型,例如TXT文件。

5使用Tar命令将文件打包到指定目录文件夹中可以将打包前面的文件夹路径添加到文件夹中。

如何在Linux上使用tar命令解压和压缩文件

Linux上的tar命令通常用于创建名为.tar.gz或.tgz的存档文件,也称为“压缩包”。
这个命令有很多选项,但你只需要记住几个字母就可以快速创建一个tar归档文件。
tar命令现在可以提取生成的存档。
Linux发行版中包含的GNUtar命令包含集成压缩。
它可以创建.tar存档,然后在一个命令中使用gzip或bzip2压缩对其进行压缩。
压缩整个目录或单个文件在Linux上使用以下命令压缩整个目录或文件。
它还会压缩您指定的文件tar-czvfname-of-archive.tar.gz/path/to/directory-or-file-c:CreateArchive。
-z:压缩zip存档。
-v:在终端显示进度时创建存档,也称为“详细”模式。
V在这些命令中始终是可选的,但它很有用。
-f:允许您指定存档的文件名。
同时压缩多个文件或目录tar-czvfarchive.tar.gz/home/ubuntu/Downloads/usr/local/stuff/home/ubuntu/Documents/notes.txt压缩是在某些情况下排除某些目录和文件,您可以需要压缩整个目录但排除某些文件和目录。
您可以通过为要排除的每个目录或文件添加--exclude开关来完成此操作。
tar-czvfarchive.tar.gz/home/ubuntu--exclude=/home/ubuntu/Downloads--exclude=/home/ubuntu/.cache使用bzip2压缩,尽管gzip压缩主要用于创建名为.takes的文件。
gz或tgz文件,tar还支持压缩bzip2。
这允许您创建bzip2压缩文件,通常称为.tar.bz2、.tar.bz或.tbz文件。
为此,只需在此处的命令中将bzip2的gzips-z替换为-j即可。
tar-cjvfarchive.tar.bz2stuff提取存档一旦有了存档,您就可以使用tar命令来提取它。
以下命令会将archive.tar.gz的内容提取到当前目录。
tar-xzvfarchive.tar.gz

Linux中文件的压缩与解压缩命令操作示例集锦

所谓压缩就是通过不同的编码技术对原始文件进行处理,以减少数据存储所需的空间,然后使用解压的方式恢复源文件的内容后再使用。
和Windows一样,Linux下的压缩和解压方法也有很多。
1.zip压缩与解压缩zip是使用最广泛的压缩程序。
用它压缩的文件会产生扩展名为zip的压缩文件,这种格式可以在多种系统上使用,例如windows中的winzip。
下面我们来谈谈如何在linux中创建zip文件。
当我们在终端输入zip时,会出现一些关于这个命令的介绍以及参数的含义。
代码如下:xiaopeng@ubuntu:~/test$zipCopyright(c)1990-2006Info-ZIP-Type'zip"-L"'forsoftwarelicense.Zip2.32(June19th2006).Usage:zip[-options][-bpath][-tmmddyyyy][-nsuffixes][zipfilelist][-xilist]默认操作是从列表中添加或替换zip文件条目,其中可以包括特殊的ame-tocompressstandardinput.如果省略zipfileandlist,zipcompressesstdintostdout。
-ffreshen:onlychangedfiles-uupdate:onlychangedornewfiles-ddeleteentriesinzipfile-mmoveintozipfile(删除文件)-rrecurseintodirectories-jjunk(不记录)directorynames-0storeonly-lconvertLFtoCRLF(-llCRLFtoLF)-1compressfaster-9compressbetter-qquietoperation-vverboseoperation/printversioninfo-caddone-linecomments-zaddzipfilecomment-@readnamesfromstdin-omakezipfileasoldaslatestentry-x排除以下名称-i仅包含以下名称-Ffixzipfile(-FFtryhader)-Ddonotadddirectoryentries-Aadjustself-extractingexe-Jjunkzipfileprefix(unzipsfx)-Ttestzipfileintegrity-XeXincludeeXtrafileattributes-ystoresymboliclinksasthelinkinsteadofthereferencedfile-RPKZIPrecursion(seemanual)-eencrypt-ndon'tcompressthesesuffixes下面我们来做个最简单的实验。
我们只是将当前目录下所有文件名以test开头的文件压缩成一个文件,就可以查看压缩率了。
(红色是我的注释)代码如下:xiaopeng@ubuntu:~/test$ls-lh总使用量为24K代码如下:-rw-r--r--1xiaopengxiaopeng2122009-06-2514:13test1-rw-r--r--1xiaopengxiaopeng1.3K2009-06-2514:13test2-rw-r--r--1xiaopengxiaopeng3.4K2009-06-2514:14test3-rw-r--r--1xiaopengxiaopeng9.9K2009-06-2514:14test4代码如下:xiaopeng@ubuntu:~/test$ziptest.ziptest*zip命令后面跟着压缩的文件名,这里是test.zip,当然后缀不是必要的。
然后跟随要压缩的文件的名称。
这里使用的test*是指所有以test开头的文件,包括test1test2test3test4adding:test1(deflated30%)这里显示的是压缩比adding:test2(deflated65%)adding:test3(deflated64%)adding:test4(deflated73%))一般可以看出,源文件越大,压缩比越大。
代码如下:xiaopeng@ubuntu:~/test$ls-lh总使用量为32K。
代码如下:-rw-r--r--1xiaopengxiaopeng2122009-06-2514:13test1-rw-r--r--1xiaopengxiaopeng1.3K2009-06-2514:13test2-rw-r--r--1xiaopengxiaopeng3.4K2009-06-2514:14test3-rw-r--r--1xiaopengxiaopeng9.9K2009-06-2514:14test4-rw-r--r--1xiaopengxiaopeng5.0K2009-06-2514:17test.zipxiaopeng@ubuntu:~/test$以上压缩相同类型的文件。
事实上,不同类型也可以被压缩。
文件压缩在一起。
有时为了节省硬盘空间,您可以在创建压缩文件后自动删除原始文件。
在这种情况下,只需提供-m参数即可。
代码如下:xiaopeng@ubuntu:~/test$ls-lh总使用量为24K。
代码如下:-rw-r--r--1xiaopengxiaopeng2122009-06-2514:13test1-rw-r--r--1xiaopengxiaopeng1.3K2009-06-2514:13test2-rw-r--r--1xiaopengxiaopeng3.4K2009-06-2514:14test3-rw-r--r--1xiaopengxiaopeng9.9K2009-06-2514:14test4xiaopeng@ubuntu:~/test$zip-mtest.ziptest*与parameters-mupdating:test1(deflated30%)updating:test2(deflated65%)updating:test3(deflated64%)updating:test4(deflated73%)xiaopeng@ubuntu:~/test$ls-lh总使用量8.0K代码如下如下:-rw-r--r--1xiaopengxiaopeng5.0K2009-06-2514:26test.zipxiaopeng@ubuntu:~/test$可以看到原来的文件已经被删除了,只剩下压缩文件了。
在压缩某些目录时,目录中往往会存在子目录。
这时根据子目录下的文件是否压缩,有两种情况。
一是压缩,二是忽略自录中的内容,比如选择压缩子目录,使用-r参数。
如果不压缩,则使用-j参数。
例如,一个是-r,另一个是-j。
代码如下:xiaopeng@ubuntu:~/test$ls-lh总共使用28K代码如下:drwxr-xr-x2xiaopengxiaopeng4.0K2009-06-2514:31pdf-rw-r--r--1xiaopengxiaopeng2122009-06-2514:13test1-rw-r--r--1xiaopengxiaopeng1.3K2009-06-2514:13test2-rw-r--r--1xiaopengxiaopeng3.4K2009-06-2514:14test3-rw-r--r--1小鹏笑peng9.9K2009-06-2514:14test4xiaopeng@ubuntu:~/test$zip-rtest.zip*压缩当前目录的所有内容。
r参数表示对pdf子目录的内容也进行压缩添加:pdf/(stored0%)添加:pdf/case_Contact.pdf(deflated10%)添加:pdf/case_KRUU.pdf(deflated9%)添加:pdf/case_howard_county_library.pdf(deflated24%)添加:test1(deflated30%)添加:test2(deflated65%)添加:test3(deflated64%)添加:test4(deflated73)%)xiaopeng@ubuntu:~/test$以下情况是子目录没有压缩的。
代码如下:xiaopeng@ubuntu:~/test$ls-l总计使用量28代码如下:drwxr-xr-x2xiaopengxiaopeng40962009-06-2514:31pdf-rw-r--r--1xiaopengxiaopeng2122009-06-2514:13test1-rw-r--r--1xiaopengxiaopeng12332009-06-2514:13test2-rw-r--r--1xiaopengxiaopeng34122009-06-2514:14test3-rw-r--r--1xiaopengxiaopeng100912009-06-2514:14test4xiaopeng@ubuntu:~/test$zip-jtest.zip*添加:test1(deflated30%)添加:test2(deflated65%)添加:test3(deflated64%)添加:test4(deflated73%)子目录pdf被忽略。
代码如下:xiaopeng@ubuntu:~/test$还有一招:有些文件由于编码的原因,体积已经大大缩小,比如GIF、JPG等格式,使用zip压缩几乎没有效果,浪费资源时间。
这时可以使用-n参数直接保存这些文件而不进行压缩。
例如:代码如下:xiaopeng@ubuntu:~/test$ls-lh总使用量68K代码如下:-rw-r--r--1xiaopengxiaopeng18K2009-06-0421:18duality.jpg-rw-r--r--1xiaopengxiaopeng2122009-06-2514:13test1-rw-r--r--1xiaopengxiaopeng1.3K2009-06-2514:13test2-rw-r--r--1xiaopengxiaopeng3.4K2009-06-2514:14test3-rw-r--r--1xiaopengxiaopeng9.9K2009-06-2514:14test4-rw-r--r--1xiaopengxiaopeng23K2009-06-1015:07test.jpgxiaopeng@ubuntu:~/test$zip-n.jpgtest.zip*添加:duality.jpg(stored0%)添加:test1(deflated30%)添加:test2(deflated65%)添加:test3(deflated64%)添加:test4(deflated73%)添加:test.jpg(stored0%)jpg格式不压缩,直接保存。
代码如下:xiaopeng@ubuntu:~/test$如果需要直接保存多种格式,可以用冒号分隔,如:-n.jpg:.mpg提示,有时文件很多一个目录下要压缩的,但是没有压缩的就那么几个,那么我们可以用-x参数排除这几个没有压缩的。
例如代码如下:xiaopeng@ubuntu:~/test$lsduality.jpgtest1test2test3test4test.jpgtest.zipxiaopeng@ubuntu:~/test$zip-n.jpgtest.zip*-xtest2不压缩test2updating:duality.jpg(斯托尔ed0%)updating:test1(deflated30%)updating:test3(deflated64%)updating:test4(deflated73%)updating:test.jpg(stored0%)xiaopeng@ubuntu:~/test$可以看到test2没有压缩,并跳过它。
压缩链接时,zip会先压缩读取链接指向的原始文件的内容,然后对其进行压缩。
压缩完成后,链接将不再存在。
此外,压缩率也可以调整。
级别从1到9,其中1为最低,9为最高。
默认是6。
我们可以用1和9来比较压缩比。
代码如下:xiaopeng@ubuntu:~/test$zip-1low.zip*adding:test1(deflated30%)adding:test2(deflated63%)adding:test3(deflated62%)adding:test4(deflated70%)xiaopeng@ubuntu:~/test$zip-9high.zip*adding:low.zip(deflated4%)adding:test1(deflated30%)adding:test2(deflated65%)adding:test3(deflated64%)adding:test4(deflated73%)因为文件比较小,所以效果不太好显然9的压缩率确实高了一点。
高压缩率可以节省空间,但压缩时间较长。
低压缩率可以节省更少的空间,但花费的时间也更少。
因此,我们必须合理选择压缩率,一般使用默认的。
解压缩zip文件。
这个比较简单,就是unzip命令。
代码如下:xiaopeng@ubuntu:~/test$lstest.zipxiaopeng@ubuntu:~/test$unziptest.zipArchive:test.zipinflating:test1inflating:test2inflating:test3inflating:test4xiaopeng@ubuntuu:~/test$当然,你还可以使用-x参数来指定哪些文件不需要压缩。
代码如下:xiaopeng@ubuntu:~/test$unziptest.zip-xtest3test3不需要压缩Archive:test.zipinflating:test1inflating:test2inflating:test4xiaopeng@ubuntu:~/test$还有一个非常有用的参数,-Z,注意是大写的Z。
功能是查看压缩文件的内容。
就像Windows中的winzip一样,我们不需要解压,我们也可以打开它看看里面有什么文件,是什么类型的文件。
例如,如果我想查看test.zip的内容,但不想解压并再次读取它,我可以执行以下操作。
代码如下:xiaopeng@ubuntu:~/test$unzip-Ztest.zipArchive:test.zip5069bytes4files-rw-r--r--2.3unx212txdefN25-Jun-0914:13test1-rw-r--r--2.3unx1233txdefN25-Jun-0914:13test2-rw-r--r--2.3unx3412txdefN25-Jun-0914:14test3-rw-r--r--2.3unx10091txdefN25-Jun-0914:14test44files,14948bytesuncompressed,4567bytescompressed:69.4%xiaopeng@ubuntu:~/test$当然,除了这些参数之外,还有许多可以使用的参数。
我们这里就不一一实验了。
我们可以在使用过程中掌握它们。
2.zip和tar。
如果你在Linux中安装过软件压缩包,你就会熟悉这个后缀为.tar.gz的压缩文件。
例如,我们在LinuxQQ下载页面http://im.qq.com/qq/linux/download.shtml,你会看到其中一个安装包是.tar.gz包。
这个包有两个后缀是有原因的。
gz和tar分别由两个程序生成。
gz是用gzip压缩的压缩文件。
压缩效果与zip类似,但与zip最大的区别是gzip无法将很多单个文件压缩成单个文件,所以tar有它的一席之地。
tar不是什么压缩程序,是用来打包文件的。
tar和gzip一拍即合,两者共同实现了压缩。
即当压缩多个文件时,使用tar将文件打包成.tar包,然后gzip对该包进行压缩,从而创建.tar。
.gz文件格式。
首先我们来看看gzip和gunzip的应用。
gzip的使用非常简单,只需添加要压缩的文件名即可。
代码如下:xiaopeng@ubuntu:~/test$ls-lh总使用量为24K。
代码如下:-rw-r--r--1xiaopengxiaopeng2122009-06-2515:49test1-rw-r--r--1xiaopengxiaopeng1.3K2009-06-2514:13test2-rw-r--r--1xiaopengxiaopeng3.4K2009-06-2514:14test3-rw-r--r--1xiaopengxiaopeng9.9K2009-06-2514:14test4xiaopeng@ubuntu:~/test$gziptest1xiaopeng@ubuntu:~/总使用量test$ls-lh的大小是24K。
代码如下:-rw-r--r--1xiaopengxiaopeng1732009-06-2515:49test1.gz-rw-r--r--1xiaopengxiaopeng1.3K2009-06-2514:13test2-rw-r--r--1小鹏小普eng3.4K2009-06-2514:14test3-rw-r--r--1xiaopengxiaopeng9.9K2009-06-2514:14test4注意,它与zip不同。
只需在命令后添加要压缩的文件名,系统会自动将生成的压缩文件命名为原文件名加后缀.gz,压缩完成后原文件将被删除。
解压的gunzip代码如下:xiaopeng@ubuntu:~/test$gunzip*.gzxiaopeng@ubuntu:~/test$lstest1test2test3test4xiaopeng@ubuntu:~/test$完成后,之前的压缩文件test1.gz也会被删除。
同样,gzip也可以查看解压前的文件内容。
使用参数-l,gzip还支持修改压缩率,为1到9,与zip相同。
我们来看看tar的用法。
tar用于打包文件。
打包后的包大小等于之前所有原始文件大小的总和。
(其实大小不相等,打包后的大小大于源文件大小之和,这个可以验证一下,看《Ubuntu初学者到精通》说大小是一样的,就是显然是错误的)也就是说,tar没有压缩作用。
tar的参数很多,可以通过在线帮助文​​档或者使用--help命令查看。
这里我们只简单地使用一些。
首先是多文件打包。
请参阅示例。
代码如下:xiaopeng@ubuntu:~/test$lstest1test2test3test4xiaopeng@ubuntu:~/test$tar-cvftest.tar*是将当前目录下的所有文件打包成test.tar。
几个参数的含义是:c(Creat)创建新文件v(Verbose)显示命令执行时的信息。
f(File)指定打包成文件形式。
代码如下:test1test2test3test4代码如下:xiaopeng@ubuntu:~/test$lstest1test2test3test4test.tarxiaopeng@ubuntu:~/test$解压tar文件,只需要把参数中的c改为:~/test$我们来看看tar和gzip是如何协同工作来压缩四个文件的。
步骤是先用tar打包,然后对.tar包使用gzip压缩,最后得到.tar.gz文件。
示例:代码如下:xiaopeng@ubuntu:~/test$lstest1test2test3test4xiaopeng@ubuntu:~/test$tarcvftest.tar*首先打包成test.tartest1test2test3test4xiaopeng@ubuntu:~/test$lstest1test2test3test4test.tarxiaopeng@ubuntu:~/test$gziptest.tar使用gzip压缩test.tar转化为test.tar.gz压缩包。
xiaopeng@ubuntu:~/test$lstest1test2test3test4test.tar.gzxiaopeng@ubuntu:~/test$解压.tar.gz包时,与压缩过程相反。
现在解压并使用tar打开包。
代码如下:xiaopeng@ubuntu:~/test$lstest.tar.gzxiaopeng@ubuntu:~/test$gunziptest.tar.gz首先使用gunzip解压.tar.gz包xiaopeng@ubuntu:~/test$lstest。
tarxiaopeng@ubuntu:~/test$tarxvftest.tarran然后使用tar打开.tar包test1test2test3test4xiaopeng@ubuntu:~/test$lstest1test2test3test4test.tarxiaopeng@ubuntu:~/test$还可以同时实现tar和gzip。
只需在tar参数中添加一个z即可tar-xvfztest.tar。
gz可以实现以上两个命令的功能。
相对容易理解。