云计算实训50——Kubernetes基础命令、常用指令

一、Kubernetes 自动补齐

# 安装自动补齐软件

[root@master ~]# yum -y install bash-completion 

# 临时开启自动补齐功能

[root@master ~]# source 

# 永 久开启自动补齐功能

[root@master ~]# echo "source > ~/.bashrc 

二、Kubernetes 基础命令

kubectl + [command] + [type] + [name]+ [flags]

command:

指定要对一个或多个资源执行的操作。例如 create、get、describe、delete等。(增删改查)

type:

指定资源类型。资源类型不区分大小写,可以指 定单数、复数或缩写形式。

name:

指定资源的名称。名称区分大小写。如果省略名称,则显示所有资源的详细信息:kubectl get pods。

flags:

指定可选的参数。如,可以使用-s或-server参数 指定 Kubernetes API服务器的地址和端口。

1. 初级基础命令

kubectl create

通过 yaml/json 文件或者标准输入创建一个资源对象。

常用子命令及参数(按两次 tab 键即可查到):

  • clusterrolebinding (为特定群集角色创建群集角色绑 定)
  • clusterrole (创建群集角色)
  • configmap (从本地文件、目录或文字值创建 配置映射)
  • cronjob (使用指定的名称创建cron作业)
  • deployment (使用指定的名称创建资源)
  • job (创建具有指定名称的作业)
  • namespace (用指定的名称创建一个命名空 间)
  • priorityclass (使用指定的名称创建优先级类)
  • rolebinding (为特定角色或群集角色创建角色 绑定)
  • role (使用单一规则创建角色)
  • secret (使用指定的子命令创建机密)
  • serviceaccount (创建一个指定名称的服务账户)
  • service (使用指定的子命令创建服务)
  • token (请求服务帐户令牌) -f (指定某个 yaml 或 json 文件来创建资源)

kubectl expose

将 json/yaml 文件中定义的资源对象的端口暴露给新的 service 资源对象

常用子命令及参数:

  • deployment (管理Pod和ReplicaSet的声明式 更新的一种资源对象)
  • replicaset (副本控制器。控制由其管理的 Pod,使Pod副本的数量始终维持在预设的个数)
  • service (暴漏服务的端口)
  • pod (暴露 Pod 容器组的端口)
  • replicationcontroller (检查 Pod 健康状态的控制器)

kubectl run

创建并允许一个或多个容器镜像 常用子命令及参数:

  • --image (指定某个镜像)

kubectl set

配置资源对象设置特定功能

常用子命令及参数:

  • env (更新 Pod 模板上的环境变量)
  • image (更新 Pod 模板上的镜像)
  • resources (使用 Pod 模板更新对象的资源请 求/限制)
  • selector (为资源设置选择器)
  • serviceaccount (更新资源的服务帐户)
  • subject (更新角色绑定或群集角色绑定中的 用户、组或服务帐户)

2. 中级基础命令

kubectl explain

查看资源对象的详细信息,一般用于编写 yaml 的时候做 一个提示。

比如:kubectl explain deployment 会出现 deployment 下面可以写的字段,以及字段属性并且可 以逐级使用。

kubectl get

获取一个或多个资源对象的信息,如:pod 的运行状 态、容器数量、命名空间等。

常用子命令及参数:

  • -n, --namespace (指定要查询的命名空间。如果 不指定,默认查询当前命名空间中的资源)
  • -o, --output (指定输出格式。可以指定yaml、 json、wide等格式。例如,使用-o yaml可以以yaml 格式查看pod的信息,也可以指定已有资源加-o wide 查询状态信息)
  • -w, --watch (实时观察资源的变化)
  • --all-namespaces,-A (获取所有命名空间中的资源信 息)
  • -l, --selector (根据标签选择器过滤资源。可以 使用等于、不等于、包含、不包含等操作符来定义选 择器条件)
  • --field-selector (根据字段选择器过滤资源)
  • --sort-by (按照指定的字段对结果进行排序)
  • --show-kind (显示资源的种类信息)
  • --watch-only (只观察资源的变化,不输出当前 资源信息)
  • pod (查询当前的 pod 资源,不加其他参数 表示查询默认命名空间下的 pod)
  • nodes (查询当前 k8s 集群的所有节点及状态)

kubectl edit

使用默认编辑器编辑服务器上定义的资源对象,保存后 自动应用更改到 kubernetes 集群配置中。

常用子命令及参数:

  • -f, --filename (指定要编辑的资源对象的文件或 URL)
  • -patch (将文件中的更改作为补丁应用于资源对 象)
  • -p, --patch-strategy (指定补丁策略。可以指定 merge、retainKeys或strategic-merge)
  • --output-patch (输出补丁文件)
  • --local (在本地进行编辑,而不是在集群中进行 编辑)
  • --edit-cache (编辑缓存中的资源对象)

kubectl delete

通过 json/yaml 文件、标准输入、资源名称或标签选择 器来删除资源

常用子命令及参数:

  • -f, --filename (指定要删除的资源对象的文件或 URL)
  • --force (强制删除资源,即使资源正在运行)
  • --cascade (删除与资源相关联的所有子资源)
  • --all (删除所有资源。慎用!!)
  • --grace-period (设置宽限期) -n (指定命名空间)

3. 部署命令

kubectl rollout

资源管理对象的部署

常用子命令及参数:

  • history (显示上线历史)
  • resume (恢复暂停的资源)
  • pause (将所指定的资源标记为已暂停)
  • status (显示上线的状态)
  • restart (重启一个资源)
  • undo (撤销上一次的上线)

kubectl rollout-update

使用 rc(replication controller)来做滚动更新资源, 包括 Deployment、StatefulSet、Job 等。

kubectl scale

对资源扩容或着缩容,包括 deployment、replicaset、 replication、controller 等。

常用子命令及参数:

  • deployment (扩展或缩减 Deployment 控制的 Pod 数量)
  • replicaset (扩展或缩减 Replicaset 控制的 Pod 数量)
  • --replicas (控制 Pod 数量)
  • replicationcontroller (控制 Pod 数量需要达到相对 值的参数)
  • statefulset (部署和扩展有状态的应用程序)

4. 集群管理命令

kubectl cetificate

修改证书资源对象

常用子命令及参数:

  • approve (批准证书签名请求(CSR))
  • reject (拒绝 CSR)get (获取集群中存在的证书及其相关信息)
  • describe (查看集群中证书的详细信息,包括颁发 者、有效期、主题、公钥等)
  • sertificates (获取一个证书的私钥)

kubectl cluster-info

查看集群的概要信息

常用子命令及参数:

  • dump (获取集群详细信息,并可通过 grep 等过滤 命令对集群进行问题诊断、调试测试等)

kubectl top

显示资源、CPU、内存、储存的使用情况

常用子命令及参数:

  • node (显示集群的资源使用情况)
  • pod (显示 pod 的资源使用情况,不加其他参数 显示的是默认 pod)

kubectl cordon

标记集群内的某个节点为不可调度负载节点

常用子命令及参数:

  • 节点名 (如:master、node01 等)

kubectl uncordon

指定某个节点为可调度节点

常用子命令及参数:

  • 节点名 (如:master、node01 等)

kubectl drain

将某个节点上的工作负载平滑地切换到其他节点

常用子命令及参数:

  • 节点名 (如:master、node01 等)

kubectl taint

将一个或多个节点设置为污点,具有污点的节点和 Pod 之间存在一种互斥关系,这可以让节点拒绝 Pod 的调度 执行,甚至将已经存在的 Pod 驱逐出去。

常用子命令及参数:

  • node+节点名+节点名....

5. 故障排查和调试命令

kubectl describe

显示一个或多个资源对象的详细信息

常用子命令及参数:

  • nodes (显示某个节点的详细信息)
  • pod (显示某个 pod 的详细信息)
  • -f .yaml/json (显示某个 yaml/json 文件定义的 资源的详细信息)
  • -l (指定显示的资源对象)
  • --include-uninitialized (显示未初始化的资源对象)

kubectl logs

输出 pod 资源对象中一个容器的日志

常用子命令及参数:

  • replicasets (显示 pod 数量控制器的日志)
  • services (显示 services 日志)
  • deployments (显示 deployments 资源的日志)
  • pods (显示 pod 的日志)

kubectl attach

连接到一个运行的容器

常用子命令及参数:

  • -c (指定要进入的某个容器)
  • -i (将控制台输入发送到容器)
  • -t (为容器分配一个伪终端)

kubectl exec

在指定容器内执行命令,也可连接到某个容器

常用子命令及参数:

  • -c (指定要进入的某个容器)
  • -i (将控制台输入发送到容器)
  • -t (为容器分配一个伪终端)
  • -f (通过已定义好的 yaml/json 文件对容器进行交互)

kubectl port-forward

将本机指定端口映射到 pod 资源对象的端口

常用子命令及参数:

  • Pod (要转发端口的 Pod 名称或选择器,例如: nginx 8080:80,这里 nginx为 Pod 名)

kubectl proxy

将本地指定端口映射到 API Server

常用子命令及参数:

  • -port=PORT (代理服务的端口号。默认为 8001)
  • -www=static-dir (将静态文件目录提供给代理服 务)
  • -www-prefix=prefix (将 static-dir 中的文件路径前缀添加到代理服务中)
  • -api-prefix=prefix (将 API 路径前缀添加到代理服务中)

kubectl cp

用于 pod 与主机交换文件

常用子命令及参数:

  • -c (指定容器名进行文件交互)

kubectl auth

检查操作是否被允许,例如检查是否可以在当前名称空 间中列出部署、执行所有操作等。

常用子命令及参数:

  • can-i (检查是否允许操作)
  • reconcile (协调RBAC角色、角色绑定、集群角色和 集群角色绑定对象的规则…)
  • whoami (显示当前认证用户)

6. 高级命令

kubectl diff

对比本地 json/yaml 文件与 kube-apiserver 中运行的配 置文件是否有差异

常用子命令及参数:

  • -f (指定要比较的资源对象的文件名或路径)
  • -o (指定输出格式,例如“yaml”或“json”)

kubectl apply

通过 json/yaml 文件、标准输入对资源进行配置更新或 创建

常用子命令及参数:

  • -f (指定要应用的资源对象的文件名或路径,可以 是YAML、JSON或多个文件)
  • -n (指定要应用的资源对象的命名空间)
  • --recursive (递归地应用目录中的所有资源对象)
  • --prune (删除不再存在的资源对象)
  • --force (强制应用资源对象,即使它们已存在)

kubectl patch

通过 patch 方式修改资源对象字段(补丁式)

常用子命令及参数:

  • -f (指定要修改的资源对象的文件名或路径)
  • -p (指定要应用的补丁,可以是JSON或YAML 格式)
  • --type (指定资源对象的类型,例如“Pod”、 “Deployment”等)
  • -n (指定要修改的资源对象的命名空间)

kubectl replace

通过 json/yaml 文件或标准输入来替换资源对象

常用子命令及参数:

  • -f (指定要替换的资源对象的文件名或路径)
  • --force (强制应用资源对象,即使它们已存在)

kubectl wait

在一个或多个资源上等待条件达成

常用子命令及参数:

  • -f (指定要等待的资源对象的文件名或路径)
  • --for=条件 (指定要等待的条件,例如 “Ready=True”)
  • --timeout=时间 (设置等待的超时时间)

kubectl convert

转换 json/yaml 文件为不同的资源版本

常用子命令及参数:

  • -f (指定 yaml/json 文件)
  • --v1 (将资源对象转换为 v1 版本)
  • --v1beta1 (将资源对象转换为 v1 版本测试版 1)

kubectl kustomize

定制 kubernetes 配置

常用子命令及参数:

  • -f (指定要应用的Kustomize配置文件的文件名 或路径)
  • -n (指定要应用的资源对象的命名空间)

7. 设置命令

kubectl label

增删改资源的标签

常用子命令及参数:

  • -f (指定要修改标签的资源对象的文件名或路 径)
  • 标签名=新标签名 (添加一个标签到资源对象上)
  • --overwrite (如果资源对象已经存在标签,则覆盖 该标签)
  • 标签名- (删除一个标签)

kubectl annotate

更新⼀个或者多个资源对象的注释(annotaion)信息

常用子命令及参数:

  • -f (指定 yaml/json 文件)
  • --overwrite (如果资源对象已经存在注 释,则覆盖已有注释)
  • KEY_1=VAL_1 ... KEY_N=VAL_N (指定要添加或更新 的注释键值对)

kubectl completion

开启 kubernetes 命令自动补齐功能。

8. 其他命令

kubectl config ——管理 kubeconfig 配置文件

kubectl plugin ——运行命令行插件功能

kubectl version ——查看客户端服务端的系统版本信 息

kubectl api-versions ——列出当前 kubernetes 系统 支持的资源组和资源版本表现形式为/

kubectl api-resources ——列出当前 kubernetes 系统 支持的resource资源列表

kubectloptions ——查看支持的参数列表

三、kubernetes 常用命令

1. 编写 yaml 文件

 kubectl create 通过配置文件名或标准输入创建一个集群资源对象,支 持 json 和 yaml 格式的文件

[root@master ~]# mkdir k8s

[root@master ~]# cd k8s

[root@master k8s]# vim busybox.yaml

2. kubectl create

通过配置文件名或标准输入创建一个集群资源对象,支 持 json 和 yaml 格式的文件

语法: kubectl create -f 文件名  

kubectl create deployment 资源名 --image=镜像名

示例:

# 通过json或yaml文件创建pod

[root@master k8s]# kubectl create -f ./busybox.yaml

[root@master k8s]# kubectl get pod

# 通过标准输入来创建pod

[root@master k8s]# cat busybox.yaml | kubectl create -f -

[root@master k8s]# kubectl get pod

# 通过指定镜像创建pod

[root@master k8s]# kubectl create deployment nginx --image=nginx:latest

[root@master k8s]# kubectl get pod

kubectl create deployment 资源名 --image=镜像名 -- dry-run=client -o yaml > 文件名.yaml

# 不创建pod只生成yaml文件

[root@master k8s]# kubectl create deployment nginx --image=nginx --dryrun=client -o yaml > nginx.yaml

[root@master k8s]# ls 

# 生成的nginx.yaml文件

[root@master k8s]# cat nginx.yaml

3. kubectl get

语法:

kubectl get resource_name(资源名、类型)

常见 resource_name:

其他可选参数:

-o wide/json/yaml (用不同格式查看)

-l key=value (看指定标签的pods,⽀持‘=’, ‘==’, and ‘!=’操作符)

示例:

# 查看Master状态

[root@master k8s]# kubectl get componentstatuses

# 查看所有命名空间

[root@master k8s]# kubectl get namespaces 

# 列出kube-system命名空间下的所有pod,不加-n 参数查看default命名空间下的pod

[root@master k8s]# kubectl get pods -n kube-system 

# 显示更多的pods列表信息(例如 pod的ip和所处的 node)

[root@master k8s]# kubectl get pods -o wide

# 列出名字为web的rc

[root@master k8s]# kubectl get replicationcontroller web

# 获取名字为nginx-7854ff8877-nphcf的pod的 信息,并以json格式输出

[root@master k8s]# kubectl get -o json pod nginx-7854ff8877-nphcf 

# 根据pod⽂件查找pod,并以json格式输出,查询 前确保目标pod存在于集群中

[root@master k8s]# kubectl get -f busybox.yaml -o json 

# 获取pod的kube-dns-795f5f6f9c-ldxxs容器的 状态

[root@master k8s]# kubectl get -o template pod/kube-dns-795f5f6f9c-ldxxs - -template {{.status.phase}} 

# 同时获取所有的rc和service

[root@master k8s]# kubectl get rc,services 

# 获取符合条件的所有rc,svc,pod,因为当前集群 中没有这些资源,所以查不到便报错

[root@master k8s]# kubectl get rc/web service/frontend pods/web-pod-13je7 

# 显示所有资源,包括pod、deployment、 service、replicaset

[root@master k8s]# kubectl get all 

# 查看pod⾥的容器名

[root@master k8s]# kubectl get pods nginx-7854ff8877-nphcf -o jsonpath='{.spec.containers[*].name}' 

4. kubectl delete

kubernetes 集群中,可通过指定配置文件 (json/yaml)、stdin(标准输入)、资源名称或 label (标签)来删除资源。

Pod 支持平滑删除,因为这些资源一般是集群中的实 体,所以删除无法立即生效,这些资源在强制终止之前 默认定义了一个周期 (宽限期),但可以使用“-graceperiod flag”来覆盖该值,或通过“pass --now”设置该周 期为 1.

如果托管 Pod 的 Node 节点已停止或无法连接 API Server,使用 delete 删除 Pod 需等待时间更长,此时要 想强制删除,需指定“-force flag” ,且设置周期为 0。

注意:执行delete命令时不会检查资源版本,如果在 执行delete操作时有人进行了更新操作,那么更新操 作将连同资源一起被删除。

语法: kubectl delete ([ -f 文件名 ] | TYPE [NAME | -l label | - -all])

5. kubectl set

更新资源:

# 更新 "nginx" Deployment 的 "nginx" 容器镜 像

kubectl set image deployment nginx nginx=nginx:v2

6. kubectl edit

编辑资源:

# 编辑名为nginx的集群管理器,进入一个如vim的文本 编辑器,但不能使用鼠标滚轮滑动

kubectl edit deployment nginx

7. kubectl replace

更新资源:

# 强制替换,删除后重建资源。会导致服务不可⽤。

kubectl replace --force -f ./nginx.yaml

8. kubectl logs

输出 pod 中一个容器的日志。如果 pod 只包含一个容器 则省略容器名。

语法: kubectl logs [-f] [-p] POD [-c CONTAINER]

示例:

# 返回仅包含⼀个容器的pod nginx的⽇志快照

kubectl logs nginx

# 持续输出pod⽇志

kubectl logs -f nginx-7854ff8877-x8v6f

# 指定命名空间和pod查看⽇志

kubectl logs -f kube-apiserver-k8s-master -n kube-system

# 查看后⾯10⾏内容

kubectl logs -f kube-apiserver-k8s-master -n kube-system --tail 10

# 查看某个pod⾥某个容器的⽇志

kubectl logs -f nginx-7854ff8877-x8v6f -c nginx

9. kubectl exec

连接容器并可在容器内部执行命令

语法: kubectl exec POD [-c CONTAINER] -- COMMAND [args...]

  • -c,--container="”: 容器名。如果未指定,使用pod中 的一个容器。
  • -p,--pod="”: Pod名
  • -i,--stdin[=false]: 将控制台输入发送到容器
  • -t,--tty[=false]: 为容器分配一个伪终端

示例:

10. kubectl top

显示资源 cpu 内存 存储使⽤情况

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/426744.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】数据结构系列学习笔记——导航篇

一:概述 数据结构是计算机科学中的核心概念之一,是优化算法性能和资源利用率的关键。在软件开发和数据处理中,选择合适的数据结构对于算法的效率至关重要。数据结构的选择通常基于数据的使用模式,包括数据元素之间的关系、数据的存…

【专题】2024中国生物医药出海现状与趋势蓝皮书报告合集PDF分享(附原数据表)

原文链接:https://tecdat.cn/?p37719 出海已成为中国医药产业实现提速扩容的重要途径。目前,中国医药产业发展态势良好,创新能力不断增强,然而也面临着医保政策改革和带量集采带来的压力。政府积极出台多项政策支持医药企业出海…

Vim编辑器常用命令

目录 一、命令模式快捷键 二、编辑/输入模式快捷键 三、编辑模式切换到命令模式 四、搜索命令 一、命令模式快捷键 二、编辑/输入模式快捷键 三、编辑模式切换到命令模式 四、搜索命令

我的AI工具箱Tauri版-VideoReapeat视频解说复述克隆

本教程基于自研的AI工具箱Tauri版进行VideoReapeat视频解说复述克隆。 视频解说复述克隆样片 《我的AI工具箱Tauri版-VideoReapeat视频解说复述克隆》样片 进入软件后可以直接搜索 VideoReapeat 或者依次点击 Python音频技术/视频tools 进入该模块。 该模块会消耗TTS文本转语…

【四范式】浅谈NLP发展的四个范式

自然语言处理(Natural Language Processing,NLP)是计算机科学,人工智能,语言学关于计算机和人类自然语言之间的相互作用的领域,是计算机科学领域与人工智能领域中的一个重要方向。NLP发展到今天已经进入到了…

kubernetes架构

kubernetes cluster由master和node组成,节点上运行着若干kubernetes服务Master节点: master是kubernetes cluster的大脑,运行着的Daemon服务包括kube-apiserver,kube-scheduler,kube-controller-manager,etcd和Pod网络…

Dify 中的讯飞星火平台工具源码分析

本文主要对 Dify 中的讯飞星火平台工具 spark 进行了源码分析,该工具可根据用户的输入生成图片,由讯飞星火提供图片生成 API。通过本文学习可自行实现将第三方 API 封装为 Dify 中工具的能力。 源码位置:dify-0.6.14\api\core\tools\provide…

出厂非澎湃OS手机解BL锁

脚本作者:酷安mlgmxyysd 脚本项目链接:https://github.com/MlgmXyysd/Xiaomi-HyperOS-BootLoader-Bypass/ 参考 B站作者:蓝空穹 https://www.bilibili.com/read/cv33210124/ 其他参考:云墨清风、水墨青竹、Magisk中文网 决定解BL…

django学习入门系列之第十点《A 案例: 员工管理系统10》

文章目录 12 管理员操作12.4 密码加密12.5 获取对象(防止id错误--编辑界面等)12.6 编辑管理员12.7 重置密码 往期回顾 12 管理员操作 12.4 密码加密 密码不应该以明文的方式直接存储到数据库,应该加密才放进去 定义一个md5的方法&#xff…

js | TypeError: Cannot read properties of null (reading ‘indexOf’) 【解决】

js | TypeError: Cannot read properties of null (reading ‘indexOf’) 【解决】 描述 概述 在前端开发中,遇到TypeError: Cannot read properties of null (reading indexOf)这类错误并不罕见。这个错误通常表明你试图在一个null值上调用indexOf方法&#xff0c…

飞睿智能UWB BLE Tag蓝牙防丢器模块,APP测距定位一键绑定,安全守护每一刻

我们总在不经意间与生活中的小物件擦肩而过——钥匙遗忘在咖啡厅的角落,钱包遗失在拥挤的地铁,甚至孩子的书包在人群中悄然消失……每一次的失而复得都是幸运的眷顾,但更多的是遗憾与不便。今天,就让我带你走进一个智能守护的新世…

Linux驱动开发 ——架构体系

只读存储器(ROM) 1.作用 这是一种非易失性存储器,用于永久存储数据和程序。与随机存取存储器(RAM)不同,ROM中的数据在断电后不会丢失,通常用于存储固件和系统启动程序。它的内容在制造时或通过…

【算法】遗传算法

一、引言 遗传算法(Genetic Algorithm, GA)是一种模拟生物进化过程的启发式搜索算法,它通过模拟自然选择、遗传、交叉和突变等生物学机制来优化问题的解决方案。遗传算法因其通用性、高效性和鲁棒性,在多个领域中得到了广泛应用&a…

esp32核心跑分程序

https://github.com/ochrin/coremark/tree/esp32 最近一直捣腾esp32s3 (Sense) 做微型摄像。过程中发现一款不错的跑分软件,特此记一笔。 其中针对esp32s3各类参数设定(用idf.py menuconfig),做个记录。 CPU Frequency去240MHz&#xff08…

C语言 | Leetcode C语言题解之第413题等差数列划分

题目&#xff1a; 题解&#xff1a; int numberOfArithmeticSlices(int* nums, int numsSize) {if (numsSize 1) {return 0;}int d nums[0] - nums[1], t 0;int ans 0;// 因为等差数列的长度至少为 3&#xff0c;所以可以从 i2 开始枚举for (int i 2; i < numsSize; i…

Java | Leetcode Java题解之第415题字符串相加

题目&#xff1a; 题解&#xff1a; class Solution {public String addStrings(String num1, String num2) {int i num1.length() - 1, j num2.length() - 1, add 0;StringBuffer ans new StringBuffer();while (i > 0 || j > 0 || add ! 0) {int x i > 0 ? n…

通用四期ARM架构银河麒麟桌面操作系统V10【安装、配置FTP服务端】

一、操作环境 服务端&#xff1a;银河麒麟桌面操作系统V10SP1 &#xff08;服务端包链接&#xff1a;https://download.csdn.net/download/AirIT/89747026&#xff09; 客户端&#xff1a;银河麒麟桌面操作系统V10SP1 &#xff08;客户端包链接&#xff1a;https://downloa…

keil里sprintf的用法

代码&#xff1a; #include<stdio.h> int main(void) {float i-123.45;char zifu[10];sprintf(zifu,"%f",i);while(1);return 0; } 仿真结果 代码&#xff1a; #include<stdio.h> int main(void) {float i123.45;char zifu[10];sprintf(zifu,"%f…

【网络】传输层协议TCP

TCP协议 TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议&#xff0c;由IETF的RFC 793定义。TCP在IP&#xff08;Internet Protocol&#xff0c;互联网协议&#xff09;网络层上提供…

LeetCode004-两个有序数组的中位数-最优算法代码讲解

最有帮助的视频讲解 【LeetCode004-两个有序数组的中位数-最优算法代码讲解】 https://www.bilibili.com/video/BV1H5411c7oC/?share_sourcecopy_web&vd_sourceafbacdc02063c57e7a2ef256a4db9d2a 时间复杂度 O ( l o g ( m i n ( m , n ) ) ) O(log(min(m,n))) O(log(min(…