Linux 终端操作命令(2)内部命令

news2024/10/7 0:10:58

18647a9c4d804f0eacedc1984bee2940.png

Linux 终端操作命令

也称Shell命令,是用户与操作系统内核进行交互的命令解释器,它接收用户输入的命令并将其传递给操作系统进行执行,可分为内部命令和外部命令。内部命令是Shell程序的一部分,而外部命令是独立于Shell的可执行程序。

内部命令

内部命令,实际上是shell程序的一部分,由shell程序识别并在shell程序内部完成运行,通常在Linux系统加载运行时shell就被加载并驻留在系统内存中。内部命令是写在bash源码里面的,因为解析内部命令shell不需要创建子进程,其执行速度比外部命令快。比如:alias, break, cd, echo, exit, pwd 等。

外部命令

外部命令是bash shell之外的程序,也并不是shell的一部分。外部命令位于/bin,/sbin, /usr/bin 或 /usr/sbin 等系统目录中。外部命令是Linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell程序控制的。比如: awk, grep, ping,tar, vi 等。 除Linux系统自带的外部命令,通常需要安装对应的程序包才能使用,内部命令之外的所有可执行程序都可以被认作为外部命令。

内外部命令区别

内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。

外部命令是系统的软件功能,用户需要时才从硬盘中读入内存,执行速度比内部命令慢。

内部命令列表

help命令可以列出所有内部命令:

hann@HannYang:~$ help
GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)
These shell commands are defined internally.  Type `help' to see this list.
Type `help name' to find out more about the function `name'.
Use `info bash' to find out more about the shell in general.
Use `man -k' or `info' to find out more about commands not in this list.

A star (*) next to a name means that the command is disabled.

 job_spec [&]                                                history [-c] [-d offset] [n] or history -anrw [filename]>
 (( expression ))                                            if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMAN>
 . filename [arguments]                                      jobs [-lnprs] [jobspec ...] or jobs -x command [args]
 :                                                           kill [-s sigspec | -n signum | -sigspec] pid | jobspec .>
 [ arg... ]                                                  let arg [arg ...]
 [[ expression ]]                                            local [option] name[=value] ...
 alias [-p] [name[=value] ... ]                              logout [n]
 bg [job_spec ...]                                           mapfile [-d delim] [-n count] [-O origin] [-s count] [-t>
 bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u >  popd [-n] [+N | -N]
 break [n]                                                   printf [-v var] format [arguments]
 builtin [shell-builtin [arg ...]]                           pushd [-n] [+N | -N | dir]
 caller [expr]                                               pwd [-LP]
 case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esa>  read [-ers] [-a array] [-d delim] [-i text] [-n nchars] >
 cd [-L|[-P [-e]] [-@]] [dir]                                readarray [-d delim] [-n count] [-O origin] [-s count] [>
 command [-pVv] command [arg ...]                            readonly [-aAf] [name[=value] ...] or readonly -p
 compgen [-abcdefgjksuv] [-o option] [-A action] [-G globp>  return [n]
 complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A act>  select NAME [in WORDS ... ;] do COMMANDS; done
 compopt [-o|+o option] [-DEI] [name ...]                    set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
 continue [n]                                                shift [n]
 coproc [NAME] command [redirections]                        shopt [-pqsu] [-o] [optname ...]
 declare [-aAfFgilnrtux] [-p] [name[=value] ...]             source filename [arguments]
 dirs [-clpv] [+N] [-N]                                      suspend [-f]
 disown [-h] [-ar] [jobspec ... | pid ...]                   test [expr]
 echo [-neE] [arg ...]                                       time [-p] pipeline
 enable [-a] [-dnps] [-f filename] [name ...]                times
 eval [arg ...]                                              trap [-lp] [[arg] signal_spec ...]
 exec [-cl] [-a name] [command [arguments ...]] [redirecti>  true
 exit [n]                                                    type [-afptP] name [name ...]
 export [-fn] [name[=value] ...] or export -p                typeset [-aAfFgilnrtux] [-p] name[=value] ...
 false                                                       ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]
 fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [c>  umask [-p] [-S] [mode]
 fg [job_spec]                                               unalias [-a] name [name ...]
 for NAME [in WORDS ... ] ; do COMMANDS; done                unset [-f] [-v] [-n] [name ...]
 for (( exp1; exp2; exp3 )); do COMMANDS; done               until COMMANDS; do COMMANDS; done
 function name { COMMANDS ; } or name () { COMMANDS ; }      variables - Names and meanings of some shell variables
 getopts optstring name [arg]                                wait [-fn] [id ...]
 hash [-lr] [-p pathname] [-dt] [name ...]                   while COMMANDS; do COMMANDS; done
 help [-dms] [pattern ...]                                   { COMMANDS ; }

通过整理以上内容,得到 68 个命令、函数、变量以及控制指令:

1aliasalias [-p] [name[=value] ... ]
2bgbg [job_spec ...]
3bindbind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u >
4breakbreak [n]
5builtinbuiltin [shell-builtin [arg ...]]
6callercaller [expr]
7casecase WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esa>
8cdcd [-L|[-P [-e]] [-@]] [dir]
9commandcommand [-pVv] command [arg ...]
10compgencompgen [-abcdefgjksuv] [-o option] [-A action] [-G globp>
11completecomplete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A act>
12compoptcompopt [-o|+o option] [-DEI] [name ...]
13continuecontinue [n]
14coproccoproc [NAME] command [redirections]
15declaredeclare [-aAfFgilnrtux] [-p] [name[=value] ...]
16dirsdirs [-clpv] [+N] [-N]
17disowndisown [-h] [-ar] [jobspec ... | pid ...]
18echoecho [-neE] [arg ...]
19enableenable [-a] [-dnps] [-f filename] [name ...]
20evaleval [arg ...]
21execexec [-cl] [-a name] [command [arguments ...]] [redirecti>
22exitexit [n]
23exportexport [-fn] [name[=value] ...] or export -p
24falsefalse
25fcfc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [c>
26fgfg [job_spec]
27for

for NAME [in WORDS ... ] ; do COMMANDS; done 

for (( exp1; exp2; exp3 )); do COMMANDS; done

28functionfunction name { COMMANDS ; } or name () { COMMANDS ; }
29getoptsgetopts optstring name [arg]
30hashhash [-lr] [-p pathname] [-dt] [name ...]
31helphelp [-dms] [pattern ...]
32historyhistory [-c] [-d offset] [n] or history -anrw [filename]>
33ifif COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMAN>
34jobsjobs [-lnprs] [jobspec ...] or jobs -x command [args]
35killkill [-s sigspec | -n signum | -sigspec] pid | jobspec .>
36letlet arg [arg ...]
37locallocal [option] name[=value] ...
38logoutlogout [n]
39mapfilemapfile [-d delim] [-n count] [-O origin] [-s count] [-t>
40popdpopd [-n] [+N | -N]
41printfprintf [-v var] format [arguments]
42pushdpushd [-n] [+N | -N | dir]
43pwdpwd [-LP]
44readread [-ers] [-a array] [-d delim] [-i text] [-n nchars] >
45readarrayreadarray [-d delim] [-n count] [-O origin] [-s count] [>
46readonlyreadonly [-aAf] [name[=value] ...] or readonly -p
47returnreturn [n]
48selectselect NAME [in WORDS ... ;] do COMMANDS; done
49setset [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
50shiftshift [n]
51shoptshopt [-pqsu] [-o] [optname ...]
52sourcesource filename [arguments]
53suspendsuspend [-f]
54testtest [expr]
55timetime [-p] pipeline
56timestimes
57traptrap [-lp] [[arg] signal_spec ...]
58truetrue
59typetype [-afptP] name [name ...]
60typesettypeset [-aAfFgilnrtux] [-p] name[=value] ...
61ulimitulimit [-SHabcdefiklmnpqrstuvxPT] [limit]
62umaskumask [-p] [-S] [mode]
63unaliasunalias [-a] name [name ...]
64unsetunset [-f] [-v] [-n] [name ...]
65untiluntil COMMANDS; do COMMANDS; done
66variablesvariables - Names and meanings of some shell variables
67waitwait [-fn] [id ...]
68whilewhile COMMANDS; do COMMANDS; done

注意,有些命令格式比较长的都被截短了,如bind, case 等命令最后显示的是 > 字符。

要想个办法,做一个比较完整的内部命令列表:

1. 把上表第2列,写入一个文本文件,比如 list.txt

2. 用vi编写一段shell代码,如 lists.sh

hann@HannYang:~$ cat lists.sh 

#!/bin/bash

# 指定文本文件路径
file_path="list.txt"

# 打开文本文件并遍历每一行
while IFS= read -r line; do
  # 获取帮助信息并输出
  help -s "$line"  >> commands.txt
done < "$file_path"

echo "done!"

3. 执行,遍历list.txt列出完整命令格式,写入列表文件 commands.txt

hann@HannYang:~$ bash lists.sh

4. 列出所有命令格式

hann@HannYang:~$ cat -n commands.txt
     1  alias: alias [-p] [name[=value] ... ]
     2  bg: bg [job_spec ...]
     3  bind: bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]
     4  break: break [n]
     5  builtin: builtin [shell-builtin [arg ...]]
     6  caller: caller [expr]
     7  case: case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac
     8  cd: cd [-L|[-P [-e]] [-@]] [dir]
     9  command: command [-pVv] command [arg ...]
    10  compgen: compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]
    11  complete: complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]
    12  compopt: compopt [-o|+o option] [-DEI] [name ...]
    13  continue: continue [n]
    14  coproc: coproc [NAME] command [redirections]
    15  declare: declare [-aAfFgilnrtux] [-p] [name[=value] ...]
    16  dirs: dirs [-clpv] [+N] [-N]
    17  disown: disown [-h] [-ar] [jobspec ... | pid ...]
    18  echo: echo [-neE] [arg ...]
    19  enable: enable [-a] [-dnps] [-f filename] [name ...]
    20  eval: eval [arg ...]
    21  exec: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]
    22  exit: exit [n]
    23  export: export [-fn] [name[=value] ...] or export -p
    24  false: false
    25  fc: fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]
    26  fg: fg [job_spec]
    27  for: for NAME [in WORDS ... ] ; do COMMANDS; done
    28  function: function name { COMMANDS ; } or name () { COMMANDS ; }
    29  getopts: getopts optstring name [arg]
    30  hash: hash [-lr] [-p pathname] [-dt] [name ...]
    31  help: help [-dms] [pattern ...]
    32  history: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]
    33  if: if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi
    34  jobs: jobs [-lnprs] [jobspec ...] or jobs -x command [args]
    35  kill: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
    36  let: let arg [arg ...]
    37  local: local [option] name[=value] ...
    38  logout: logout [n]
    39  mapfile: mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]
    40  popd: popd [-n] [+N | -N]
    41  printf: printf [-v var] format [arguments]
    42  pushd: pushd [-n] [+N | -N | dir]
    43  pwd: pwd [-LP]
    44  read: read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]
    45  readarray: readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]
    46  readonly: readonly [-aAf] [name[=value] ...] or readonly -p
    47  return: return [n]
    48  select: select NAME [in WORDS ... ;] do COMMANDS; done
    49  set: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
    50  shift: shift [n]
    51  shopt: shopt [-pqsu] [-o] [optname ...]
    52  source: source filename [arguments]
    53  suspend: suspend [-f]
    54  test: test [expr]
    55  time: time [-p] pipeline
    56  times: times
    57  trap: trap [-lp] [[arg] signal_spec ...]
    58  true: true
    59  type: type [-afptP] name [name ...]
    60  typeset: typeset [-aAfFgilnrtux] [-p] name[=value] ...
    61  ulimit: ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]
    62  umask: umask [-p] [-S] [mode]
    63  unalias: unalias [-a] name [name ...]
    64  unset: unset [-f] [-v] [-n] [name ...]
    65  until: until COMMANDS; do COMMANDS; done
    66  variables: variables - Names and meanings of some shell variables
    67  wait: wait [-fn] [id ...]
    68  while: while COMMANDS; do COMMANDS; done

同样,代码中help的参数换成-d 就能得到命令的功能简介。

hann@HannYang:~$ cat lists.sh 

#!/bin/bash

# 指定文本文件路径
file_path="list.txt"

rm commands.txt

# 打开文本文件并遍历每一行
while IFS= read -r line; do
  # 获取帮助信息并输出
  help -d "$line"  >> commands.txt
done < "$file_path"

echo "done!"

5. 列出所有命令简介

hann@HannYang:~$ cat -n commands.txt
     1  alias - Define or display aliases.
     2  bg - Move jobs to the background.
     3  bind - Set Readline key bindings and variables.
     4  break - Exit for, while, or until loops.
     5  builtin - Execute shell builtins.
     6  caller - Return the context of the current subroutine call.
     7  case - Execute commands based on pattern matching.
     8  cd - Change the shell working directory.
     9  command - Execute a simple command or display information about commands.
    10  compgen - Display possible completions depending on the options.
    11  complete - Specify how arguments are to be completed by Readline.
    12  compopt - Modify or display completion options.
    13  continue - Resume for, while, or until loops.
    14  coproc - Create a coprocess named NAME.
    15  declare - Set variable values and attributes.
    16  dirs - Display directory stack.
    17  disown - Remove jobs from current shell.
    18  echo - Write arguments to the standard output.
    19  enable - Enable and disable shell builtins.
    20  eval - Execute arguments as a shell command.
    21  exec - Replace the shell with the given command.
    22  exit - Exit the shell.
    23  export - Set export attribute for shell variables.
    24  false - Return an unsuccessful result.
    25  fc - Display or execute commands from the history list.
    26  fg - Move job to the foreground.
    27  for - Execute commands for each member in a list.
    28  function - Define shell function.
    29  getopts - Parse option arguments.
    30  hash - Remember or display program locations.
    31  help - Display information about builtin commands.
    32  history - Display or manipulate the history list.
    33  if - Execute commands based on conditional.
    34  jobs - Display status of jobs.
    35  kill - Send a signal to a job.
    36  let - Evaluate arithmetic expressions.
    37  local - Define local variables.
    38  logout - Exit a login shell.
    39  mapfile - Read lines from the standard input into an indexed array variable.
    40  popd - Remove directories from stack.
    41  printf - Formats and prints ARGUMENTS under control of the FORMAT.
    42  pushd - Add directories to stack.
    43  pwd - Print the name of the current working directory.
    44  read - Read a line from the standard input and split it into fields.
    45  readarray - Read lines from a file into an array variable.
    46  readonly - Mark shell variables as unchangeable.
    47  return - Return from a shell function.
    48  select - Select words from a list and execute commands.
    49  set - Set or unset values of shell options and positional parameters.
    50  shift - Shift positional parameters.
    51  shopt - Set and unset shell options.
    52  source - Execute commands from a file in the current shell.
    53  suspend - Suspend shell execution.
    54  test - Evaluate conditional expression.
    55  time - Report time consumed by pipeline's execution.
    56  times - Display process times.
    57  trap - Trap signals and other events.
    58  true - Return a successful result.
    59  type - Display information about command type.
    60  typeset - Set variable values and attributes.
    61  ulimit - Modify shell resource limits.
    62  umask - Display or set file mode mask.
    63  unalias - Remove each NAME from the list of defined aliases.
    64  unset - Unset values and attributes of shell variables and functions.
    65  until - Execute commands as long as a test does not succeed.
    66  variables - Common shell variable names and usage.
    67  wait - Wait for job completion and return exit status.
    68  while - Execute commands as long as a test succeeds.

简单翻译:

1 alias-定义或显示别名。

2 bg-将作业移到后台。

3 bind-设置Readline键绑定和变量。

4 break-退出循环、while或直到循环。

5 builtin-执行shell内建。

6 caller-返回当前子例程调用的上下文。

7 case-基于模式匹配执行命令。

8 cd-更改shell工作目录。

9 command-执行一个简单的命令或显示有关命令的信息。

10 compgen-根据选项显示可能的完成情况。

11 complete-指定Readline如何完成参数。

12 compopt-修改或显示完成选项。

13 continue-继续循环、while或直到循环。

14 coproc-创建一个名为NAME的协处理器。

15 declare-设置变量值和属性。

16 dirs-显示目录堆栈。

17 disown-从当前shell中删除作业。

18 echo-将参数写入标准输出。

19 enable-启用和禁用shell内置。

20 eval-将参数作为shell命令执行。

21 exec-用给定的命令替换shell。

22 exit-退出外壳。

23 export-为shell变量设置导出属性。

24 false-返回不成功的结果。

25 fc-显示或执行历史列表中的命令。

26 fg-将作业移到前台。

27 for-为列表中的每个成员执行命令。

28 function-定义外壳函数。

29 getopts-分析选项参数。

30 hash-记住或显示程序位置。

31 help-显示有关内置命令的信息。

32 history-显示或操作历史记录列表。

33 if-根据条件执行命令。

34 jobs-显示作业的状态。

35 kill-向工作发出信号。

36 let-评估算术表达式。

37 local-定义局部变量。

38 logout-退出登录shell。

39 mapfile-将标准输入中的行读取到索引数组变量中。

40 popd-从堆栈中删除目录。

41 printf-在FORMAT的控制下格式化和打印参数。

42 pushd-将目录添加到堆栈。

43 pwd-打印当前工作目录的名称。

44 read-从标准输入中读取一行,并将其拆分为字段。

45 readarray-将文件中的行读取到数组变量中。

46 readonly-将shell变量标记为不可更改。

47 return-从shell函数返回。

48 select-从列表中选择单词并执行命令。

49 set-设置或取消设置外壳选项和位置参数的值。

50 shift-移位位置参数。

51 shopt-设置和取消设置外壳选项。

52 source-从当前shell中的文件执行命令。

53 suspend-挂起shell执行。

54 test-评估条件表达式。

55 time-报告管道执行所消耗的时间。

56 times-显示处理时间。

57 trap-陷阱信号和其他事件。

58 true-返回成功的结果。

59 type-显示有关命令类型的信息。

60 typeset-设置变量值和属性。

61 ulimit-修改shell资源限制。

62 umask-显示或设置文件模式掩码。

63 unalias-从定义的别名列表中删除别名。

64 unset-取消设置shell变量和函数的值和属性。

65 until-只要测试不成功,就执行命令。

66 variables-常见的shell变量名称和用法。

67 wait-等待作业完成并返回退出状态。

68 while-循环结构,只要测试为真就执行命令。


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

32 | 全球新冠肺炎确诊病例趋势分析

任务背景 过去一年多的时间,对我们影响最大的事件就是全球新冠肺炎的大流行。新冠肺炎除了对患者带来痛苦之外,对医疗系统也带来了巨大的挑战。许多患者陷入危险的本质原因就是医疗资源的紧张,如果可以根据现有确诊的数据来预测将来可能的确诊数,那政府和医院就能够提前对…

【python可视化】爬取豆瓣电影Top250(附源码)

前言 在网络爬虫的开发过程中&#xff0c;经常会遇到需要处理一些反爬机制的情况。其中之一就是网站对于频繁访问的限制&#xff0c;即IP封禁。为了绕过这种限制&#xff0c;我们可以使用代理IP来动态改变请求的来源IP地址。在本篇博客中&#xff0c;将介绍如何使用代理IP的技术…

【第二阶段】在函数中定义参数是函数的函数

1.理解&#xff1a;在一个函数中有一个参数a,这个参数a又属于一个函数&#xff0c;a即时参数又是函数 2.用kotlin实现登录 /*** You can edit, run, and share this code.* play.kotlinlang.org*/ fun main() {//调用传参//普通参数传入即可,针对在调用函数中的参数函数传入使用…

Leetcode34 在排序数组中查找元素的第一个和最后一个位置

给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&#xff0c;返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 代码&#xff1a; c…

SpringBoot第35讲:SpringBoot集成连接池 - 默认连接池HikariCP

SpringBoot第35讲&#xff1a;SpringBoot集成连接池 - 默认连接池HikariCP 本文是SpringBoot第35讲&#xff0c;主要介绍数据库连接池&#xff0c;以及SpringBoot集成默认的HikariCP的实践。 文章目录 SpringBoot第35讲&#xff1a;SpringBoot集成连接池 - 默认连接池HikariCP1…

【STM32】简介

&#x1f6a9; WRITE IN FRONT &#x1f6a9; &#x1f50e; 介绍&#xff1a;"謓泽"正在路上朝着"攻城狮"方向"前进四" &#x1f50e;&#x1f3c5; 荣誉&#xff1a;2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2022博客之星T…

Exploiting Proximity-Aware Tasks for Embodied Social Navigation 论文阅读

论文信息 题目&#xff1a;Exploiting Proximity-Aware Tasks for Embodied Social Navigation 作者&#xff1a;Enrico Cancelli&#xff0c; Tommaso Campari 来源&#xff1a;arXiv 时间&#xff1a;2023 Abstract 学习如何在封闭且空间受限的室内环境中在人类之间导航&a…

StarGANv2: Diverse Image Synthesis for Multiple Domains论文解读及实现

StarGAN v2: Diverse Image Synthesis for Multiple Domainsp github:https://github.com/clovaai/stargan-v2 0 小结 0.1 模型 4个 模型四个&#xff1a; Generator&#xff1a; G网络 输入图片x&#xff0c;和风格编码s&#xff08;可以是F网络或者E网络生成的s&#xff…

LeetCode 778. Swim in Rising Water【最小瓶颈路;二分+BFS或DFS;计数排序+并查集;最小生成树】2096

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

城市最短路

题目描述 下图表示的是从城市A到城市H的交通图。从图中可以看出&#xff0c;从城市A到城市H要经过若干个城市。现要找出一条经过城市最少的一条路线。 输入输出格式 输入格式&#xff1a; 无 输出格式&#xff1a; 倒序输出经过城市最少的一条路线 输入输出样例 输入样例…

【LeetCode75】第二十七题(933)最近的请求次数

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码运行结果&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 首先这是LeetCode75里第一道设计类的题目&#xff0c;这种类型的题目会比较新颖&#xff0c;就是按照题目要求来设计一个类。然后…

GIL 锁或将在 CPython 中成为可选项

哈喽大家好&#xff0c;我是咸鱼 几天前有媒体报道称&#xff0c;经过多次辩论&#xff0c;Python 指导委员会打算批准通过 PEP 703 提案&#xff0c;让 GIL&#xff08;全局解释器&#xff09;锁在 CPython 中成为一个可选项 PEP 703 提案主要目标是使 GIL 变成可选项&#…

二叉树的讲解

&#x1f493;博主个人主页:不是笨小孩&#x1f440; ⏩专栏分类:数据结构与算法&#x1f440; 刷题专栏&#x1f440; C语言&#x1f440; &#x1f69a;代码仓库:笨小孩的代码库&#x1f440; ⏩社区&#xff1a;不是笨小孩&#x1f440; &#x1f339;欢迎大家三连关注&…

定义行业新标准?谷歌:折叠屏手机可承受20万次折叠

根据Patreon账户上的消息&#xff0c;Android专家Mishaal Rahman透露&#xff0c;谷歌计划推出新的硬件质量标准&#xff0c;以满足可折叠手机市场的需求。Android原始设备制造商&#xff08;OEM&#xff09;将需要完成谷歌提供的问卷调查&#xff0c;并提交样品设备进行严格审…

读书笔记 |【项目思维与管理】➾ 顺势而动

读书笔记 |【项目思维与管理】➾ 顺势而动 一、企业步入“终结者时代”二、过去成功的经验也许是最可怕的三、做好非重复性的事四、适应客户是出发点五、向知识型企业转变六、速度是决胜条件 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; …

【C++ 学习 ⑬】- 详解 list 容器

目录 一、list 容器的基本介绍 二、list 容器的成员函数 2.1 - 迭代器 2.2 - 修改操作 三、list 的模拟实现 3.1 - list.h 3.2 - 详解 list 容器的迭代器 3.2 - test.cpp 一、list 容器的基本介绍 list 容器以类模板 list<T>&#xff08;T 为存储元素的类型&…

ruoyi-vue-v3.8.6-搭建

一、准备工作 环境&#xff1a; win10、MySQL8、JDKjdk1.8.0_311 redis6.2.6 IDEA 2022.3.3 maven3.9 Node v18.14.2 npm 9.5.0 版本&#xff1a; 若依框架官方文档&#xff1a;http://doc.ruoyi.vip/ 官网导航&#xff1a;http://120.79.202.7/ 若依项目地址&#xff…

将数组(矩阵)旋转根据指定的旋转角度scipy库的rotate方法

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将数组(矩阵)旋转 根据指定的旋转角度 scipy库的rotate方法 关于下列代码说法正确的是&#xff1f; import numpy as np from scipy.ndimage import rotate a np.array([[1,2,3,4], …

腾讯云服务器竞价实例是什么?适用于什么行业?有啥优惠?

腾讯云服务器CVM计费模式分为包年包月、按量计费和竞价实例&#xff0c;什么是竞价实例&#xff1f;竞价实例和按量付费相类似&#xff0c;优势是价格更划算&#xff0c;缺点是云服务器实例有被自动释放风险&#xff0c;腾讯云服务器网来详细说下什么是竞价实例&#xff1f;以及…

八、解析应用程序——分析应用程序(1)

文章目录 一、确定用户输入入口点1.1 URL文件路径1.2 请求参数1.3 HTTP消息头1.4 带外通道 二、确定服务端技术2.1 提取版本信息2.2 HTTP指纹识别2.3 文件拓展名2.4 目录名称2.5 会话令牌2.6 第三方代码组件 小结 枚举尽可能多的应用程序内容只是解析过程的一个方面。分析应用程…