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打包


  • 实例


  1. 打包


$ tar -cvf img.tar img1 img2


  1. 不解压查看
$ tar -tvf img.tar


  1. 解压


$ tar -xvf ./img.tar


  1. 只解压某个目录


$ tar -xvf ./img.tar img1


  1. 更新压缩包


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


$ tar -cvf img.tar img1 img2
# 给img1增加了一张照片,现在用下面命令更新img.tar
$ tar -uvf img.tar img1


  1. 追加


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


  1. -C 参数


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


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


语法:tar temp.tar -C fileDirfile


$ 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
相关文章
|
18天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
54 23
Linux系统之whereis命令的基本使用
|
5天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
54 25
|
3天前
|
缓存 Linux
Linux查看内存命令
1. free free命令是最常用的查看内存使用情况的命令。它显示系统的总内存、已使用内存、空闲内存和交换内存的总量。 free -h • -h 选项:以易读的格式(如GB、MB)显示内存大小。 输出示例: total used free shared buff/cache available Mem: 15Gi 4.7Gi 4.1Gi 288Mi 6.6Gi 9.9Gi Swap: 2.0Gi 0B 2.0Gi • to
14 2
|
9天前
|
Linux
Linux压缩与解压“助手”
gzip压缩解压 因为都是系统自带的我们不需要安装; ls 看一下目录当前的文件,创建一个 touch 123.txt 文件; 原文件消失,压缩解压 gzip 进行压缩,(“ gzip 123.txt ”),这样就压缩完毕了; gzip 进行解压,(“ gzip -d 123.txt.gz”),这样就解压完毕了; 原文件保留,gzip -k 123.txt、gzip -dk 123.txt.gz ;
25 9
|
1月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
42 11
|
2月前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
244 20
|
2月前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
160 8
|
运维 Ubuntu Java
如何在Linux中不解压就能查看压缩包中的内容,这13个命令非常强!
不解压查看压缩包内容对于提升 Linux 使用效率帮助非常大,不管是开发人员还是运维人员,这种需求场景非常多。
4335 0
如何在Linux中不解压就能查看压缩包中的内容,这13个命令非常强!
|
Linux
linux|解压和压缩命令
压缩包后缀类型: tar.gz tar.bz2 zip tar.gz image.png 压缩 image.png zcvf 说明 -z表示压缩成gz格式,调用gzip命令 -c表示创建 -v显示解压过程 -f使用文件名,之后立即加文件名 解压 image.png 解压后在varlog.tar.gz上面多了一个var目录。
979 0
|
3月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
384 8