在解压文件的时候,如果压缩包中的文件存在多级目录 。解压出来的时候如果你不想要这些多级目录,你就可以使用--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
【Linux tar命令一个有用的参数--strip-component】```
推荐阅读
- Linux下常用的Shell脚本
- 10种有用的Linux Bash_Completion 命令示例
- 计算机网络常见9个命令
- 俄罗斯|俄版星巴克改名“Stars Coffee” logo很灵性
- 携程小程序生态之Taro跨端解决方案
- 五种常见 Linux 系统安装包管理工具中文使用指南
- SELinux策略规则
- Linux中20个高级命令
- iptables 命令实战详解
- 玫瑰之战|苹果命令员工在9月5日之后至少线下复工三天