当前位置: 首页 > news >正文

Linux 系统目录结构 终端

系统目录结构

             Linux 或 Unix 操作系统中,所有文件和目录呈一个以根节点为始的倒置的树状结构。文件系统的最顶层是根目录,用 / 来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。如此,就构成了一个庞大的文件系统。

             在命令窗口下输入命令:ls /,显示根目录下的文件:

             树状目录结构:

目录解释

             以下是对这些目录的解释:

系统启动必须:

  • /boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /etc:Etcetera(等等) 的缩写。这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /sys:这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /lib:Library(库) 的缩写。这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

指令集合:

  • /bin:Binaries (二进制文件) 的缩写。这个目录存放着最经常使用的命令。

  • /sbin:s 是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

外部文件管理:

  • /dev :Device(设备) 的缩写。 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

  • /media:linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统,可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

临时文件:

  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
  • /usr:unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
  • /usr/bin:系统用户使用的应用程序。

  • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src:内核源代码默认的放置目录。

  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /tmp:temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。

  • /home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

运行过程中要用:

  • /proc:Processes(进程) 的缩写。/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件。这个目录是一个虚拟的目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  • /var:variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

扩展用的:

  • /srv:该目录存放一些服务启动之后需要提取的数据。

  • /opt:optional(可选) 的缩写。这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

Redhat/CentOS 特有的目录:

  • /selinux:这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

补充

             Linux 系统中有几个比较重要的目录需要注意,不要误删除或者随意更改内部文件。

  • /etc:这个是系统中的配置文件,如果更改了该目录下的某个文件可能会导致系统不能启动。
  • /bin, /sbin, /usr/bin, /usr/sbin:  这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。值得提出的是 /bin/usr/bin 是给系统用户使用的指令(除 root 外的通用用户),而/sbin, /usr/sbin 则是给 root 使用的指令。
  • /var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。

终端

简介

             Linux终端是Linux操作系统中强大而灵活的工具,是一种命令行界面,也被称为命令行终端、Shell或控制台。提供了与系统进行交互的方式。在Linux终端中,用户可以使用文本命令来执行各种任务,如文件管理、进程管理、软件安装、网络配置等。

             Linux终端的核心组件是Shell,它是一个解释器,解析用户输入的命令并传递给操作系统的程序,并把操作系统反馈信息输出的程序。Linux中有多种Shell可用,其中最常见的是Bash(Bourne Again Shell),它是许多Linux发行版的默认Shell。其他常见的Shell包括Zsh(Z Shell)、Fish(Friendly Interactive Shell)等。

终端命令的基本形式:

command  [-options ]  parameter1  parameter2

             命令中第一个输入的部分绝对是命令(command) 或可执行文件,按下Enter键则表示开始执行这一条命令。若输入的命令行太长,可以使用反斜杠(\)来转义Enter符号(注意:反斜杠后立刻接特殊字符,才能转义。),使得输入的命令行能连续到下一行;如果有几个要一起执行的命令,各个命令之间可以用分号(;)隔开,再按Enter来一起执行(例如:ls -a;ls -al)。

普通用户 & root用户

             Ubuntu系统中有两类用户,一类是普通用户(如下图中的:chen),一类是root用户(拥有管理员权限的超级用户)。

             打开终端后,命令提示符是$,表示以普通用户的身份登录了终端。若以root身份登录,可输入如下命令:sudo su 或 su root,回车再输入密码(注意:输入密码的时候是看不到密码的),即可以root用户的身份登录终端。若不知道密码或杠安装好Ubuntu,需要先设置root的密码,首先输入指令:sudo passwd root,回车并输入现登录用户的密码,然后再依次输入两次自定义的root密码,root密码就设置完成了,之后就可以用:su root指令登录root了。

             以root用户的身份登录终端命令行提示符会变为:#。输入exit或CTRL+D可退出root用户,回到普通用户,再输入exit或CTRL+D,则可退出终端。

注:$:普通用户的命令行提示符;   #:root用户的命令行提示符 。

图形模式 & 文字模式

             Ubuntu系统有两种使用模式,一是图形模式,预设了6个文字接口终端机 tty1 ~ tty6 。二是文字模式。

             图形模式与文字模式的切换方式如下:

  • CTRL+ALT+F1 ~ F6:文字接口登入 tty1 ~ tty6 终端机
  • CTRL+ALT+F7:图形接口桌面

常用的快捷键 & 终端命令(指令 ) 

快捷键

  • Ctrl+Alt+T:进入Ubuntu终端;
  • Ctrl+C:停止在终端中运行的程序;
  • Ctrl+Z:暂停在终端中运行的程序,如果想继续执行程序,可输入百分号%;
  • TAB:补全目录或命令。例如,在终端中输入tou,再按TAB,将补全命令出现touch;
  • CTRL+SHIFT+T:新建标签页;
  • CTRL+D:关闭标签页(终端);
  • Ctrl+A:光标移到行首 ;
  • Ctrl+E:光标移到行尾;
  • Ctrl+U:清除光标到行首的字符 ;
  • Ctrl+W:清除光标之前一个单词 ;
  • Ctrl+K:清除光标到行尾的字符;
  • Ctrl+S:挂起当前shell;
  • Ctrl+Q:重新启用;
  • Ctrl+L :清空终端;
  • Ctrl+Shift+C/V:在终端中进行复制与粘贴操作;
  • CTRL+ALT+F1 ~ F6:文字接口登入 tty1 ~ tty6 终端机;
  • CTRL+ALT+F7:图形接口桌面。

指令 

  • sudo reboot :用来重启Linux系统,这和Windows系统中的restart一样
  • sudo shutdown -r now:立刻重启
  • sudo shutdown -r 10:过10分钟自动重启
  • sudo shutdown -r 20:35 : 在时间为20:35时候重启

注:可以用命令:shutdown -c 取消通过命令:shutdown设置的重启。

  • sudo halt : 立刻关机(一般加-p 关闭电源)
  • sudo poweroff : 立刻关机 
  • sudo shutdown -h now : 立刻关机
  • sudo shutdown -h 10 : 10分钟后自动关机 
  • exit:退出终端 

注:可以用命令:shutdown -c 取消通过命令:shutdown 设置的关机。

  • ls:列出当前目录下的所有显式文件
  • ls -a:列出当前目录下的所有文件,包括以点(.)开头的隐藏文件
  • ls -l:列出当前目录下的所有显式文件,以及与文件相关的属性信息
  • ls -al:列出当前目录下的所有文件与相关的文件属性,包括隐藏文件
  • 注:两个特殊目录(当前目录和父目录),以及隐藏目录或文件。

当前目录:用户当前所在的工作目录,使用一个点“ . ”来表示,也可以使用“ ./ ”来表示;

父目录:当前目录的上一级目录,使用两个点“ .. ”来表示,也可以“ ../ ”来代表;

隐藏目录或文件:以一个点 . 开始的目录或文件名表示隐藏目录或文件(如:.bashrc)。即,以默认方式查找时,不显示该目录或文件。可以在命令窗口中使用 ls 命令查看当前目录下的隐藏文件及目录。

  • date:输出当前系统时间
  • date +%Y/%m/%d:输出当前系统日期:年/月/日(/是可有可无的,其主要充当分隔符)
  • date +%H:%M:输出当前系统时间:时:分(:的作用同上)
  • cal:显示当前系统的本月日历
  • cal [[moth] year]:显示某年某月的日历,如cal 10 1993将显示1993年10月的日历
  • bc:进入一个简单的计算器,运算符可以是:+ - * / ^ %等。

注:在此计算器中,只要输入计算式,再按Enter键,即可输出计算结果。例如输入:1+2,再Enter,即输出结果3。如果输入1/2,再Enter,结果却是0,原因是计算器默认进行的是整除计算,即结果只输出整数部分,而不输出小数部分。如再输入9/2,结果为4。若想输出小数,可输入命令:scale=number,其中number表示保留的小数位数,如输入命令scale=3,再输入9/2,结果将为4.500,保留有三位小数。退出计算器的命令为:quit。

  • pwd:显示当前路径
  • touch file_name:在当前路径创建一个名称为filename的文件
  • mkdir new_folder:在当前路径创建一个名称为folder的文件夹
  • rm file_name:删除当前路径中名为filename的文件,此命令只能删除文件,不能删除文件夹
  • rmdir empty_folder_name:删除空文件夹(不能删除带有文件的文件夹)
  • rm -r folder:删除带有文件的文件夹
  • rm -rf dir_name/file_name:删除当前路径中名为dir_name的文件夹,或名为file_name的文件
  • cd ..:返回上一层目录
  • cd 绝对路径:进入某一目录。例如:cd .. 或 cd /home/chen 或 cd ~

..       // 代表上一层目录
.        // 代表当前目录
-        // 代表前一个目录
~       // 代表当前用户的宿主目录
/        // 代表Ubuntu系统的根目录

*       // 指所有文件-万能匹配型

  • apt-get:在ubuntu中用来在线安装、卸载软件。如安装vim:apt get install vim,如卸载vim:apt get remove vim。安装必须是在线的,即系统Ubuntu必须上网才可使用此命令。
  • 查看cpu温度:(1)安装acpi指令:sudo apt-get install acpi;(2)输入指令:acpi -t ,输出cpu温度
  • free -m:单独查看内存使用情况
  • top:查看内存及cpu的使用情况
  • gnome-system-monitor:打开ubuntu下的任务管理器
  • clear:等价于:Ctrl+l。刷新屏幕,本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。一般都会用这个命令。
  • reset:完全刷新终端屏幕,之前的终端输入操作信息将都会被清空,这样虽然比较清爽,但整个命令过程速度有点慢,使用较少。 

相关文章:

Linux 系统目录结构 终端

系统目录结构 Linux 或 Unix 操作系统中,所有文件和目录呈一个以根节点为始的倒置的树状结构。文件系统的最顶层是根目录,用 / 来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。如此…...

Layui + Flask | 实现注册、登录功能(案例篇)(08)

此案例内容比较多,建议滑到最后点击阅读原文,阅读体验更佳。后续也会录制案例视频,将在本周内上传到同名的 b 站账号。 已经看了 layui 表单相关的知识,接下来就可以实现注册功能,功能逻辑如下: 项目创建 新建 flask 项目下载 layui 文件,解压之后复制到指定文件编写前…...

GitLab数据迁移后出现500错误

一、背景 去年做GitLab数据迁移时,写过一篇文章《GitLab的备份与还原》。后来发现新创建的项目没问题,但对于迁移过来的项目,修改名称等信息,或者删除该项目时,会出现500错误,以为是系统问题&#…...

音乐随行,公网畅享,群辉Audiostation给你带来听歌新体验!

文章目录 本教程解决的问题是:按照本教程方法操作后,达到的效果是本教程使用环境:1 群晖系统安装audiostation套件2 下载移动端app3 内网穿透,映射至公网 很多老铁想在上班路上听点喜欢的歌或者相声解解闷儿,于是打开手…...

机器学习入门:从算法到实际应用

机器学习入门:从算法到实际应用 机器学习入门:从算法到实际应用摘要引言机器学习基础1. 什么是机器学习?2. 监督学习 vs. 无监督学习 机器学习算法3. 线性回归4. 决策树和随机森林 数据准备和模型训练5. 数据预处理6. 模型训练与调优 实际应用…...

【Vue.js】vue-cli搭建SPA项目并实现路由与嵌套路由---详细讲解

一,何为SPA SPA(Single Page Application)是一种 Web 应用程序的开发模式,它通过使用 AJAX 技术从服务器异步加载数据,动态地更新页面内容,实现在同一个页面内切换不同的视图,而无需整页刷新 1.…...

Node.js 调用 fluent-ffmpeg

最近开发H5资源在线裁剪,最终在资源合成的步骤,选择 ffmpeg 作为合成的插件,记录下使用方式。 一、介绍 ffmpeg 一款跨平台多媒体处理工具,可以进行视频转码、裁剪、合成、音视频提取、推流等操作。 二、安装 Node js 可以利用…...

scrapy框架--

Scrapy是一个用于爬取数据的Python框架。下面是Scrapy框架的基本操作步骤: 安装Scrapy:首先,确保你已经安装好了Python和pip。然后,在命令行中运行以下命令安装Scrapy:pip install scrapy 创建Scrapy项目:…...

算法通关村第十五关——从40亿个数中产生一个不存在的数的处理方法

1.从40个亿中产生一个不存在的整数 题目要求:给定一个输入文件,包含40亿个非负整数,请设计一个算法,产生一个不存在该文件中的整数,假设你有1GB的内存来完成这项任务。**** 解题中心思想:存储的不是这40亿…...

软件项目开发的流程及关键点

软件项目开发的流程及关键点 graph LR A[需求分析] --> B[系统设计] B --> C[编码开发] C --> D[测试验证] D --> E[部署上线] E --> F[运维支持]在项目开发的流程中,首先是进行需求分析,明确项目的目标和功能要求。接下来是系统设计&am…...

全球变暖问题(floodfill 处理联通块问题)

全球变暖问题 文章目录 全球变暖问题前言题目描述题目分析边界问题的考虑岛屿是否被淹没判断:如何寻找联通块: 代码预告 前言 之前我们介绍了 bfs算法在二维,三维地图中的应用,现在我们接续进行拓展,解锁floodfill 算…...

由于找不到vcruntime140_1.dll怎么修复,详细修复步骤分享

在使用电脑过程中,可能会遇到一些错误提示,其中之一是找不到vcruntime140_1.dll的问题。这使得许多用户感到困扰,不知道该如何解决这个问题。小编将详细介绍vcruntime140_1.dll的作用以及解决找不到该文件的方法,帮助你摆脱困境。…...

算法 三数之和-(双指针)

牛客网: BM54 题目: 数组中所有不重复的满足三数之和等于0的数,非递减形式。 思路: 数组不小于3。不重复非递减,需先排序。使用idx从0开始遍历到n-2, 如果出现num[idx]num[idx-1]的情况,忽略继续下一个idx;令left idx1, right …...

AB实验总结

互联网有线上系统,可做严格的AB实验。传统行业很多是不能做AB实验的。 匹配侧是采用严格的AB实验来进行模型迭代,而精细化定价是不能通过AB实验来评估模型好坏,经历过合成控制法、双重差分法,目前采用双重差分法来进行效果评估。…...

sklearn包中对于分类问题,如何计算accuracy和roc_auc_score?

1. 基础条件 import numpy as np from sklearn import metricsy_true np.array([1, 7, 4, 6, 3]) y_prediction np.array([3, 7, 4, 6, 3])2. accuracy_score计算 acc metrics.accuracy_score(y_true, y_prediction)这个没问题 3. roc_auc_score计算 The binary and mul…...

python温度转换程序

1.使用pycharm运行温度转换程序,尝试将温度单位设在前面 2.参照温度转换程序,自己写一个关于货币转换、长度转换、重量转换或者面积转换的程序 循环函数 def convertemperature():temperature ""while (temperature ! "q"):temperature in…...

Vue2中10种组件通信方式和实践技巧

目录 1,props / $emit1.1,一个需求方法1方法2 1.2,v-model 和 .syncv-model.sync 2,$children / $parent3,ref4,$attrs / $listeners$attrs$listenersinheritAttrs1.1 的问题的第3种解决方法 5,…...

Flutter flutter.minSdkVersion的实际文件位置

Flutter 项目的Android相关版本号配置: flutter.minSdkVersion 的版本号配置文件实际路径: …/flutter_sdk/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy Flutter版本号如下: bzbMacBook-Pro ccsmec % flutter --version …...

python生成PDF报告

前言 最近接到了一个需求-将项目下的样本信息汇总并以PDF的形式展示出来,第一次接到这种PDF的操作的功能,还是有点慌的,还好找到了reportlab这个包,可以定制化向PDF写内容! 让我们由简入深进行讲解 一、reportlab是…...

在visual studio里安装Python并创建python工程

在2009年,云计算开始发力,Python、R、Go这些天然处理批量计算的语言也迅猛发展。微软在2010年,把Python当成一个语言包插件,集成到了visual studio 2010里。在"云优先,移动优先"的战略下,于2015年…...

AIGC(生成式AI)试用 6 -- 从简单到复杂

从简单到复杂,这样的一个用例该如何设计? 之前浅尝试用,每次尝试也都是由浅至深、由简单到复杂。 一点点的“喂”给生成式AI主题,以测试和验证生成式AI的反馈。 AIGC(生成式AI)试用 1 -- 基本文本_Role…...

竞赛 基于深度学习的人脸识别系统

前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的人脸识别系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/…...

uniapp:APP开发,后台保活

前言: 在ios中,软件切换至后台、手机息屏,过了十来秒软件就会被系统挂起,APP内的任务就不能继续执行;在android中,默认情况下,软件在后台运行的时候,触发某些特定条件的情况下&…...

vue2 项目中嵌入视频

案例&#xff1a; 代码&#xff1a; <template><div class"schematicDiagramIndex"><el-container><el-aside width"20rem"> <!-- <h4 style"font-size: 18px">视频演示</h4>--><div styl…...

第二章 进程与线程 十二、进程同步与进程互斥

目录 一、进程同步 1、定义 二、进程互斥 1、定义 2、四个部分 3、原则 一、进程同步 1、定义 进程同步是指在多个进程之间协调执行顺序的一种机制&#xff0c;使得进程按照一定的顺序执行&#xff0c;以避免出现不一致的情况。常见的实现方式有信号量、管程、屏障等。…...

Linux内核链表(list)移植到任意平台

一、前言 linux内核链表在include/linux/list.h文件中&#xff0c;内核中实现的链表比较简洁&#xff0c;实用性很强&#xff0c;因此想把它单独移植出来使用。 内核中的代码只能使用gnuc编译器编译&#xff0c;stdc编译器编译是会报错的&#xff0c;主要是因为typeof这个宏是…...

【操作系统】聊聊什么是CPU上下文切换

对于linux来说&#xff0c;本身就是一个多任务运行的操作系统&#xff0c;运行远大于CPU核心数的程序&#xff0c;从用户视角来看是并发执行&#xff0c;而在CPU视角看其实是将不同的CPU时间片进行分割&#xff0c;每个程序执行一下&#xff0c;就切换到别的程序执行。那么这个…...

CMake教程-第 2 步 添加一个库

CMake教程-第 2 步 添加一个库 1 CMake教程介绍2 学习步骤Step 1: A Basic Starting PointStep 2: Adding a LibraryStep 3: Adding Usage Requirements for a LibraryStep 4: Adding Generator ExpressionsStep 5: Installing and TestingStep 6: Adding Support for a Testin…...

DS 顺序表--类实现(C++数据结构题)

实现顺序表的用 C 语言和类实现顺序表 属性包括&#xff1a;数组、实际长度、最大长度&#xff08;设定为 1000 &#xff09; 操作包括&#xff1a;创建、插入、删除、查找 类定义参考 #include<iostream> using namespace std; #define ok 0 #define error -1 // 顺…...

0.UML

1.图 1.1类图含义 第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号, ,表示public,-,表示private,#,表示protected。 1.2接口图 与类图的区别主要是顶端有<< interface >…...

模板网站建设珠海/产品推广外包

同事的电脑登陆QQ后会弹出下面的提示框之前没遇见这种情况&#xff0c;以为是QQ安装路径问题&#xff0c;卸载QQ然后安装最新版本&#xff0c;登陆后还是提示&#xff1b;接着注册系统的DLL文件&#xff0c;问题依旧。随后问度娘看看QQPCMgr是什么&#xff0c;结果是电脑管家&a…...

wordpress 读书主题/b2b平台是什么意思啊

遍历是访问树的所有节点的过程&#xff0c;也可以打印它们的值。因为所有节点都通过边(链接)连接&#xff0c;所以我们始终从根(头)节点开始。也就是说&#xff0c;我们不能随机访问树中的一个节点。我们用三种方式来遍历一棵树按顺序遍历预购遍历后序遍历按顺序遍历在这种遍历…...

成都网站制作汕头/seo比较好的公司

数据结构实验之栈与队列五&#xff1a;下一较大值&#xff08;一&#xff09; Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 对于包含n&#xff08;1<n<1000&#xff09;个整数的序列&#xff0c;对于序列中的每一元素…...

南通网站托管/seo导航站

包括对缺陷的跟踪管理。测试管理工具能让测试人员、开发人员或其他的IT人员 通过一个中央数据仓库&#xff0c;在不同地方就能交互信息。4. 测试环境4.1. 硬件环境1> 处理器&#xff1a;Intel Pentium 166 MX 或更高 2> 内存&#xff1a;32MB 以上 3> 硬盘空间&#x…...

江油网站制作/百度指数搜索指数的数据来源

相信大家也能感受到&#xff0c;其实用多线程是很麻烦的&#xff0c;包括线程的创建、销毁和调度等等&#xff0c;而且我们平时工作时好像也并没有这样来 new 一个线程&#xff0c;其实是因为很多框架的底层都用到了线程池。线程池是帮助我们管理线程的工具&#xff0c;它维护了…...

网站开发的热门博客/网络营销案例题

1. 问题描述&#xff1a; 给你二叉树的根节点 root 和一个整数 distance 。 如果二叉树中两个叶节点之间的最短路径长度小于或者等于 distance &#xff0c;那它们就可以构成一组好叶子节点对 。 返回树中好叶子节点对的数量 。 示例 1&#xff1a; 输入&#xff1a;root [1…...