背景
由于有一个比较大的压缩包,但是我只要使用压缩包其中的一小部分内容,因此仅需要解压部分文件到指定目录,因此将该指令做个记录。
指令简介
**需求:**解压dev_app_20240924.tar.gz文件中的vm-server/dev/app/data/postgres目录,去除路径中的前三个组件(vm-server、dev和app),然后将剩余的目录结构(data/postgres)解压到当前目录下。最终,在当前目录中会创建一个名为`data`的目录,该目录下会有一个名为postgres的子目录,包含所有从.tar.gz文件中解压出的内容。
root@k8s-master:/vm-server/dev/pega_upgrade# tar -xvzf dev_app_20240924.tar.gz  --strip-components=3 -C ./ vm-server/dev/app/data/postgres
- tar:这是用来打包和解包文件的工具。
- -x:这是`tar`命令的选项,代表提取(解压)文件。
- -v:这是`tar`命令的选项,代表在处理文件时显示详细信息(verbose)。
- -z:这是`tar`命令的选项,代表通过gzip进行解压缩,适用于- .tar.gz文件。
- -f:这是`tar`命令的选项,代表指定要处理的文件名,紧跟着的是文件名- dev_app_20240924.tar.gz。
- --strip-components=3:这是`tar`命令的一个选项,用于在解压时去除指定数量的路径组件。在这个例子中,它将去除3个路径组件。这意味着,从要解压的路径- vm-server/dev/app/data/postgres中,- vm-server、- dev和- app这三个组件将被忽略,而只保留- data/postgres。
- -C ./:这是- tar命令的选项,代表指定解压的目标目录。在这个例子中,- ./代表当前目录。
- vm-server/dev/app/data/postgres:这是在- .tar.gz文件中要解压的目录的路径。