Linux日积一令(1) tar解压命令

    36

一、介绍

tar(tape archive )是用于创建和解压归档文件的命令行工具,可以用来将多个文件和目录组合成一个单一的归档文件,也可以用来解压已经存在的归档文件。

二、基本用法

(一)压缩

tar -cvf archive.tar file1 file2 directory

(二)解压

tar -xvf archive.tar

三、参数介绍

(一)常用参数

  • -c:创建新的归档文件
  • -x:解压归档文件
  • -f:指定归档文件的名称
  • -v:显示详细输出,列出被归档或解压的文件
  • -t:列出归档文件中的内容
  • -t:向已存在的归档中追加文件

(二)压缩格式

  • -z:使用 gzip 压缩
tar -czvf archive.tar.gz directory
tar -xzvf archive.tar.gz
  • -j:使用 bzip2 压缩
tar -cjvf archive.tar.bz2 directory
tar -xjvf archive.tar.bz2
  • -J:使用 xz 压缩
tar -cJvf archive.tar.xz directory
tar -xJvf archive.tar.xz

四、其他用法

下面例子均以frp的release包 frp_0.54.0_linux_amd64.tar.gz为例:
frp_0.54.0_linux_amd64.tar.gz目录如下:
a5778f0b86f4728ea327f4a7d677cce3.png

(1)解压指定文件

tar -xvf archive.tar.gz file

执行以下命令,将frps执行文件解压。

tar -xvf frp_0.54.0_linux_amd64.tar.gz frp_0.54.0_linux_amd64/frps

执行完成后,在当前目录可以看到解压出来的文件 frp_0.54.0_linux_amd64/frps
bf3ab22cae35330c75384960cb7835c8.png

这里需要注意解压的文件需要带上文件目录,而且解压出来后,该文件也会在这个目录下面。如果想不带目录,需要用 --strip-components去除目录结构。

  • --strip-components=NUMBER :解压文件时,删除指定层数的目录结构

从上面压缩包目录结构可以看到frps有一层目录,所以添加参数 --strip-components=1 。此时命令如下:

tar -xvf frp_0.54.0_linux_amd64.tar.gz --strip-components=1 frp_0.54.0_linux_amd64/frps

此时,可以看到frps直接解压到当前目录了。
4a168cf0a34997510f6244f9f47d86a8.png

(2)解压到指定目录

  • -C:解压到指定目录
tar -xvf archive.tar.gz -C directory

这里需要注意,指定的目录需要先存在,例如解压到frp目录。

mkdir frp
tar -vxf frp_0.54.0_linux_amd64.tar.gz -C frp

423000915cf7cd4c36e465b6428f82aa.png

(3)解压指定文件到指定目录
结合1&2参数,可以将指定文件解压指定目录。例如将frps和frpc解压到frp目录下:

tar -xvf frp_0.54.0_linux_amd64.tar.gz --strip-components=1 -C frp frp_0.54.0_linux_amd64/frps frp_0.54.0_linux_amd64/frpc

bc3ccf79b1b165f2d04d628b05d1cd38.png

消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息