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

    习惯上以.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参数,解压后,所有内容都放在同名的文件夹里面。

  • 相关阅读:
    微信小程序上传文件(报错处理方式)
    自绘 TreeDataView 控件
    C# 读取outlook 本地签名
    【英雄帖】FreeRedis 邀请您一起优化项目。
    (30)ASP.NET Core3.1 集成Apollo快速安装与使用
    C#引用fo-dicom读取dicom文件异常
    .NET 开源导入导出库 Magicodes.IE 2.5发布
    WinUI 3 Preview 3 发布了,再一次试试它的性能
    Aspose.Word for DotNet 定位到每页,画笔 移动到某页。
    .NET Core下好用的FTP框架 FluentFTP
  • 原文地址:https://www.cnblogs.com/m317/p/6378167.html
Copyright © 2011-2022 走看看