Linux云计算之Linux基础3——Linux系统基础part-2

1、终端、shell、文件理论

1、终端

  1. 终端(terminal):人和系统交互的必要设备,人机交互最后一个界面(包含独立的输入输出设备)
    • 物理终端(console):直接接入本机器的键盘设备和显示器
    • 虚拟终端(tty):通过软件方式虚拟实现的终端。它可以提供命令行界面,也可以提供桌面的用户界面(UI环境)。
      • 通过组合键(例如【Ctrl+Alt+F1到F6】)在不同的虚拟终端之间切换。
    • 模拟终端(pts)图形桌面开启的字符终端或者通过远程连接到系统时使用的终端界面。当用户通过SSH或其他远程连接工具连接到Linux系统时,他们会使用模拟终端来与系统进行交互。
  2. 查看当前是哪个终端,命令【tty
  3. 终端对应的 UI 接口:GNOME 图形桌面环境、CLI 字符界面

2、shell

  1. 人机交互(翻译)程序,Shell 是一种用户与操作系统进行交互的程序。它接收用户的命令并将其发送到操作系统进行执行,然后将结果返回给用户。
    1. 图形界面:shell (GUI)、gnome
      1. 在图形界面中,用户与操作系统交互通常通过图形用户界面(GUI)进行,如 GNOME 桌面环境。
      2. 开启图形界面startx】 命令
    2. 字符界面
      1. 在字符界面中,用户与操作系统交互通过字符用户界面(CLI)进行,如 Bash shell。
      2. 常见的命令行 shell 包括 bsh、csh、tcsh、ksh、bash、zsh等。其中,Bash 是遵循 GPL 协定的一种常见 shell。
      3. 查看当前正在使用的 shell,使用命令 【echo $SHELL

3、shell 提示符

  1. 在 shell 中,提示符是一个特殊的字符或字符串,用于指示用户可以输入命令
  2. 管理员(root用户):提示符【#
  3. 普通用户:提示符【$
  4. 提示符的格式:【当前登录用户名@主机名 当前的工作目录】# 或 $
  5. ~】当前登录用户的家目录
    1. 家目录:用户登录后默认的起始目录,用户在这个目录下可以存储个人文件、配置文件和其他数据。
    2. 每个用户的家目录通常由系统管理员在用户创建时自动分配,并且具有与用户名称相同的名称。例如,对于用户名为 "user1" 的用户,家目录通常是 "/home/user1"。
  6. 显示当前的提示符样式:【echo $PS1
  7. 定制不同风格的提示符,通过设置环境变量:PS1="xxxxxxxxxxxxx"
    1. # 设置一个简单的提示符,只包含 $
      PS1="$ "# 设置一个包含用户名和当前工作目录的提示符
      PS1="\u@\h:\w $ "# 设置一个更加复杂的提示符,包含颜色和其他信息
      PS1="\[\e[01;32m\]\u@\h\[\e[00m\]:\[\e[01;34m\]\w\[\e[00m\] $ "\u 表示用户名
      \h 表示主机名
      \w 表示当前工作目录
      通过在 PS1 中设置不同的格式和包含不同的特殊字符,可以定制出适合自己喜好的命令行提示符样式。
      在设置 PS1 时,在包含颜色等控制字符时,需要使用特殊的转义序列(比如 \e[01;32m),以确保显示效果正确。
      
    2. 【PS1="\[\e[01;32m\]\u@\h\[\e[00m\]:\[\e[01;34m\]\w\[\e[00m\] $ "】

      1. \[\e[01;32m\]:这是一个颜色设置序列,用来设置命令行提示符的颜色。具体来说,\e[01;32m 表示设置颜色为亮绿色。其中 \e 是转义字符,表示 ASCII 控制序列的开始,[01;32m 是颜色设置的具体指令。在这个指令中,01 表示亮色,32 表示绿色。

      2. \u@\h:这个部分是命令行提示符中显示的内容。\u 表示当前用户名,\h 表示当前主机名。

      3. \[\e[00m\]:这是另一个颜色设置序列,用于恢复默认的文本颜色。具体来说,\e[00m 表示将文本颜色重置为终端的默认颜色。

      4. :这是分隔符,用于分隔用户名和主机名部分与工作目录部分。

      5. \[\e[01;34m\]:这是第二个颜色设置序列,用于设置工作目录部分的颜色。具体来说,\e[01;34m 表示设置颜色为亮蓝色。

      6. \w:这个部分是命令行提示符中显示的工作目录。\w 表示当前工作目录。

      7. \[\e[00m\]:这是另一个颜色设置序列,用于恢复默认的文本颜色,与第一个颜色设置序列对应。

      8. $:这是命令行提示符的最后一部分,通常表示普通用户权限。

4、设置主机名

  1. hostname NAME】、【hostnamectI set-hostname NAME
    1. 注意:错误的主机名可能会导致某些服务无法启动
  2. 确定 shell 提示符进行敲命令 (包括内部命令和外部命令)
    1. 程序=指令+数据;指令是程序的执行逻辑,数据是程序操作的对象。
    2. 广义程序=指令.ELF+库文件+配置文件+帮助文档
      1. ​​​​​广义程序包括可执行文件(指令)以及程序运行所需的其他资源
      2. 指令是程序的执行逻辑,通常以 ELF(Executable and Linkable Format)格式存储。
      3. 库文件是程序调用的函数库,用于提供额外的功能和服务。
      4. 配置文件包含程序的配置信息,用于调整程序行为。
      5. 帮助文档提供了程序的使用说明和帮助信息。
    3. 注意:指令和库文件是二进制文件,配置文件和帮助文档是文本文件
    4. 命令一般都要调用库文件,否则程序可能无法正常运行
    5. ldd】 命令可以查看一个可执行程序调用的共享库文件
      1. ldd /bin/ls
  3. 命令路径:
    1. which查找指定命令的可执行文件路径
    2. whereis 查找指定命令的可执行文件路径以及帮助文档的路径
    3. which ls
      whereis ls
  4. 内部命令:当前 Shell 内置的命令,可以直接在 Shell 中执行。
  5. 外部命令:额外安装的可执行程序命令,通常是存储在系统的某个目录中的二进制文件。
  6. 使用【enable】命令启用或禁用 Shell 内置命令,区分是否为内部或外部命令
    1. //启用内置命令
      enable -n command_name
      //例如,要启用 echo 内置命令,可以执行以下命令
      enable -n echo//禁用内置命令
      enable command_name
      //例如,要禁用 echo 内置命令,可以执行以下命令
      enable echo
      

      一般情况下,内置命令都是默认启用的,因此很少需要使用 enable 命令来手动启用或禁用内置命令。这个命令主要用于特殊情况下的调试或测试。

    2. 在 Bash shell 中,"echo" 命令用于将文本输出到标准输出。实际上内置命令是不会被禁用的,因为它们对 shell 的功能至关重要。内置命令通常被设计为与 shell 紧密集成,以确保 shell 的正常操作。

4、Linux 系统中的文件和目录

  1. 文件:磁盘空间上的一段数据流,根据文件名进行定位和访问。
    1. 数据+元数据(文件的权限、所有者、修改时间等信息。)
  2. 目录:相当于 windows 中的文件夹,实现对文件的路径映射和组织管理
  3. Linux 文件名在同一个目录,必须唯一,严格区分大小写。
  4. 命令:【basename 基名】用于从给定的文件路径中提取基本文件名(不包括路径)。(最右侧文件或目录名)
    1. basename /path/to/file.txt
  5. 命令:【dirname 路径名】用于从给定的文件路径中提取目录部分(不包括最右侧的文件名)。(左侧的目录名)
    1. dirname /path/to/file.txt

2、三大基本命令

  1. 【cd】、【ls】、【pwd】
    1. cd:进入指定的工作目录
    2. ls:打印指定目录下的清单(如果不接后面参数 代表打印当前工作目录的清单)
    3. pwd:查看当前所在的工作目录的完整路径。
    4. cd /path/to/directory
      ls /path/to/directory
      pwd
      
  2. 用户家目录:超级用户 【(/root)】,普通用户 【(/home)】
    1. 在 Linux 系统中,每个用户都有一个默认的家目录,其中包含其个人文件和配置文件。
    2. 超级用户的家目录通常位于 /root 目录下。
    3. 普通用户的家目录通常位于 /home 目录下,其中每个用户都有一个单独的子目录。

3、linux 命令通用格式

  1. 命令字 [选项] [参数],中括号表示可有可无
    1. 命令字是要执行的具体命令的名称,比如 lscdmkdir 等;在命令行中,命令字通常是第一个单词,用于指示要执行的操作。
    2. 选项:实现差异化的功能。控制命令行命令行为的标志,它们可以修改命令的默认行为。可以分为短格式选项和长格式选项
      1. 短格式选项:以【-】来传递,后面跟着一个字母或一串字母,用于指定具体的选项。
        1. 例如,【ls -l】 中的 【-l】 就是一个短格式选项
      2. 长格式选项:以【--】来传递,后面跟着一个或多个单词,用于指定更具描述性的选项。
        1. 例如:【--help -all】、【ls --human-readble】;通常不可以连用
    3. 参数:命令的操作对象,是命令需要操作的目标对象或数据。指定命令的具体操作对象。
    4.  
      ls -l /root/#ls 是命令字,用于列出目录内容。
      #-l 是短格式选项,表示要以长格式显示文件列表。
      #/root/ 是参数,指定了要列出内容的目录路径。

4、Linux文件系统及目录结构

  1. 倒状树形结构一切文件都以根目录 【/】 为起点向下延伸
  2. 在 Linux 中,目录结构的组织是层次化的,允许用户按照逻辑方式组织和管理文件。
  3. 文件:是存储在存储设备上的数据的逻辑单元,每个文件由两部分组成:元数据和数据。
    1. 元数据:包含了文件的信息,如文件名、权限、所有者、修改时间等。
    2. 数据:是文件实际包含的内容
  4. 注意事项:
    1. Linux 文件系统对文件名严格区分大小写,因此 file.txtFile.txt 被视为两个不同的文件。
    2. 文件名中不能使用特殊字符 /,因为 / 用于分隔文件路径。
    3. 文件名也不能太长,具体的限制取决于文件系统
    4. 以 【. 】开头的文件被视为隐藏文件,它们在默认情况下不会显示在文件列表中。

5、Linux的相对路径和绝对路径

  1. 相对路径是相对于当前工作目录的路径,而绝对路径从根目录 / 开始的完整路径
  2. 相对路径不需要从根目录开始,而是相对于当前目录的位置来描述目标位置。
  3. 【pwd】命令显示当前工作目录的路径路径的起始点始终为根【/】路径分隔符为【/】 (windows 的路径分隔符为【\】)
  4. 相对路径之【.】【..】
    1. 相对路径前面不要加上【/】,否则会认为在以绝对路径根下发起
    2. 【.】当前路径/目录
    3. 【..】父目录(上级目录)
    4. cd ../   # 进入上级目录

6、Linux 特点及哲学思想(重点)

  1. 一切皆文件:Linux 将硬件、驱动、系统参数等都视为文件来管理。
  2. 组合目的的单一的小程序完成复杂的任务,一个程序只做一件事,且做好
  3. 尽量避免跟用户交互(一般情况,执行操作没有消息就是最好的消息)
  4. 使用文本文件保存配置信息:Linux 喜欢使用文本文件来保存系统配置和设置,这样用户可以通过编辑文本文件来配置系统,而不需要复杂的图形界面。

7、Linux 命令帮助

  1. Linux 操作系统的使用主要以命令的方式基于 shell来进行操作,Linux 命令太多,在涉及到相关详细功能的时候,可以了解如何查看命令的帮助文档
    1. 内部命令的帮助文档查看:【help COMMAND】
      1. help cd
    2. 外部命令的帮助文档查看:【COMMAND --help】
      1. ls --help
    3. 命令的通用使用内部手册:【man COMMAND】(内命令跳转到内部命令的帮助文档)
      1. man ls
    4. 命令的信息页查看帮助:【info COMMAND】
      1. info ls
    5. 每个程序几乎都有自己的帮助文档通常存放在 /usr/share/doc 目录下,也可以通过访问程序官方网站来获取文档。
    6. 查看红帽官方的命令帮助文档 ,对于RHEL(Red Hat Enterprise Linux)和CentOS(CentOS)发行版,可以查看红帽官方的命令帮助文档。
  2. man 文档帮助详解(文档工程师进行编写)
    1. man 手册所在系统的存放位置【/usr/share/man】 ,基本都是基于压缩之后的手册文件
    2. man 1---8
      1. man 1:命令普通帮助
      2. man 2:系统调用
      3. man 3:库调用
      4. man 4:设备文件和特殊文件
      5. man 5:配置文件相关帮助
      6. man 6:游戏
      7. man 7:杂项
      8. man 8:管理类命令
      9. man 1 ls   # 查看 ls 命令的帮助文档
  3. 进入 man 手册后的相关操作
    1. 使用【空格】或者【B】键可以上下翻屏查看,【d】键翻半屏
    2. 【/】或者【?】搜索内容
    3. 【q】键退出

8、结合帮助文档基于三大命令的详细使用

  1. 【cd】:用于改变当前工作目

    1. cd           # 进入当前用户的家目录
      cd ~         # 进入当前用户的家目录(另一种方式)
      cd ~/xxx/xxx # 进入当前用户的子目录
      cd ~USER     # 进入某个普通用户的家目录(超级用户权限)
      cd -         # 切换到上次目录(来回切换)
  2. 【ls】:用于列出指定目录中的文件和子目录的清单

    1. 选项:

      1. 【-a】:显示目录下的所有文件 (包括隐藏文件)

      2. 【-l】:长格式显示文件信息(查看文件的基本属性)

      3. 【-d】:只显示目录的本身属性,需要和【-l】连用

      4. 【-h】:以人类通俗易懂的方式显示文件相关信息

      5. 【-r】:逆序显示指定路径下的内容

      6. 【-R】:递归显示目录及其子目录内的所有内容

      7. 【-t】:根据时间清单列表出来

      8. ls -a   # 显示所有文件,包括隐藏文件
        ls -l   # 以长格式显示文件信息
        ls -lh  # 以人类通俗易懂的方式显示文件相关信息
        ls -d   # 只显示目录的本身属性
        ls -r   # 逆序显示指定路径下的内容
        ls -R   # 递归显示目录及其子目录内的所有内容
        ls -t   # 根据时间清单列表出来
  3. 【pwd】:打印当前工作路径

    1. 【cat】命令,显示文本文件内部的内容

      1. 格式【cat [option] file...】

      2. 【-n】:输出文本内容的行数标号

      3. 【-E】:显示文本文件内容的每行的结束符

      4. 【/etc】:目录下面有一个文本文件 【my.cnf】

      5. cat file            # 显示文本文件的内容
        cat -n file         # 输出文本内容的行数标号
        cat -E file         # 显示文本文件内容的每行的结束符
    2. 【nano】命令,小型文本编辑器(好用)
      1. 格式【nano file】:如果文本文件不存在,即创建新的文本文件
      2. 【ctrl+o】:写入,回车保存
      3. 【Ctrl+x】:退出
      4. nano file.txt       # 打开文本文件进行编辑
        
    3. 【gedit】图形化的文本编辑器,需要图形界面支持,通常用于在桌面环境下编辑文本文件。

9、Linux 命令所在的路径和命令历史信息

  1. 所有的命令归根结底就是一个特定的二进制程序基于 ELF (可执行与链接格式)格式存在 Linux 文件系统内。
  2. 执行命令时,系统会在PATH环境变量所指示的路径下查找对应的二进制程序
    1. echo $PATH   # 查看当前bash的PATH环境变量
    2. PATH环境变量是一个用于指定可执行程序所在路径的环境变量。在Linux系统中,当用户输入一个命令时,系统会在PATH环境变量所列出的路径中查找对应的可执行程序,并且执行找到的第一个匹配的程序。
  3. 命令在 shell 的 PATH 环境变量中使用后会被缓存下来,【hash】命令记录缓存次数,缓存命中可能不会真实反映命令位置。
  4. 【hash -r】   # 清除命令缓存
    1. 命令被执行时,它们的路径会被缓存起来以提高执行效率。但有时候,如果命令的路径发生了变化,需要清除缓存以确保使用的是最新的命令。清除命令缓存

10、【history】

  1. 用于显示当前用户在命令行中执行过的所有命令记录。(每个不同的终端,记录的命令都不一样)
  2. 命令记录保存在当前用户的家目录下的隐藏文件.bash_history】 中。
  3. 以下命令不会对命令历史文件内容发生任何更改
    1. 【history】:命令历史查询
    2. 【history -c】:清除命令历史
    3. 【history -a】:追加当前会话的命令历史到命令历史文件【.bash_history】之中
    4. 【history -d】:删除指定的命令历史条目
    5. history -d 100    # 删除序号为100的命令历史条目

11、Linux 的文件类型

  1. 普通文件:【-】,【f】
    1. 通常情况下以无色表示,但可执行文件(绿色)、压缩文件、破损文件(红色) 除外
    2. ls -l file.txt
  2. 目录文件:用于存储其他文件和目录的路径映射【d】,通常情况下以蓝色显示
    1. ls -l /path/to/directory
  3. 链接文件(符号链接):软连接【l】,指向另一个文件或目录的链接,相当于Windows中的快捷方式,作用为链接到背后真实文件,通常情况下以青色表示
    1. ls -l symlink
  4. 设备文件:用于表示系统中的硬件设备,
    1. 字符设备:【c】 (线性数据存储或展示设备)
    2. 块设备:【b】通常情况下以黄色显示
    3. ls -l /dev/sda
  5. 套接字文件:【s】,主要实现程序进程和端口套接的临时文件,通常情况下以紫色显示,【ip:port】跨主机通信进程地址
    1. ls -l /path/to/socket
  6. 命名管道文件:【p】,主要实现程序管道连接抽象出来的文件,通常情况下以暗黄色表示
    1. ls -l /path/to/fifo

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

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

相关文章

知了汇智鸿蒙系列讲座进校园,赋能产业数字化升级,助力创新人才培养

随着信创国产化战略的深入推进,以及万物互联时代的加速到来,信息技术产业正迎来前所未有的发展机遇。在这一背景下,成都知了汇智科技有限公司作为产教融合领域的先行者,积极响应国家号召,通过举办鸿蒙系列讲座进校园活…

对OceanBase中的配置项与系统变量,合法性检查实践

在“OceanBase 配置项&系统变量实现及应用详解”的系列文章中,我们已经对配置项和系统变量的源码进行了解析。当涉及到新增配置项或系统变量时,通常会为其指定一个明确的取值范围或定义一个专门的合法性检查函数。本文将详细阐述在不同情境下&#x…

【TB作品】MSP430单片机读取大气压强传感器BMP180

文章目录 实物main所有代码 实物 main #include <msp430.h> #include "stdio.h" #include "OLED.h"#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h>// P2.2 oled scl // P2.3 oled sda// p…

【vue/uniapp】使用 smooth-signature 实现 h5 的横屏电子签名

通过github链接进行下载&#xff0c;然后代码参考如下&#xff0c;功能包含了清空、判断签名内容是否为空、生成png/jpg图片等。 签名效果&#xff1a; 预览效果&#xff1a; 下载 smooth-signature 链接&#xff1a;https://github.com/linjc/smooth-signature 代码参考&a…

数据结构OJ题——栈和队列

1. 用栈实现队列&#xff08;OJ链接&#xff09; 题目描述&#xff1a;请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作&#xff08;push、pop、peek、empty&#xff09; void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回…

SpringBoot快速入门笔记(5)

文章目录 一、elemetnUI1、main.js2、App.vue3、fontAwesome 一、elemetnUI 开源前端框架&#xff0c;安装 npm i element-ui -S 建议查看官方文档 Element组件&#xff0c;这里是Vue2搭配elementUI&#xff0c;如果是vue3就搭配elementPlus&#xff0c;这里初学就以Vue2为例子…

【软考---系统架构设计师】计算机网络章节

目录 一、TCP/IP协议族 &#xff08;1&#xff09;基本介绍 &#xff08;2&#xff09;TCP和UDP的区别 &#xff08;3&#xff09;DNS协议 &#xff08;4&#xff09;DHCP协议 二、网络规划与设计 &#xff08;1&#xff09;需求分析 &#xff08;2&#xff09;通信规范…

Vue3(一):win7使用vue-cli创建vue3工程

一、资料分享 网课地址&#xff1a;尚硅谷Vue3入门到实战&#xff0c;最新版vue3TypeScript前端开发教程_哔哩哔哩_bilibili vuecli创建vue3项目官网&#xff1a;创建一个项目 | Vue CLI vite创建vue3官网&#xff1a;快速上手 | Vue.js 尚硅谷笔记&#xff1a;https://pan.ba…

【GO语言卵细胞级别教程】11.探索Go语言的面向对象编程之美(含源码仅此一份,先到先得)

【GO语言卵细胞级别教程】11.探索Go语言的面向对象编程之美&#xff08;含源码仅此一份&#xff0c;先到先得&#xff09; 目录 【GO语言卵细胞级别教程】11.探索Go语言的面向对象编程之美&#xff08;含源码仅此一份&#xff0c;先到先得&#xff09;1.面向对象的引用1.1简介1…

day55 最长递增子序列 最长连续递增子序列 最长重复子数组

题目1 300 最长递增子序列 题目链接 300 最长递增子序列 题意 找到整数数组nums的最长严格递增子序列的长度&#xff08;子序列并不改变原始的顺序&#xff0c;但是可以删除元素&#xff09; 动态规划 动规五部曲 1&#xff09;dp数组及下标i的含义 dp[i] 表示以nums[i…

SpringMVC数据接收(全面/详细注释)

SpringMVC涉及组件&#xff1a; DispatcherServlet : SpringMVC提供&#xff0c;我们需要使用web.xml配置使其生效&#xff0c;它是整个流程处理的核心&#xff0c;所有请求都经过它的处理和分发&#xff01;[ CEO ]HandlerMapping : SpringMVC提供&#xff0c;我们需要进行…

OSCP靶场--Dibble

OSCP靶场–Dibble 考点(前端鉴权参数修改node.js代码注入 suid cp提权 ) 1.nmap扫描 ## ┌──(root㉿kali)-[~/Desktop] └─# nmap 192.168.173.110 -sV -sC -Pn --min-rate 2500 -p- Starting Nmap 7.92 ( https://nmap.org ) at 2024-04-09 06:36 EDT Nmap scan repor…

使用yolov8实现自动车牌识别(教程+代码)

该项目利用了一个被标记为“YOLOv8”的目标检测模型&#xff0c;专门针对车牌识别任务进行训练和优化。整个系统通常分为以下几个核心步骤&#xff1a; 数据准备&#xff1a; 收集包含车牌的大量图片&#xff0c;并精确地标记车牌的位置和文本信息。数据集可能包含各种环境下的…

MyLife 使用 TianliGPT 自动生成文章的AI摘要

博客还未迁移的时候&#xff0c;文章摘要就是使用 TianliGPT 自动生成的&#xff0c;现在迁移到 MyLife主题 后&#xff0c;特此记录一下。 前言 此教程的前提需要阅读 张洪Heo 的文章&#xff1a;如何让博客支持AI摘要&#xff0c;使用TianliGPT自动生成文章的AI摘要 购买 Ti…

探索 ChatGPT:解读 AI 对话的魔力(文末推荐一款AI工具聚合平台,可免费体验)

&#x1f947;作者简介&#xff1a;CSDN内容合伙人、新星计划第三季Python赛道Top1 &#x1f525;个人主页&#xff1a;hacker707的csdn博客 &#x1f4ac;推荐一款AI工具聚合平台&#x1f449;Hulu AI 探索 ChatGPT&#xff1a;解读 AI 对话的魔力 ChatGPT 的魅力如何使用 C…

Linux系统本地搭建DbGate数据库并结合内网穿透实现无公网IP远程连接

文章目录 1. 安装Docker2. 使用Docker拉取DbGate镜像3. 创建并启动DbGate容器4. 本地连接测试5. 公网远程访问本地DbGate容器5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定公网地址远程访问 本文主要介绍如何在Linux Ubuntu系统中使用Docker部署DbGate数据库管理工…

ios苹果ipa文件app内测分发有哪些操作流程

哈喽&#xff0c;大家好&#xff0c;咕噜淼淼又来和大家见面啦&#xff0c;在iOS应用开发过程中&#xff0c;进行内测分发是非常重要的一环&#xff0c;它能帮助开发者发现并修复应用中的问题&#xff0c;提升用户体验。上两期咱们一起探讨了一下App内测分发的目的及优势&#…

海山数据库(He3DB)原理剖析:浅析OLAP数据库计算引擎中的统计信息

背景&#xff1a; 统计信息在计算引擎的优化器模块中经常被提及&#xff0c;尤其是在基于成本成本优化&#xff08;CBO&#xff09;框架中统计信息发挥着至关重要的作用。CBO旨在通过评估执行查询的可能方法&#xff0c;并选择最有效的执行计划来提高查询性能。而统计信息则提…

深入OceanBase内部机制:系统架构与组件精讲

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 目录 1️⃣OceanBase 整体架构1.1 分区1.2 分片1.3 日志流1.4 对等节点1.5 多租户 2️⃣OceanBase 架构与组件详解2.1 存储层2.2 …

备考ICA----Istio实验18---单集群中部署多个Istio控制面

备考ICA----Istio实验18—单集群中部署多个Istio控制面 单个 Kubernetes 控制面以及多个 Istio 控制面和多个网格。通过 Kubernetes 命名空间和 RBAC 实现软多租户业务隔离。 1. 环境准备 1.1 创建2个命名空间 kubectl create ns usergroup-1 kubectl label ns usergroup-…