压缩解压缩命令小结.doc_第1页
压缩解压缩命令小结.doc_第2页
压缩解压缩命令小结.doc_第3页
压缩解压缩命令小结.doc_第4页
压缩解压缩命令小结.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

归档命令:tar、jar、cpio、rar、zip与unzip压缩解压:ar、bzip2与bunzip2、compress与uncompress、gzip与gunzip、lzma与unlzma、rar、zip与unziptartar optionsOperations: -A -catenate -concatenate -c -create -d -diff -compare -r -append -t -list -u -update -x -extract -get -deleteCommon Options: -C, -directory DIR -f, -file F -j, -bzip2 -p, -preserve-permissions -v,-vv -verbose -z, -gzip.注意:1、当把某些参数选项与-f融合在一起时,-f要放在参数组的最后一项。2、我么不能传递上百个文件或文件夹作为tar的参数,毕竟参数数量不是无限制的。如果有很多文件需要归档的话,使用-r选项要更安全一些(当然一般是不用考虑此处的)。例子:归档,添加,查询tarball1、向已存在的归档文件添加若干文件tar -rvf 1.tar newfiles注意:哪怕1.tar中存在相同的文件名,源文件也不会被覆盖(但解压后,之后的文件会覆盖先解压的文件)2、列出归档文件的内容tar -tf 1.tar3、详细列出归档文件的内容,包括属性等信息tar -tvvf 1.tar提取tarball1、将tarball提取到当前目录tar -xf 1.tar2、使用-C选项,将需要的文件提取到指定的目录tar -xvf 1.tar -C /tmp3、通过将问价名指定为命令行参数来提取特定的文件tar -xvf 1.tar file1 file2 =只提取file1 file2综合应用1、进行归档时,我们可以将stdout指定为输出文件,这样另一个命令就可以通过管道将它作为输入-f指定stdout为归档文件(当使用-c选项时)-f指定stdin用于提取内容(当使用-x选项时)tar -cf - *.txt | tar -xvf - -C 123首先对*.txt进行归档,让后将它们提取到123目录中2、使用-A选项拼接两个归档文件假设我们有两个tarball:1.tar 2.tar通过tar -Af 1.tar 2.tar可以将2.tar的内容添加到1.tar中,如果1.tar不存在相当于将2.tar复制为1.tar3、通过检查时间戳来更新归档文件中的内容(-u选项)添加选项可以将指定的任意文件加入到归档文件中。如果同名文件已经存在,那么结果就是在归档文件中包含了两个同名的文件。我们可以用更新选项-u指明:只有比归档文件中的同名文件更新的时候才进行添加。如:tar -uvvf 1.tar file1 只有file1的文件内容修改时间更新或1.tar本来就不含file1的时候,才对它进行添加,但不覆盖原来的file14、比较归档文件和文件系统中的文件 -d选项tar -df 1.tar file1 file2.比价file1 file2.与归档文件1.tar中的file1 file2.的差别5、从归档文件中删除文件可以使用-delete选项从给定的归档文件中删除指定的文件tar -f 1.tar -delete file1 file26、压缩tarball其实tar命令只能用来对文件进行归档,它并不具备压缩功能。出于这个原因,我们在使用归档文件时可以采取某种形式的压缩。归档文件通常被压缩为下列文件之一file.tar.gz 由-z指定gzip格式file.tar.bz2 由-j指定bunzip2格式等等7、归档时,排除指定的部分文件,使用-exclude pattern排除匹配通配符样式的文件(注意只能排除样式文件)而不能排除整个目录,如:mbank)/home/mbank/test/tartar -cvf 2.tar * -exclude *.sh123/123/1.txt1.tar1.tar.bz21.tar.gz1.txt2.txt注意:如果当前还有子目录,归档时会遍历子目录的文件一起归档,当然也会排除子目录中的.sh文件,注意这里排除pattern匹配时,都是只以文件名字来匹配的,而不是整个路径名,下面的-X选项也是。还可以将你要排除的文件列表放到一个文件list.txt中,同时配合-X选项来排除:mbank)/home/mbank/test/tarcat list.txt 2.sh1.txtmbank)/home/mbank/test/tartar -cvf 3.tar * -X list.txt 8、仅解开单一文件的方法:如果我只想要解开打包文件内的一个文件而已,则可以先用-jtv找到该文件名,再解开即可。tar -jtvf 1.bz2 | grep filename1tar -jxvf 1.bz2 filename 注意filename必须是存储在1.bz2中的完整文件名如:mbank)/home/mbank/mbank/etctar -zxvf script.tar.gz 9911004.xmltar: 9911004.xml:归档中找不到tar: 由于前面延迟的错误而退出mbank)/home/mbank/mbank/etctar -ztvf script.tar.gz | grep 9911004.xml-rw-r-r- mbank/mbank 1385 2012-11-15 20:56:42 script/9911004.xmlmbank)/home/mbank/mbank/etctar -zxvf script.tar.gz script/9911004.xmlscript/9911004.xmljarjar与tar一样用于归档的,用法也类似(注意jar打包文件后缀名一般为.jar或.warjar ctxuvfm0M jar-文件 manifest-文件 -C 目录 文件名 .其中 ctxu 是 jar 命令的子命令,每次 jar 命令只能包含 ctxu 中的一个,它们分别表示:-c创建新的 JAR 文件包-t列出 JAR 文件包的内容列表-x展开 JAR 文件包的指定文件或者所有文件-u更新已存在的 JAR 文件包 (添加文件到 JAR 文件包中)特别注意,在参数的下达中, c/x/t/u 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!-f指定 JAR 文件名,通常这个参数是必须的请留意,在 f 之后要立即接档名喔!不要再加参数!例如使用 jar -zcvfP tfile sfile就是错误的写法,要写成 jar -zcvPf tfile sfile才对喔!-p :使用原文件的原来属性(属性不会依据使用者而变)-P :可以使用绝对路径来压缩!-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!-exclude FILE:在压缩的过程中,不要将 FILE 打包!-m指定需要包含的 MANIFEST 清单文件-0只存储,不压缩,这样产生的 JAR 文件包会比不用该参数产生的体积大,但速度更快-M不产生所有项的清单(MANIFEST文件,此参数会忽略 -m 参数jar-文件 即需要生成、查看、更新或者解开的 JAR 文件包,它是 -f 参数的附属参数manifest-文件 即 MANIFEST 清单文件,它是 -m 参数的附属参数-C 目录 表示转到指定目录下去执行这个 jar 命令的操作。它相当于先使用 cd 命令转该目录下再执行不带 -C参数的 jar 命令,它只能在创建和更新 JAR 文件包的时候可用。文件名 . 指定一个文件/目录列表,这些文件/目录就是要添加到 JAR文件包中的文件/目录。如果指定了目录,那么 jar命令打包的时候会自动把该目录中的所有文件和子目录打入包中。下面举一些例子来说明 jar 命令的用法: 1) 压缩jar -cvf test.jar test 2) 解压jar -xvf test.jar testcpio类似于tar的另一种归档格式,多用于RPM软件包,Linux内核的initramfs文件注意:它与tar的一个不同点就是,在归档时,如果归档文件以/开始的决定路径,归档后tar生成的文件会去除开头的/,cpio却不会。cpio是通过stdin获取输入文件名,并将归档文件的内容写入stdout,我们必须将stdout重定向到一个文件,以接收cpio的输出。如:echo file1 file2 file3 | cpio -ov 1.cpio-o指定输出-v打印归档文件列表,stderr列出cpio归档文件中的内容:cpio -it 1.cpio-i指定输入-t表示列出归档文件内容cpio -id 0 发生错误。示例1. 要创建一个库,请输入:ar -v -q lib.a strlen.o strcpy.o如果 lib.a 库不存在,则此命令创建它,并将文件 strlen.o 和 strcpy.o的副本输入其中。如果 lib.a库存在,则此命令在不检查相同成员的情况下,将新的成员添加到末尾。v标志设置详细方式,在此方式中 ar 命令在其进行时显示进程报告。2. 要显示库的目录,请输入:ar -v -t lib.a此命令列出了 lib.a 库的目录,显示类似于 ls -l命令的输出的长列表。要只列出成员文件名称,则省略 -v标志。3. 要替换或添加新成员到库中,请输入:ar -v -r lib.a strlen.o strcat.o此命令替换成员 strlen.o 和 strcat.o。如果lib.a 如示例 1 中显示的那样创建,则替换strlen.o 成员。因为不存在名为 strcat.o的成员,所以它被添加到库的末尾。4. 要指定在何处插入新成员,请输入:ar -v -r -b strlen.o lib.a strcmp.o此命令添加 strcmp.o文件,并将该新成员置于strlen.o 成员之前。5.要更新一个已经更改过的成员,请输入:ar -v -r -u lib.a strcpy.o此命令替换现有 strcpy.o成员,但仅当文件 strcpy.o自从最后一次添加到库后已经修改时才替换它。6.要更改库成员的顺序,请输入:ar -v -m -a strcmp.o lib.a strcat.o strcpy.o此命令将成员strcat.o和strcpy.o移动到紧跟在strcmp.o成员之后的位置。保留strcat.o和strcpy.o成员的相对顺序。换句话说,如果在移动之前strcpy.o成员在strcat.o成员之前,那么(移动后)它依旧如此。7.要解压缩库成员,请输入:ar -v -x lib.a strcat.o strcpy.o此命令将成员strcat.o和strcpy.o分别复制到名为strcat.o和strcpy.o的文件。8.要解压缩并重命名一个成员,请输入:ar -p lib.a strcpy.o stringcopy.o 此命令将成员 strcpy.o 复制到一个名为 stringcopy.o 的文件。9. 要删除一个成员,请输入:ar -v -d lib.a strlen.o 此命令从 lib.a 库中删除成员 strlen.o。10.要从多个用 ld 命令创建的共享模块中创建一个压缩文档库,请输入:ar -r -v libshr.a shrsub.o shrsub2.o shrsub3.o .此命令从名为shrsub.o、shrsub2.o、shrsub3.o等等的共享模块中创建名为libshr.a的压缩文档库。要编译并链接使用libshr.a压缩文档库的main程序,请使用以下命令:cc -o main main.c -L/u/sharedlib -lshrmain 程序现在是可执行的。main 程序引用的任何符号(包含在libshr.a 压缩文档库中)已经因延迟分辨率而作了标记。-l 标志指定应在 libshr.a库中搜索这些符号。11. 要列出 lib.a 的内容(忽略任何 32 位目标文件),请输入:ar -X64 -t -v lib.a 12. 要从 lib.a 解压缩所有 32 位的目标文件,请输入:ar -X32 -x lib.a 13. 要列出 lib.a 中的所有文件,无论是 32 位、64 位或非对象,请输入: ar -X32_64 -t -v lib.a bzip2与bunzip2这两个命令都可以处理bzip压缩文件类型。bzip2只能压缩文件,但可以压缩多个文件:bzip2 filenamesbzip2会删除源文件并生成filename.gz的未压缩形式将bzip2文件解压缩:bunzip2 filename.bz2bunzip2会删除filename.bz2 bzip2命令可以从标准输入读入文件内容,也可以将压缩文件写出到stdoutcat A.txt | bzip2 -c A.txt.bz2-c指定将输出写到stdout另外还可以指定bzip2的压缩级别。用-fast或-best选项分别提供最低或最高的压缩比。压缩、解压归档文件:A)tar -jcvf file.tar.bz2 FILESB)tar -cvf file.tar FILES bzip2 file.tarA)tar -jxvf file.tar.bz2B) bunzip2 file.tar.bz2 tar -xvf file.tar压缩率:共有9级1级的压缩率最低,但是压缩速度最快9级的压缩率最高,但是压缩速度最慢bzip2 -9 test.img保留输入文件:-k选项bunzip2 test.bz2 -kbzip2 test -kbzcat可以读取.bz2压缩文件compress与uncompressLinux中安装该命令类似于:ncompress-4.2.4-11.i386.rpm的安装包.Z格式文件的压缩与解压缩:compress 1.txt生成1.txt.Zuncompress 1.txt.Z 解压生成1.txtgzip与gunzip这两个命令都可以处理gzip压缩文件类型。gzip只能压缩文件,但可以同时压缩多个文件:gzip filenamesgzip会删除源文件并生成filename.gz的未压缩形式将gzip文件解压缩:gunzip filename.gzgunzip会删除filename.gz列出压缩文件的属性信息:mbank)/home/mbank/testgzip -l data.file.gz compressed uncompressed ratio uncompressed_name 321 284672 99.9% data.filegzip命令可以从标准输入读入文件内容,也可以将压缩文件写出到stdoutcat A.txt | gzip -c A.txt.gz-c指定将输出写到stdout另外还可以指定gzip的压缩级别。用-fast或

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论