背景
由于有一个比较大的压缩包,但是我只要使用压缩包其中的一小部分内容,因此仅需要解压部分文件到指定目录,因此将该指令做个记录。
指令简介
**需求:**解压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
文件中要解压的目录的路径。