我们以解压k8s二进制源码文件为例,只解压出第三层级目录下的 kube-apiserver、kube-controller-manager 、kubectl 、kubelet 、kube-proxy 、kube-scheduler这几个文件。

k8s源码文件目录结构,目录实在太多了,我删除了大部分,不在这里显示

[root@k8s-master01 tmp]# tree kubernetes

kubernetes

├── addons

├── kubernetes-src.tar.gz

├── LICENSES

│   ├── LICENSE

│   ├── OWNERS
│       │   ├── Azure

│       │   │   ├── azure-sdk-for-go

│       │   │   │   └── LICENSE

│       │   │   ├── go-ansiterm

│       │   │   │   └── LICENSE

│       │   │   └── go-autorest

│       │   │       ├── autorest

│       │   │       │   ├── adal

│       │   │       │   │   └── LICENSE

│       │   │       │   ├── date

│       │   │       │   │   └── LICENSE

│       │   │       │   ├── LICENSE

│       │   │       │   ├── mocks

│       │   │       │   │   └── LICENSE

│       │   │       │   ├── to

│       │   │       │   │   └── LICENSE

│       │   │       │   └── validation

│       │   │       │       └── LICENSE

│       │   ├── multierr

│       │   │   └── LICENSE

│       │   └── zap

│       │       └── LICENSE

│       └── sigs.k8s.io

│           ├── apiserver-network-proxy

│           │   └── konnectivity-client

│           │       └── LICENSE

│           ├── kustomize

│           │   ├── api

│           │   │   └── LICENSE

│           │   ├── kustomize

│           │   │   └── v4

│           │   │       └── LICENSE

│           │   └── kyaml

│           │       ├── internal

│           │       │   └── forked

│           │       │       └── github.com

│           │       │           ├── go-yaml

│           │       │           │   └── yaml

│           │       │           │       ├── LICENSE

│           │       │           │       └── NOTICE

│           │       │           └── qri-io

│           │       │               └── starlib

│           │       │                   └── util

│           │       │                       └── LICENSE

│           │       └── LICENSE

│           ├── structured-merge-diff

│           │   └── v4

│           │       └── LICENSE

│           └── yaml

│               └── LICENSE

└── server

    └── bin

        ├── apiextensions-apiserver

        ├── kubeadm

        ├── kube-aggregator

        ├── kube-apiserver

        ├── kube-apiserver.docker_tag

        ├── kube-apiserver.tar

        ├── kube-controller-manager

        ├── kube-controller-manager.docker_tag

        ├── kube-controller-manager.tar

        ├── kubectl

        ├── kubectl-convert

        ├── kubelet

        ├── kube-proxy

        ├── kube-proxy.docker_tag

        ├── kube-proxy.tar

        ├── kube-scheduler

        ├── kube-scheduler.docker_tag

        ├── kube-scheduler.tar

        └── mounter

解压参数--strip-components=3,只解压三层目录下的文件

tar -xf
kubernetes-server-linux-amd64.tar.gz --strip-components=3 -C /tmp/bin/
kubernetes/server/bin/kube{let,ctl,-apiserver,-controller-manager,-scheduler,-proxy}

linux tar命令之小知识-解压指定层级目录以及指定文件_解压