经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Linux/Shell » 查看文章
linux命令之tar 解压 压缩
来源:cnblogs  作者:挨呀小黄  时间:2022/1/17 10:58:10  对本文有异议

tar

tar(全称:tape archive )命令用于备份文件。tar 是用来创建或者还原备份文件的工具程序,它可以加入,解开备份文件内的文件。tar linux说明

  • 语法
  1. 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. 打包
  1. $ tar -cvf img.tar img1 img2
  1. 不解压查看
  1. $ tar -tvf img.tar
  1. 解压
  1. $ tar -xvf ./img.tar
  1. 只解压某个目录
  1. $ tar -xvf ./img.tar img1
  1. 更新压缩包

给img1文件下新建一个文件img3.txt,然后更新img.tar

  1. $ tar -cvf img.tar img1 img2
  2. # 给img1增加了一张照片,现在用下面命令更新img.tar
  3. $ tar -uvf img.tar img1
  1. 追加
  1. $ tar -cf img.tar img1 img2
  2. # img.tar里追加一个文件夹img3
  3. $ tar -rf img.tar img3
  1. -C 参数

-C 参数非常有用,改变文件目录,多层级时使用。 -C, --directory=DIR ( change to directory DIR )

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

语法:tar temp.tar -C fileDir file

  1. $ cd temp
  2. $ ls
  3. img1 img2 img3
  4. $ tar -cvf img.tar temp/*
  5. # 这样打包会将temp目录也打包进去,使用下面带有-C参数的命令可以去掉路径信息
  6. $ tar -cvf img.tar -C temp .

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

  1. $ tar -xvf img.tar -C temp

附录:

   $ tar -cvf image.tar /home/usr/image
   tar: Removing leading '/' from members names
   /home/usr/image
   该命令可以将/home/usr/image文件打包到当前目录下的image.tar中,需要注意的是:使用绝对路径标识的源文件,在用tar命令压缩后,文件名连同绝对路径(这里是home/usr/,根目录'/'被自动去掉了)一并被压缩进来。使用tar命令解压缩后会出现以下情况:
   $ tar -xvf image.tar
   解压缩后的文件名不是想象中的image,而是home/usr/image。

   $ tar -cvf image.tar -C /home/usr/ image

   该命令中的-C dir参数,将tar的工作目录从当前目录改为/home/usr/,将image文件(不带绝对路径)压缩到image.tar中。注意:-C dir参数的作用在于改变工作目录,其有效期为该命令中下一次-C dir参数之前。

   使用tar的-C dir参数,同样可以做到在当前目录/root下将文件解压缩到其他目录,例如:
   $ tar -xvf image.tar -C /home/user
   而tar不用-C dir参数时是无法做到的:
   $ tar -xvf image.tar /root
   tar: /tmp/file: Not found in archive
   tar: Error exit delayed from previous errors

原文链接:http://www.cnblogs.com/happyhuangjinjin/p/15811354.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号