<返回更多

Linux tar命令一个有用的参数--strip-component

2022-08-30    弈秋的美好生活
加入收藏

在解压文件的时候,如果压缩包中的文件存在多级目录。解压出来的时候如果你不想要这些多级目录,你就可以使用--strip-component参数来实现。

来看个例子:

1、查看压缩文件

```bash

~]# tar -ztvf /tmp/pkg.tgz

drwxr-xr-x root/root 0 2022-05-17 19:05 pigsty/

-rw-r--r-- root/root 19244 2014-07-04 12:15 pigsty/perl-constant-1.27-2.el7.noarch.rpm

-rw-r--r-- root/root 8360316 2021-02-04 00:48 pigsty/perl-5.16.3-299.el7_9.x86_64.rpm

drwxr-xr-x root/root 0 2022-05-17 17:52 pigsty/Python/ target=_blank class=infotextkey>Python/

-rw-r--r-- root/root 1723581 2022-05-17 16:18 pigsty/python/pip-21.3.1-py3-none-any.whl

-rw-r--r-- root/root 8529644 2022-05-17 16:18 pigsty/python/jupyterlab-3.2.9-py3-none-any.whl

-rw-r--r-- root/root 133630 2022-05-17 16:18 pigsty/python/Jinja2-3.0.3-py3-none-any.whl

-rw-r--r-- root/root 396512 2022-05-17 16:18 pigsty/python/jupyter_server-1.13.1-py3-none-any.whl

-rw-r--r-- root/root 86914 2022-05-17 16:18 pigsty/python/jupyter_core-4.9.2-py3-none-any.whl

```

2、需要把pkg包下的文件解压到/www/pigst中

先来看下不带参数的时候

```bash

mkdir -p /www/pigst

tar -xf /tmp/pkg.tgz -C /www/pigst

```

你会发现目录层级是包含压缩包中的目录层级的。

3、带上--strip-component参数解压

--strip-components=NUMBER 解压时从文件名中清除 NUMBER个引导部分

--strip-component=1 代表解压出来的文件,剥离前一个路径

--strip-component=2 代表解压出来的文件,剥离前两个路径

```bash

tar -xf /tmp/pkg.tgz --strip-component=1 -C /www/pigst

tar -xf /tmp/pkg.tgz --strip-component=2 -C /www/pigst

```

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>