Linux研学-入门命令

article/2025/7/23 1:35:30

一 目录介绍

1 介绍

  Linux与Windows在目录结构组织上差异显著:Linux采用树型目录结构,以单一根目录/为起点,所有文件和子目录由此向下延伸形成层级体系,功能明确的目录各司其职,使文件系统层次清晰、逻辑连贯,便于统一管理与维护。

  而Windows以C盘、D盘、E盘等盘符为基础构建文件系统,不同盘符下的文件系统相互独立,文件分散存储需用户在不同盘符间切换访问,这种设计在早期有一定便利性,但随着存储需求变化,其管理分散、操作繁琐且不利于整体规划的弊端逐渐凸显。

2 路径层级关系

  在Linux系统中,路径之间的层级关系,使用/来表示(/usr/local/hi.txt,其中开头的/表示根目录,后面的/表示层级关系);
  在Windows系统中,路径之间的层级关系,使用\来表示(E:\Kingsoft\Git)

3 HOME目录和工作目录

  HOME目录:HOME目录是每个Linux用户在系统中的个人账户目录。路径通常为/home/用户名,例如,用户dahuang的HOME目录是/home/dahuang。HOME目录是用户存放个人文件、配置文件等的地方。

  工作目录:工作目录是用户当前所在的目录,也是命令行终端中默认操作的目录。当用户在命令行终端中直接输入ls命令时,列出的是当前工作目录下的内容。在命令行终端启动时,默认会将当前登录用户的HOME目录作为当前工作目录。

二 入门命令

1 介绍

  命令行(Terminal):命令行是Linux的纯字符交互界面,用户通过输入文本命令与系统交互。它高效灵活,支持复杂操作,且可通过脚本自动化执行任务,适合熟悉命令及系统管理、批量处理等场景。

  命令(Linux程序):在Linux中,命令即无图形界面的可执行程序,用户通过命令行调用以执行特定功能。

2 Linux命令基础格式

# command 命令本身,表示要执行的操作。
# options 可选部分,用于控制命令的行为细节。通常以短横线 `-` 开头,可以是一个或多个字母的组合。
# parameter 可选部分,命令的参数,通常用于指定命令操作的目标或范围。
command [-options] [parameter]
# 例子
# 命令,用于列出目录内容;选项,表示以长格式显示详细信息;参数,指定要列出内容的目录。
ls -l /home/bjtj# 将文件夹 tj1 及其内容复制为 tj2 
cp -r tj1 tj2

3 ls 命令 – 命令用于列出目录下的内容

  ① 语法:列出目录下的内容

# -a 列出所有文件和目录,包括隐藏文件。
# -l 以长格式显示详细信息。
# -h 以人类可读的格式显示文件大小。
# Linux路径 指定要列出内容的目录路径。如果不指定,默认列出当前工作目录下的内容。
ls [-a -l -h] [Linux路径]

  ② 例子:直接使用 ls会以平铺形式列出当前工作目录下的内容。选项可以组合使用如-l -a,-al

[root@localhost ~]# ls
anaconda-ks.cfg  app  bin  logs  mkdir  nacos  nohup.out  software  store  touch
[root@localhost ~]# ls /
aa.txt  boot  etc   lib    mao2   mnt     opt   root  sbin  sys  usr
bin     dev   home  lib64  media  mydata  proc  run   srv   tmp  var
# 只要文件或文件夹的名称以点开头,它们就会在文件管理器或使用默认的 ls 命令时自动隐藏。
[root@localhost ~]# ls -a
.                .bash_history  bin      .mao1.txt.swp   nacos              software  .viminfo
..               .bash_logout   .cshrc   .mao5.txt.swp   nohup.out          store
anaconda-ks.cfg  .bash_profile  .docker  mkdir           .oracle_jre_usage  .tcshrc
app              .bashrc        logs     .mysql_history  .pki               touch
[root@localhost ~]# ls -l
total 4360
-rw-------. 1 root root    1203 Jul 28  2023 anaconda-ks.cfg
drwxr-xr-x. 2 root root      89 Aug 10  2023 app
drwxr-xr-x. 2 root root      92 Aug 10  2023 bin
drwxr-xr-x. 6 root root      71 Aug 25  2023 logs
-rw-r--r--  1 root root       0 Oct 24  2023 mkdir
drwxr-xr-x. 3 root root      20 Aug 25  2023 nacos
-rw-------. 1 root root 4405717 Aug 25  2023 nohup.out
drwxr-xr-x. 4 root root     242 Aug 25  2023 software
drwxr-xr-x. 6 root root     113 Aug 25  2023 store
-rw-r--r--  1 root root       0 Oct 24  2023 touch
# h要与l一起使用,单独使用无效果
[root@localhost ~]# ls -lh
total 4.3M
-rw-------. 1 root root 1.2K Jul 28  2023 anaconda-ks.cfg
drwxr-xr-x. 2 root root   89 Aug 10  2023 app
drwxr-xr-x. 2 root root   92 Aug 10  2023 bin
drwxr-xr-x. 6 root root   71 Aug 25  2023 logs
-rw-r--r--  1 root root    0 Oct 24  2023 mkdir
drwxr-xr-x. 3 root root   20 Aug 25  2023 nacos
-rw-------. 1 root root 4.3M Aug 25  2023 nohup.out
drwxr-xr-x. 4 root root  242 Aug 25  2023 software
drwxr-xr-x. 6 root root  113 Aug 25  2023 store
-rw-r--r--  1 root root    0 Oct 24  2023 touch

4 cd 命令 – 切换工作目录

  ① 语法:如果直接执行 cd 命令而不写参数,表示回到用户的 HOME 目录

# cd 命令只有参数 不需选项
cd [Linux路径]

  ② 例子

[root@localhost ~]# cd /
[root@localhost /]# ls
aa.txt  boot  etc   lib    mao2   mnt     opt   root  sbin  sys  usr
bin     dev   home  lib64  media  mydata  proc  run   srv   tmp  var

  ③ 注意:在Linux中,路径通常使用正斜杠/作为分隔符,如果指定的路径不存在或用户没有访问权限,cd 命令会报错。而路径又分为相对路径与绝对路径:

  绝对路径:从根目录/开始的完整路径,例如 /home/dahuangdir
  相对路径:相对于当前工作目录的路径,例如 ../表示上一级目录,./ 表示当前目录(通常可以省略)。

# 切换到上一级目录
cd ..# 切换到指定子目录
cd Documents# 切换到绝对路径指定的目录
cd /var/log# 切换到当前用户的 HOME 目录
cd ~

5 pwd 命令 – 查看当前工作目录

  ① 语法:没有选项,也没有参数,直接输入 pwd 即可执行。

pwd

  ② 例子

# 进入bin目录,查看当前工作目录
[root@localhost /]# cd bin
[root@localhost bin]# pwd
/bin

6 mkdir 命令 – 创建新目录

  ① 语法:创建新目录(文件夹)的命令

#参数 Linux路径是必填项,表示要创建的目录的路径。这个路径可以是相对路径,也可以是绝对路径。
#选项 -p 这是一个可选选项,表示自动创建不存在的父目录。这对于创建连续多层级的目录非常有用。
mkdir [-p] Linux路径

  ② 例子:如果指定的目录已经存在,mkdir 命令会报错,提示目录已存在。使用 -p 选项时,如果父目录已经存在,mkdir 命令不会报错,而是继续创建剩余的目录。在创建目录时,确保你有足够的权限在指定的路径下创建目录。

[root@localhost games]# mkdir -p /usr/games/Projects/new_project/src
[root@localhost games]# ls
Projects
[root@localhost games]# cd Projects/
[root@localhost Projects]# ls
new_project
[root@localhost Projects]# cd new_project/
[root@localhost new_project]# ls
src

7 touch 命令 – 创建文件

  ① 语法:主要用于更新文件的访问和修改时间,但它也可以用于创建一个新的空文件。当指定的文件不存在时,touch 命令会创建一个新的空文件。

# 参数 Linux路径 是必填项,表示要创建或更新的文件的路径。这个路径可以是相对路径,也可以是绝对路径
# 选项 touch 命令通常没有用于创建文件的选项(尽管它有一些用于修改文件时间戳的选项,但在创建文件时通常不需要使用)
touch Linux路径

  ② 例子:ls -l,第一个字母显示d表示文件夹,-表示文件

[root@localhost games]# ls
Projects
[root@localhost games]# touch test.txt
[root@localhost games]# ls -l
total 0
drwxr-xr-x 3 root root 25 May 20 15:19 Projects
-rw-r--r-- 1 root root  0 May 20 15:32 test.txt

8 cat 命令 – 查看文件内容

  ① 语法:查看文件内容的常用命令

cat Linux路径

  ② 例子:

[root@localhost games]# cat test.txt 
hello

9 more 命令 – 查看文件内容

  ① 语法:与 cat 命令不同,more 命令支持分页显示文件内容,这对于查看大文件特别有用。

more Linux路径

  ② 例子:

[root@localhost ~]# more /etc/services

  ③注意:执行上述命令后,more 命令会开始显示文件的内容,但不会一次性显示全部内容。当文件内容填满一屏时,more 命令会暂停,并显示一个提示(通常是 --More-- 或类似的提示)。此时可以使用以下按键来控制查看:

  • 空格键:向下翻一页。
  • 回车键:向下滚动一行。
  • b:向上翻一页(如果支持的话,有些版本的 more 可能不支持这个功能)。
  • q:退出 more 命令,不再查看文件内容。

10 cp 命令 – 复制文件或文件夹

  ① 语法:用于复制文件或文件夹的基本命令

# 选项 -r:这是一个可选选项,用于递归复制文件夹及其内容。如果你要复制的是文件夹而不是文件,必须使用 -r 选项。
# 参数1 Linux路径,表示被复制的文件或文件夹的路径。
# 参数2 Linux路径,表示要复制到的目标路径。
cp [-r] 参数1 参数2

  ② 例子:

# 文件
[root@localhost games]# cp test.txt test2.txt
[root@localhost games]# ls
Projects  test2.txt  test.txt# 文件夹
[root@localhost games]# cp -r Projects Projects2
[root@localhost games]# ls
Projects  Projects2  test2.txt  test.txt

11 mv – 命令移动文件或文件夹

  ① 语法:将文件或文件夹从一个位置移动到另一个位置,或者在同一目录下更改其名称

#参数1:Linux路径,表示被移动的文件或文件夹的路径。
#参数2:Linux路径,表示要移动到的目标路径。目标路径不存在的话,则 mv 命令会将源文件或文件夹重命名为目标名称。
mv 参数1 参数2

  ② 例子:

# 改名
[root@localhost games]# mv test.txt test3.txt
[root@localhost games]# ls
Projects  Projects2  test2.txt  test3.txt# 移动文件
[root@localhost games]# mv test2.txt Projects
[root@localhost games]# ls
Projects  Projects2  test3.txt
[root@localhost games]# cd Projects
[root@localhost Projects]# ls
new_project  test2.txt

12 rm – 命令删除文件或文件夹

  ① 语法:删除文件或文件夹的基本命令

# -r 用于递归删除文件夹及其所有内容。如果你要删除的是文件夹而不是文件,必须使用 -r 选项。
# -f 表示强制删除,不会弹出提示确认信息
# 参数1、参数2、……、参数N 表示要删除的文件或文件夹的路径,多个参数之间用空格隔开。
rm [-r -f] 参数1 参数2 ... 参数N

  ② 例子:

# 删除文件
[root@localhost games]# rm test3.txt 
rm: remove regular file ?.est3.txt?. y
[root@localhost games]# ls
Projects  Projects2# 删除文件夹,不存在的参数不影响其他文件删除
[root@localhost games]# rm -r Projects Projects2 test3.txt
rm: cannot remove ?.est3.txt?. No such file or directory
[root@localhost games]# ls
[root@localhost games]# 

  ③ 搭配通配符使用,通配符 * 可以匹配任意字符序列,包括空字符。

test* 匹配任何以 "test" 开头的文件或文件夹。
*test 匹配任何以 "test" 结尾的文件或文件夹。
*test* 匹配任何包含 "test" 的文件或文件夹。
[root@localhost games]# touch test1 test2 test3
[root@localhost games]# ls
test1  test2  test3
[root@localhost games]# rm -r *est*
[root@localhost games]# ls
[root@localhost games]# 

13 which 命令 – 查找并显示给定命令的完整路径

  ① 语法:在 Linux 系统中,我们使用的命令(如 cd、pwd、touch、mkdir、cp、mv 等)实际上都是存储在文件系统中的二进制可执行程序,类似于 Windows 系统中的 .exe 文件。which 命令帮助我们确定这些程序文件的确切位置。

which 要查找的命令

  ② 例子:

# 查找cd命令
[root@localhost ~]# which cd
/usr/bin/cd

14 find 命令 – 按文件名,文件大小查找文件

  ① 语法:可用通配符,根据文件名、类型、大小、时间戳等多种条件搜索文件和目录

# 起始路径:这是搜索开始的目录路径。如果你想从当前目录开始搜索,可以使用 . 作为起始路径。
# -name "被查找文件名":这是用于指定文件名的表达式。你可以使用通配符来匹配文件名模式。
find 起始路径 -name "被查找文件名"

  find 命令不仅可以根据文件名查找文件,还可以根据文件的大小进行搜索。这对于查找大文件或小文件非常有用,尤其是在需要清理磁盘空间或管理存储时。

# [+-]n[kMG]:用于指定文件大小。
# + 表示大于指定大小。
# - 表示小于指定大小。
# n 是大小数字。
# k 表示千字节(KB),M 表示兆字节(MB),G 表示千兆字节(GB)。
find 起始路径 -size [+-]n[kMG]

  ② 例子:

# 在当前目录及其子目录中查找名为 test1 的文件
[root@localhost ~]# find . -name "test1"
./test1# 在根目录及其子目录中查找名为 test1 的文件(使用通配符)
[root@localhost ~]# find / -name "tes*1"
/root/test1
# 在根目录及其子目录中查找大于 1GB 的文件(这个是虚拟文件)
[root@localhost ~]# find / -size +1G
/proc/kcore
[root@localhost ~]# ls -lh /proc/kcore 
-r-------- 1 root root 128T May 21 10:33 /proc/kcore

15 grep 命令 – 文件中通过关键字过滤文件行

  ① 语法:需要确保文件已经创建并包含你想要过滤的内容,

# -n:在结果中显示匹配行的行号
# 关键字 要过滤的文本,如果包含空格或特殊字符,建议用双引号包围。
# 文件路径 要过滤内容的文件路径。
grep [-n] 关键字 文件路径

  ② 例子:

# 创建文件并输入内容
[root@localhost games]# touch test.txt
[root@localhost games]# vim test.txt 
[root@localhost games]# cat test.txt 
dahuang play linux
xiaohuang play java# 进行过滤,得到文件行
[root@localhost games]# grep "play" test.txt 
dahuang play linux
xiaohuang play java
[root@localhost games]# grep -n "linux" test.txt 
1:dahuang play linux

16 wc 命令 – 统计文件内容

  ① 语法:用来统计文件的行数、单词数、字符数和字节数

# -c:统计文件的字节数。
# -m:统计文件的字符数。
# -l:统计文件的行数。
# -w:统计文件的单词数。
wc [选项] [文件路径]

  ② 例子:

# 行数 单词书(按空格划分) 字节数 文件
[root@localhost games]# wc test.txt 2  6 39 test.txt

17 管道符 |

  ① 语法:将左侧命令的标准输出作为右侧命令的标准输入

# -c:统计文件的字节数。
# -m:统计文件的字符数。
# -l:统计文件的行数。
# -w:统计文件的单词数。
wc [选项] [文件路径]

  ② 例子:

# cat 命令输出文件内容,通过管道符 | 将内容传递给 grep 命令进行过滤。
[root@localhost games]# cat test.txt | grep "linux"
dahuang play linux# 列出当前目录下的文件和目录,通过管道符 | 将 ls 命令的输出传递给 grep 命令进行过滤
[root@localhost ~]# ls
anaconda-ks.cfg  bin   mkdir  nohup.out  store
app              logs  nacos  software   touch
[root@localhost ~]# ls | grep bin
bin# 统计有多少文件
[root@localhost ~]# ls | wc -l
10# 嵌套使用
[root@localhost games]# cat test.txt | grep "play" | grep "dahuang"
dahuang play linux

18 echo 命令与特殊符号 – 终端输出指定的文本内容

  ① 语法:通常用于脚本中显示信息或进行简单的调试。

# 通常不需要选项
# 内容包含空格或特殊字符(如 \),建议用双引号包围
echo [选项] [要输出的内容]

  ② 例子:

[root@localhost games]# echo "Hello Linux"
Hello Linux

  ③ 反引号 ` (飘号):其中的内容会被当作命令执行

[root@localhost games]# echo pwd
pwd
[root@localhost games]# echo `pwd`
/usr/games

  ④ 重定向符>:用于将命令的输出覆盖写入到指定的文件中。如果文件已经存在,文件中的原有内容将被删除,新的内容将覆盖原有内容。

[root@localhost games]# cat test.txt 
dahuang play linux
xiaohuang play java
[root@localhost games]# echo "Hello Linux" > test.txt 
[root@localhost games]# cat test.txt 
Hello Linux

  ⑤ 重定向符>>:将命令的输出追加写入到指定的文件中。如果文件已经存在,新的内容将被添加到文件的末尾,而不会删除原有内容。

[root@localhost games]# cat test.txt 
Hello Linux
[root@localhost games]# echo "Play Linux" >> test.txt 
[root@localhost games]# cat test.txt 
Hello Linux
Play Linux[root@localhost games]# ls > test.txt 
[root@localhost games]# ls
test.txt
[root@localhost games]# cat test.txt 
test.txt

19 tail 命令 – 查看文件尾部内容

  ① 语法:用于查看日志文件的最新内容,或者跟踪文件的实时更新。

# -f 持续跟踪文件的最新内容,通常用于实时监控日志文件的更新。
# -num(数字) 指定查看文件尾部的行数,默认情况下,tail 命令显示文件的最后 10 行
tail [-f -num] Linux路径

  ② 例子:

# 看5行
[root@localhost games]# cat test.txt 
7
8
9
10
11
12
13
14
15
16
[root@localhost games]# tail -5 test.txt 
12
13
14
15
16# -f tail 命令会一直运行,直到停止(通常按 Ctrl + C)。持续关注
[root@localhost games]# tail -f test.txt 
7
8
9
10
11
12
13
14
15
16

三 vim编辑器

  Vim/Vi 编辑器是一种功能强大且广泛使用的文本编辑器,它具有三种主要的工作模式:命令模式、输入模式和底线命令模式。

1 命令模式

  ① 介绍:在命令模式下,用户输入的按键被解释为命令,而不是文本内容。用于执行导航、复制、粘贴、删除、撤销等操作。不能直接编辑文本内容。

  ② 进入方式:启动 Vim 时默认处于命令模式。从其他模式(输入模式或底线命令模式)按 ESC 键返回命令模式。

  ③ 常用命令

`h``j``k``l`:向左、下、上、右移动光标。
`x`:删除光标下的字符。
`dd`:删除整行。
`yy`:复制整行。
`p`:粘贴。
`u`:撤销。

2 输入模式

  ① 介绍:在输入模式下,用户可以自由编辑文本内容。类似于其他文本编辑器的普通编辑模式。

  ② 进入方式:在命令模式下,按以下按键之一进入输入模式:

`i`:在光标前插入文本。
`a`:在光标后插入文本。
`o`:在当前行下方插入新行并进入输入模式。
`I`:在行首插入文本。
`A`:在行尾插入文本。
`O`:在当前行上方插入新行并进入输入模式。

  ③ 退出方式:按 ESC 键返回命令模式。

3 底线命令模式

  ① 介绍:底线命令模式用于执行保存文件、退出编辑器、查找替换等高级操作。以冒号 : 开头,输入命令后按回车执行。

  ② 进入方式:在命令模式下,按 : 键进入底线命令模式。

  ③ 常用命令

`:w`:保存文件。
`:q`:退出 Vim(如果文件未修改或已保存)。
`:wq``:x`:保存并退出。
`:q!`:强制退出,不保存更改。

4 模式切换总结

  • 命令模式 → 输入模式

    • iaoIAO
  • 输入模式 → 命令模式

    • ESC 键。
  • 命令模式 → 底线命令模式

    • : 键。
  • 底线命令模式 → 命令模式

    • 按回车执行命令后,返回命令模式或退出vim编辑器。

5 例子

  ① 进入命令模式 – 默认

# 如果文件路径表示的文件不存在,则创建并编辑新文件,存在,则编辑已有文件
[root@localhost games]# vim hello.txt

在这里插入图片描述
  ② 进入输入模式 – I键
在这里插入图片描述
  ③ 回到命令模式 – Esc键,此时可以通过快捷键进行操作,如/er进行搜索
在这里插入图片描述
  ④ 进入底线命令模式 – 键,通过:wq回车保存退出
在这里插入图片描述


http://www.hkcw.cn/article/YnTsViZXoh.shtml

相关文章

GSR 手环能耗数据实测:STM32 与 SD NAND 的功耗优化成果

文章目录 卓越性能强化安全高效能效图形处理优势丰富集成特性模拟模块实时监控保障数据完整性提升安全性与可靠性测量原理采样率相关 在智能皮电手环及数据存储技术不断迭代的当下,主控 MCU STM32H750 与存储 SD NAND MKDV4GIL-AST 的强强联合,正引领行业…

PCIe-PCI、PCIe中断机制概述

PCI、PCIe中断概述 PCIe 中断机制在继承 PCI 传统中断(INTx)的基础上,引入了更高效的 MSI/MSI-X 方案,以提升设备性能并减少 CPU 轮询开销。以下是核心要点及技术演进: ⚙️ ​​一、PCIe 中断类型与演进​​ ​​IN…

知识图谱增强的大型语言模型编辑

https://arxiv.org/pdf/2402.13593 摘要 大型语言模型(LLM)是推进自然语言处理(NLP)任务的关键,但其效率受到不准确和过时知识的阻碍。模型编辑是解决这些挑战的一个有前途的解决方案。然而,现有的编辑方法…

建立连接后 TCP 请求卡住

大家读完觉得有意义记得关注和点赞!!! 这篇文章描述了一个内核和BPF网络问题 以及故障排除步骤,这是一个值得深入研究的有趣案例 Linux 内核网络复杂性。 目录 1 故障报告 1.1 现象:概率健康检查失败 1.2 范围&am…

C++核心编程_赋值运算符重载

4.5.4 赋值运算符重载 c编译器至少给一个类添加4个函数 默认构造函数(无参,函数体为空) 默认析构函数(无参,函数体为空) 默认拷贝构造函数,对属性进行值拷贝 赋值运算符 operator, 对属性进行值拷贝 如果类中有属性指向堆区,做…

深度学习笔记25-RNN心脏病预测(Pytorch)

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 一、前期准备 1.数据处理 import torch.nn.functional as F import numpy as np import pandas as pd import torch from torch import nn dfpd.read_csv(r&…

基于 HT for Web 轻量化 3D 数字孪生数据中心解决方案

一、技术架构:HT for Web 的核心能力 图扑软件自主研发的 HT for Web 是基于 HTML5 的 2D/3D 可视化引擎,核心技术特性包括: 跨平台渲染:采用 WebGL 技术,支持 PC、移动端浏览器直接访问,兼容主流操作系统…

CIO大会, AI课笔记手稿分享

能认真听课的CIO不多了 能认真听课的CIO还能记笔记的不多了 能认真听课的CIO还能记笔记的字写得好的不多了

stl三角面元文件转颗粒VTK文件

效果展示: import os import sys import json import argparse import numpy as np import pandas as pd import open3d as o3d from glob import globPARTICLE_RADIUS 0.025def stl_to_particles(objpath, radiusNone):if radius is None:radius PARTICLE_RADIU…

vue为什么点击两遍才把参数传递过去

先说一下场景,就是我把云服务器这个下拉选择框分别初始化之后,然后点击新建权限然后就打开了右侧的抽屉式的对话框,页面上那个文字信息是传递过来了。那个是正确的,但是我请求接口的时候,发现请求的接口的参数总是要慢…

NodeMediaEdge通道管理

NodeMediaEdge任务管理 简介 NodeMediaEdge是一款部署在监控摄像机网络前端中,拉取Onvif或者rtsp/rtmp/http视频流并使用rtmp/kmp推送到公网流媒体服务器的工具。 在未使用NodeMediaServer的情况下,或者对部分视频流需要单独推送的需求,也可…

2025年- H59-Lc167--207.课程表(拓扑排序、BFS)-需二刷--Java版

1.题目描述 2.思路 记录每门课程的前置课程数量,记录每门课程是哪些课程的前置课程。 (1)如果有向图中的拓扑图中存在环,则说明所有的课程是无法完成的。 (2)使用拓扑排序,在图中每个节点的入度…

MQTT的Thingsboards的使用

访问云服务 https://thingsboard.cloud/ 新建一个设备 弹出 默认是mosquittor的客户端。 curl -v -X POST http://thingsboard.cloud/api/v1/tnPrO76AxF3TAyOblf9x/telemetry --header Content-Type:application/json --data "{temperature:25}" 换成MQTTX的客户…

代码随想录算法训练营第60期第五十二天打卡

大家好,昨天我们重点讲解了单调栈的问题,我们今天的题目还是继续围绕单调栈展开,我们上节课其实对单调栈已经有了大致的了解,今天的第一道题目大家务必要注意很重要,接雨水问题我们会涉及到单调栈与双指针,…

新能源集群划分+电压调节!基于分布式能源集群划分的电压调节策略!

适用平台:MatlabYalmip Cplex (具体操作已在程序文件中说明) 参考文献:基于分布式能源集群化分的电压调节策略[D]. 一、文献解读 1. 主要内容/创新点 提出了一种基于分布式能源集群化的电压调节策略,计及分布式能源的有功、无功调节能力&a…

【C++】22. 红黑树封装实现Mymap和Myset

上一章节我们实现了红黑树,这一章节我们就用红黑树封装来实现一个我们自己的map和set 1. 源码及框架分析 SGI-STL 3.0版本的源代码中,map和set的实现主要分布在若干头文件中,这些头文件构成了这两个容器的完整实现架构: 核心头文…

论文速读《UAV-Flow Colosseo: 自然语言控制无人机系统》

论文链接:https://arxiv.org/abs/2505.15725项目主页:https://prince687028.github.io/UAV-Flow/ 0. 简介 近年来,无人机技术蓬勃发展,但如何让无人机像智能助手一样理解并执行人类语言指令,仍是一个前沿挑战。现有研…

关于表连接

目录 1.左连接 2.右连接 3.内连接 4.全外连接 5.笛卡尔积 -- 创建表A CREATE TABLE A(PNO VARCHAR2(10) PRIMARY KEY, PAMT NUMBER, A_DATE DATE);-- 向表A插入数据 INSERT INTO A VALUES (01001, 100, TO_DATE(2005-01-01, YYYY-MM-DD)); INSERT INTO A VALUES (010…

【面试 - 遇到的问题 - 优化 - 地图】腾讯地图轨迹回放 - 回放的轨迹时间要和现实时间对应(非匀速)

目录 背景轨迹回放 - 匀速效果图TrackPlaybackDialog.vue 代码TMapNew.vue 代码 轨迹回放 - 非匀速效果图TrackPlaybackDialog.vue 代码TMapNew.vue 代码 背景 腾讯地图轨迹回放是匀速回放的,但是客户要求根据现实时间,什么时间点在某个点位 【腾讯地图轨…

Python Day37 学习

(补充学习几个知识点) 1. 异常处理机制 摘自讲义 常见异常报错 2. debug 理解一下几种错误 SyntaxError 语法错误 代码不符合Python的语法规则 错误代码示例 NameError 名称错误 尝试使用一个未被定义的变量、函数或对象的名称。 TypeError 类型错…