• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    linux tar命令简介
    POST TIME:2021-10-18 16:05

    一、使用介绍

    tar命令用来打包,解包和压缩。

    1、名词区分

    打包:将一大堆文件或目录变成一个总的文件【tar命令】

    压缩:将一个大的文件通过一些压缩算法变成一个小文件【gzip,bzip2等】

    Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。

    2、tar语法

    语法:tar [主选项+辅选项] 文件或目录

    使用该命令时,主选项必须有,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

    主选项:【一条命令以下5个参数只能有一个】

    -c: --create 新建一个压缩文档,即打包

    -x: --extract,--get解压文件

    -t: --list,查看压缩文档里的所有内容

    -r:--append 向压缩文档里追加文件

    -u:--update 更新原压缩包中的文件

    辅助选项:

    -z:是否同时具有gzip的属性?即是否需要用gzip压缩或解压?一般格式为xxx.tar.gz或xx.tgz

    -j:是否同时具有bzip2的属性?即是否需要用bzip2压缩或解压?一般格式为xx.tar.bz2

    -v:显示操作过程!这个参数很常用

    -f:使用文档名,注意,在f之后要立即接文档名,不要再加其他参数!

    -C:切换到指定目录

    --exclude FILE:在压缩过程中,不要将FILE打包

    二、例子

    1、打包

    习惯上以.tar后缀代表tar包,用xxx.tar.gz或.tgz代表gzip压缩过的tar文件,用.tar.bz2代表bzip2压缩过的tar文件。

    将img1和img2两个文件夹打包成img.tar,仅打包不压缩

    liuxiaoyan@development:~/test$ tar -cvf img.tar img1 img2

    img1/
    img1/102.png
    img1/101.png
    img1/100.png
    img2/
    img2/105.png
    img2/104.png
    img2/103.png
    liuxiaoyan@development:~/test$ ls
    img1 img2 img.tar

    将img1和img2两个文件夹打包成img.tar.gz,打包后,以gzip压缩

    liuxiaoyan@development:~/test$ tar -zcvf img.tar.gz img1 img2
    img1/
    img1/102.png
    img1/101.png
    img1/100.png
    img2/
    img2/105.png
    img2/104.png
    img2/103.png
    liuxiaoyan@development:~/test$ ls
    img1 img2 img.tar img.tar.gz

    将img1和img2两个文件夹打包成img.tar.bz2,打包后,以bzip2来压缩

    liuxiaoyan@development:~/test$ tar -jcvf img.tar.bz2 img1 img2
    img1/
    img1/102.png
    img1/101.png
    img1/100.png
    img2/
    img2/105.png
    img2/104.png
    img2/103.png
    liuxiaoyan@development:~/test$ ls
    img1 img2 img.tar img.tar.bz2 img.tar.gz

    2、不解压的情况下查看

    查看img.tar中的所有内容

    liuxiaoyan@development:~/test$ tar -tf img.tar
    img1/
    img1/102.png
    img1/101.png
    img1/100.png
    img2/
    img2/105.png
    img2/104.png
    img2/103.png

    查看img.tar.gz的所有内容

    加-v参数查看详细信息,-z可有可无

    liuxiaoyan@development:~/test$ tar -tf img.tar.gz
    img1/
    img1/102.png
    img1/101.png
    img1/100.png
    img2/
    img2/105.png
    img2/104.png
    img2/103.png
    liuxiaoyan@development:~/test$ tar -ztf img.tar.gz
    img1/
    img1/102.png
    img1/101.png
    img1/100.png
    img2/
    img2/105.png
    img2/104.png
    img2/103.png
    liuxiaoyan@development:~/test$ tar -ztvf img.tar.gz
    drwxrwxr-x liuxiaoyan/liuxiaoyan 0 2015-05-20 22:09 img1/
    -rw-r--r-- liuxiaoyan/liuxiaoyan 1952 2015-05-20 22:08 img1/102.png
    -rw-r--r-- liuxiaoyan/liuxiaoyan 2344 2015-05-20 22:08 img1/101.png
    -rw-r--r-- liuxiaoyan/liuxiaoyan 1995 2015-05-20 22:09 img1/100.png
    drwxrwxr-x liuxiaoyan/liuxiaoyan  0 2015-05-20 22:10 img2/
    -rw-r--r-- liuxiaoyan/liuxiaoyan 1922 2015-05-20 22:09 img2/105.png
    -rw-r--r-- liuxiaoyan/liuxiaoyan 1546 2015-05-20 22:08 img2/104.png
    -rw-r--r-- liuxiaoyan/liuxiaoyan 2033 2015-05-20 22:08 img2/103.png

    查看img.tar.bz2内容

    加-v参数查看详细信息,-j可有可无

    liuxiaoyan@development:~/test$ tar -tf img.tar.bz2 
    img1/
    img1/102.png
    img1/101.png
    img1/100.png
    img2/
    img2/105.png
    img2/104.png
    img2/103.png
    liuxiaoyan@development:~/test$ tar -jtf img.tar.bz2 
    img1/
    img1/102.png
    img1/101.png
    img1/100.png
    img2/
    img2/105.png
    img2/104.png
    img2/103.png
    liuxiaoyan@development:~/test$ tar -jtvf img.tar.bz2 
    drwxrwxr-x liuxiaoyan/liuxiaoyan 0 2015-05-20 22:09 img1/
    -rw-r--r-- liuxiaoyan/liuxiaoyan 1952 2015-05-20 22:08 img1/102.png
    -rw-r--r-- liuxiaoyan/liuxiaoyan 2344 2015-05-20 22:08 img1/101.png
    -rw-r--r-- liuxiaoyan/liuxiaoyan 1995 2015-05-20 22:09 img1/100.png
    drwxrwxr-x liuxiaoyan/liuxiaoyan  0 2015-05-20 22:10 img2/
    -rw-r--r-- liuxiaoyan/liuxiaoyan 1922 2015-05-20 22:09 img2/105.png
    -rw-r--r-- liuxiaoyan/liuxiaoyan 1546 2015-05-20 22:08 img2/104.png
    -rw-r--r-- liuxiaoyan/liuxiaoyan 2033 2015-05-20 22:08 img2/103.png

    3、解压

    将img.tar减压到temp目录

    liuxiaoyan@development:~/test$ cd temp/
    liuxiaoyan@development:~/test/temp$ ls
    liuxiaoyan@development:~/test/temp$ tar -xf ../img.tar
    liuxiaoyan@development:~/test/temp$ ls
    img1 img2

    只减压img.tar中的img1

    liuxiaoyan@development:~/test/temp$ tar -xf ../img.tar img1
    liuxiaoyan@development:~/test/temp$ ls
    img1

    4、更新

    现在给movies文件下新建一个文件movie2.txt,然后更新enjoy.tar

    $ tar -cf img.tar img1 img2

    给img1增加了一张照片,现在用下面命令更新img.tar

    $ tar -uf img.tar img1

    5、追加

    $ tar -cf img.tar img1 img2
    img.tar里追加一个文件夹img3
    $ tar -rf img.tar img3

    6、-C参数

    -C(大C参数很有用,改变文件目录,多层时用)  -C, --directory=DIR        change to directory DIR

    使用了-C参数改变目录为-C后面 目录,不管是在打包还是解压都很有用。

    用法:

    tar temp.tar file -C fileDir
    $ cd temp
    $ ls
    img1 img2 img3
    $ tar -cf img.tar temp/*

    这样打包会将temp目录也打包进去,使用下面带有-C参数的命令可以去掉路径信息

    $ tar -cf img.tar * -C temp

    解压img.tar到当前目录下的temp目录

    $ tar -xf img.tar -C temp

    三、解压方法总结

    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 x 解压

    9、*.zip 用 unzip 解压

    使用unrar注意:

    先安装unrar,使用unrar不带参数运行一下就可以看到帮助信息。

    如果一个文件s.rar,里面有1000首歌,用e参数,就直接把1000首歌全减压出来到当前目录。

    如果是x参数,解压后,所有内容都放在同名的文件夹里面。

    总结

    以上所述是小编给大家介绍的linux tar命令简介,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    您可能感兴趣的文章:
    • Linux下的tar压缩解压缩命令详解(小结)
    • linux下用tar命令将当前目录下文件按子目录压缩归档的实现
    • linux下怎么解压.tar.gz .tar.bz2命令
    • 详解linux下tar压缩解压缩文件夹的命令与参数
    • linux 命令每天必学之tar命令
    • Linux tar命令使用列子
    • Linux tar 压缩打包命令使用方法
    上一篇:linux下socket编程常用头文件(推荐)
    下一篇:Linux traceroute命令使用方法实例详解
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信