加入收藏 | 设为首页 | 会员中心 | 我要投稿 长春站长网 (https://www.0431zz.com.cn/)- 媒体智能、开发者工具、运维、低代码、办公协同!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux命令之tar 解压 压缩

发布时间:2022-08-09 10:42:18 所属栏目:Linux 来源:互联网
导读:tar tar(全称:tape archive )命令用于备份文件。tar 是用来创建或者还原备份文件的工具程序,它可以加入,解开备份文件内的文件。tar linux说明 语法 tar [主选项 + 辅选项] 文件或目录 使用该命令时,主选项必须有,它告诉tar要做什么事情,辅选项是辅助
  tar
  tar(全称:tape archive )命令用于备份文件。tar 是用来创建或者还原备份文件的工具程序,它可以加入,解开备份文件内的文件。tar linux说明
 
  语法
  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打包
 
  实例
  打包
  $ tar -cvf img.tar img1 img2
  不解压查看
  $ tar -tvf img.tar
  解压
  $ tar -xvf ./img.tar
  只解压某个目录
  $ tar -xvf ./img.tar img1
  更新压缩包
  给img1文件下新建一个文件img3.txt,然后更新img.tar
 
  $ tar -cvf img.tar img1 img2
  # 给img1增加了一张照片,现在用下面命令更新img.tar
  $ tar -uvf img.tar img1
  追加
  $ tar -cf img.tar img1 img2
  # img.tar里追加一个文件夹img3
  $ tar -rf img.tar img3
  -C 参数
  -C 参数非常有用,改变文件目录,多层级时使用。 -C, --directory=DIR ( change to directory DIR )
 
  使用了-C 参数改变目录为 -C 后面的目录,不管是在打包还是解压都很有用。
 
  语法:tar temp.tar -C fileDir file
 
  $ cd temp
  $ ls
  img1  img2  img3
  $ tar -cvf img.tar temp/*
  # 这样打包会将temp目录也打包进去,使用下面带有-C参数的命令可以去掉路径信息
  $ tar -cvf img.tar -C temp .
  解压 img.tar 到当前目录下的 temp 目录
 
  $ 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

(编辑:长春站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读