在解壓文件的時候,如果壓縮包中的文件存在多級目錄。解壓出來的時候如果你不想要這些多級目錄,你就可以使用--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
```