zoukankan      html  css  js  c++  java
  • ubuntu tar命令

    转自:http://www.cnblogs.com/urbetter/archive/2010/09/07/1820466.html

    tar zxvf ut6410-android2.1.tgz
    tar zcvf ut6410-android2.1.tgz ut6410-android2.1/
    tar --exclude ut6410-android2.1/out -zcvf ut6410-android2.1.tgz ut6410-android2.1/ 
     
    tar命令 
    [root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....
    参数:
    -c :建立一个压缩文件的参数指令(create 的意思);
    -x :解开一个压缩文件的参数指令!
    -t :查看 tarfile 里面的文件!

    特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
    因为不可能同时压缩与解压缩。
    -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
    -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
    -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
    -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
    例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
    『 tar -zcvPf tfile sfile』才对喔!
    -p :使用原文件的原来属性(属性不会依据使用者而变)
    -P :可以使用绝对路径来压缩!
    -N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
    --exclude FILE:在压缩的过程中,不要将 FILE 打包!
    tar示例:
    示例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
    [root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!
    [root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩    tar zcvf ut6410.tgz ut6410/
    [root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
    # 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
    # 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
    # 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
    # 上述指令在执行的时候,会显示一个警告讯息:
    # 『tar: Removing leading `/' from member names』那是关於绝对路径的特殊设定。
    tar示例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
    [root@linux ~]# tar -ztvf /tmp/etc.tar.gz
    # 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,
    # 就得要加上 z 这个参数了!这很重要的!
    tar示例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
    [root@linux ~]# cd /usr/local/src
    [root@linux src]# tar -zxvf /tmp/etc.tar.gz
    # 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
    # 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,
    # 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
    # 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!
    tar示例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已
    [root@linux ~]# cd /tmp
    [root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
    # 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,
    # 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!
    tar示例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
    [root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
    # 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!
    tar示例六:在 /home 当中,比 2005/06/01 新的文件才备份
    [root@linux ~]# tar -N '2005/06/01' -zcvf home.tar.gz /home
    tar示例七:我要备份 /home, /etc ,但不要 /home/dmtsai
    [root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
    tar示例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
    [root@linux ~]# cd /tmp
    [root@linux tmp]# tar -cvf - /etc | tar -xvf -
    # 这个动作有点像是 cp -r tar --exclude  /data/web/aaa  --exclude  /data/web/bbb  -cvzf  data.tar.gz   /data/web/etc /tmp 啦~依旧是有其有用途的!
    # 要注意的地方在於输出档变成 - 而输入档也变成 - ,又有一个 | 存在~
    # 这分别代表 standard output, standard input 与管线命令啦!

    tar实例八:文件mm.c、文件夹mmmm.c不打包进来  --exclude 其后面对应的文件夹不要有/

    [song@urbetter-song]#tar --exclude  /ut/mm.c --exclude  /ut/mm  -zcvf ut.tgz  ut

     打包出来ut.tgz,不会包括mm.c和mm文件夹
    文章来自:老李的日志。源地址:http://www.dayanmei.com/blog.php/ID_1009.htmtar在linux上是常用的打包、压缩、加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数

    参数:

    -c :create 建立压缩档案的参数;

    -x : 解压缩压缩档案的参数;

    -z : 是否需要用gzip压缩;

    -v: 压缩的过程中显示档案;

    -f: 置顶文档名,在f后面立即接文件名,不能再加参数

    -u:更新原压缩包中的文件 
    这六个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 
    -z:有gzip属性的 
    -j:有bz2属性的 
    -Z:有compress属性的 
    -v:显示所有过程 
    -O:将文件解开到标准输出 

    下面的参数-f是必须的 
    -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。 
    # tar -cf all.tar *.jpg 
    这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。 
    # tar -rf all.tar *.gif 
    这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。 
    # tar -uf all.tar logo.gif 
    这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。 
    # tar -tf all.tar 
    这条命令是列出all.tar包中所有文件,-t是列出文件的意思 
    # tar -xf all.tar 
    这条命令是解出all.tar包中所有文件,-t是解开的意思 


    压缩 
    tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg 

    tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz 

    tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2 

    tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z 

    rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux 

    zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux 



    解压 
    tar –xvf file.tar //解压 tar包 

    tar -xzvf file.tar.gz //解压tar.gz 

    tar -xjvf file.tar.bz2 //解压 tar.bz2 

    tar –xZvf file.tar.Z //解压tar.Z 

    unrar e file.rar //解压rar 

    unzip file.zip //解压zip 


    总结 
    1、*.tar 用 tar –xvf 解压 

    2、*.gz 用 gzip -d或者gunzip 解压 

    3、*.tar.gz和*.tgz 用 tar –xzf 解压 

    4、*.bz2 用 bzip2 -d或者用bunzip2 解压 

    5、*.tar.bz2用tar –xjf 解压 

    6、*.Z 用 uncompress 解压 

    7、*.tar.Z 用tar –xZf 解压 

    8、*.rar 用 unrar e解压 

    9、*.zip 用 unzip 解压

    举例: 一,将整个/home/www/images 目录下的文件全部打包为 /home/www/images.tar

    [root@xoaocom ~]# tar -cvf /home/www/images.tar /home/www/images ← 仅打包,不压缩

    [root@xoaocom ~]# tar -zcvf /home/www/images.tar.gz /home/www/images ← 打包后,以gzip压缩

    在参数f后面的压缩文件名是自己取的,习惯上用tar来做,如果加z参数,则以tar.gz 或tgz来代表gzip压缩过的tar file文件

    举例: 二,将 /home/www/images.tar.gz 解压到/home/www下面

    [root@xoaocom ~]# cd /home/www

    [root@xoaocom ~]# tar -zxvf /home/images.tar.gz

    解压到指定的目录

    [root@xoaocom ~]# tar -zxvf /home/images.tar.gz -C /specific dir

    解包到指定的目录

    tar xvf filename.tar -C /specific dir

    凡不能毁灭我的,将使我更强大。
  • 相关阅读:
    hdu 5387 Clock (模拟)
    CodeForces 300B Coach (并查集)
    hdu 3342 Legal or Not(拓扑排序)
    hdu 3853 LOOPS(概率DP)
    hdu 3076 ssworld VS DDD(概率dp)
    csu 1120 病毒(LICS 最长公共上升子序列)
    csu 1110 RMQ with Shifts (线段树单点更新)
    poj 1458 Common Subsequence(最大公共子序列)
    poj 2456 Aggressive cows (二分)
    HDU 1869 六度分离(floyd)
  • 原文地址:https://www.cnblogs.com/lovelf/p/5167687.html
Copyright © 2011-2022 走看看