Linux日积一令(1) tar解压命令
一、介绍
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
目录如下:
(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
这里需要注意解压的文件需要带上文件目录,而且解压出来后,该文件也会在这个目录下面。如果想不带目录,需要用 --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直接解压到当前目录了。
(2)解压到指定目录
-C
:解压到指定目录
tar -xvf archive.tar.gz -C directory
这里需要注意,指定的目录需要先存在,例如解压到frp目录。
mkdir frp
tar -vxf frp_0.54.0_linux_amd64.tar.gz -C frp
(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