本文整理了Linux系统中最常用的基础命令,每个命令都配有详细说明和具体示例,帮助你快速掌握Linux操作技巧。文章中用的终端是XShell,系统是Centos


📁 1. ls - 列出目录(文件夹)内容

功能:显示当前目录下的文件和子目录信息
常用选项

  • -a:显示隐藏文件(以.开头的文件)
  • -l:详细信息格式(权限/所有者/大小等)
  • -F:用符号标记文件类型(*/@/=等)
$ ls# 列出当前目录内容
file.txtdir$ ls -a# 显示所有文件(含隐藏文件)
....hiddenfile.txt$ ls -lF# 详细格式并标记类型
-rw-r--r-- 1 user group 0 Jan 12 file.txt*
drwxr-xr-x 2 user group 4096 Jan 12 dir/

在这里插入图片描述
图片中出现ls -l的输出:
每个字段的含义

字段位置含义说明示例解释
第1位文件类型-:普通文件;d:目录;l:符号链接;b:块设备(如硬盘)
第2-10位权限位(3组)每组3位,对应所有者(u)组(g)、**其他用户(o)**的权限:
r(读,4)、w(写,2)、x(执行,1)
示例rw-r--r--
- 所有者:读+写(rw-)
- 组用户:读(r–)
- 其他用户:读(r–)
第11位硬链接数1:该文件有1个硬链接(可理解为“引用计数”)
第12位所有者user:文件所属用户
第13位所属组group:文件所属用户组
第14位文件大小1024:字节(加-h选项显示为1K,更易读)
第15-17位修改时间Jan 12 14:30:文件最后修改时间
第18位起文件名/目录名file.txt:文件名;dir/:目录(-F选项标记)

注意:这些都属于文件的属性信息
文件 = 文件的内容 + 文件的属性
在这里插入图片描述
所以就比如在windows上新建一个空文件,并不是真的不占磁盘空间


📍 2. pwd - 显示当前路径

功能:打印当前工作目录的绝对路径

$ pwd
/home/user/documents

在这里插入图片描述


📂 3. cd - 切换目录

功能:更改当前工作目录
特殊路径

  • ..:上级目录
  • ~:用户家目录
  • -:返回上次目录

语法:cd 目录名

$ cd /var/log# 切换到绝对路径
$ cd ..# 返回上级目录
$ cd ~/downloads # 进入家目录的downloads
$ cd -# 返回上次所在目录

在这里插入图片描述

cd 可以理解为我们的鼠标的那个箭头,cd 某个目录就可以进入到这个目录里

补充:路径的认识
Linux系统中,磁盘上的文件和目录被组成⼀棵目录树,每个节点都是目录或文件
• 其中普通文件⼀定是目录树的叶子节点
• 目录可能是叶子(空目录), 也可能是路上节点
• 理解路径存在的意义: 树状组织方式,都是为了保证快速定位查找到指定的文件,而定位文件就需要具有唯⼀性的方案来进行定位文件。其中任何⼀个节点,都只有⼀个父节点,所以,从根目录开始,定位指定文件,路径具有唯⼀性
• 绝对路径:⼀般从/开始,不依赖其他目录的定位文件的方式
• 相对路径:相对于当前用户所处目录,定位文件的路径方式
• 绝对路径⼀般不会随着用户的路径变化而丧失唯⼀性,⼀般在特定服务的配置文件中经常被使用
• 相对路径因为它的便捷性,⼀般在命令行中使用较多

在这里插入图片描述
在这里插入图片描述

如图,退到根目录就无法再退了
在这里插入图片描述
在这里插入图片描述

$ tree //查看当前树目录结构
//系统默认是没有的,需要安装
centos:yum install -y tree
ubuntu: apt install -y tree

在这里插入图片描述

如果遇到文件很多刷屏停不下来就按 ctrl + c,随便一说 clear 这个指令可以清屏


✏️ 4. touch - 创建空文件/更新时间戳

功能

  1. 创建新文件
  2. 更新文件访问/修改时间

语法:touch [选项]… 文件…

$ touch newfile.txt# 创建空文件
$ touch -a file.txt# 只更新访问时间
$ touch -m file.txt# 只更新修改时间

在这里插入图片描述


📂 5. mkdir - 创建目录

语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录
选项-p:递归创建多级目录

$ mkdir new_dir# 创建单级目录
$ mkdir -p a/b/c/d# 创建多级目录

目录结构:

a/
└── b/
└── c/
└── d/

🗑️ 6. rmdir & rm - 删除文件/目录

rmdir:删除空目录
$ rmdir empty_dir# 删除空目录
$ rmdir -p a/b/c# 递归删除空目录
rm:删除文件/目录

选项

  • -r:递归删除
  • -f:强制删除
  • -i:交互确认
$ rm file.txt# 删除文件
$ rm -r mydir# 递归删除目录
$ rm -ri dir# 交互式递归删除

📚 7. man - 查看帮助手册

功能:查看命令/系统调用的文档
章节

  • 1:普通命令
  • 2:系统调用
  • 3:库函数
$ man ls# 查看ls命令帮助
$ man 2 fork# 查看fork系统调用
$ man 3 printf# 查看C库函数printf

man手册有九章(不同系统可能会有差别)


📄 8. cp - 复制文件/目录

语法:cp [选项] 源文件或目录 目标文件或目录
选项

  • -r:递归复制目录
  • -i:覆盖前确认
  • -f:强制覆盖

cp指令用于复制文件或目录
如同时指定两个以上的文件或目录,且最后的目的地是⼀个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中

$ cp file.txt file_backup.txt# 复制文件
$ cp *.txt target_dir/# 复制所有txt文件
$ cp -r dir new_dir# 递归复制目录

在这里插入图片描述

理论补充:
Linux"一切皆文件",该理论将系统中的 设备(如键盘、显示器与普通文件统一抽象为文件对象,通过文件操作(读/写)实现设备交互。具体来说:
向显示器打印内容 → 向 显示器文件(标准输出,stdout)写入数据;
从键盘读取输入 → 从 键盘文件(标准输入,stdin)读取数据。
图片通过多个Linux命令示例,展示了"一切皆文件"理论的实际应用,以及输入/输出重定向的使用场景:
1. 标准输出:直接向显示器文件写入

  • 示例1echo "hello world"
    作用:将字符串"hello 你好"输出到显示器(标准输出stdout)。
    逻辑:对应理论中"向显示器文件写入"的操作。
  • 示例2printf "hello world, %d, %f\n" 3 3.14
    作用:格式化输出字符串(%d表示整数,%f表示浮点数),结果为hello world, 3, 3.140000
    逻辑:与echo类似,均向显示器文件写入数据,但printf支持更灵活的格式控制。
    2. 输出重定向:改变写入目标(从显示器到文件)
    Linux中用**>(覆盖写入)和>>**(追加写入)实现输出重定向,将原本应输出到显示器的内容写入指定文件。
  • 示例3:覆盖写入(>)
    命令:echo "hello world" > myfile.txt
    作用:将"hello 你好"写入myfile.txt文件(而非显示器)。
    关键特性:先清空文件再写入(图片注释:“写入的时候,都是先清空再写!!”)。
    验证:- ls -l:查看文件列表,显示myfile.txt的大小为12字节(包含字符串和换行符);- cat myfile.txt:查看文件内容,确认"hello world"已写入。
  • 示例4:清空文件(>)
    命令:> myfile.txt
    作用:直接用>重定向符清空myfile.txt(无源内容时,>会截断文件)。
    验证:- ls -l:显示myfile.txt大小为0字节;- cat myfile.txt:无输出(文件为空)。
  • 示例5:追加写入(>>)
    命令:echo "aaaaaaaaaaaaaabbbb" >> myfile.txt
    作用:将字符串追加到hello.txt末尾(不清空原有内容)。
    验证:- cat myfile.txt:显示两行相同的字符串(首次追加+再次执行命令的结果),说明 >>保留原有内容(图片注释:“追加重定向!!”)。
    3. 输入重定向:改变读取来源(从键盘到文件)
    Linux中用 < 实现输入重定向,将命令的输入源从键盘(标准输入stdin)改为指定文件。
  • 示例6cat < myfile.txt
    作用:将hello.txt作为cat命令的输入,显示文件内容(等同于直接执行cat hello.txt)。
    逻辑:对应理论中"从文件读取数据"的操作,替代了从键盘输入的默认行为(图片注释:“输入重定向!!”)。
    在这里插入图片描述

🚚 9. mv - 移动/重命名

语法:mv [选项] 源文件或目录 目标文件或目录
功能

  1. 移动文件/目录
  2. 重命名文件/目录
$ mv file.txt new_name.txt# 重命名
$ mv file.txt dir/# 移动到目录
$ mv dir1/ dir2/# 移动目录

在这里插入图片描述


📖 10. cat - 查看文件内容

语法:cat [选项] [文件]
选项

  • -n:显示行号
  • -b:非空行编号
  • -s:压缩连续空行
$ cat file.txt# 显示文件内容
$ cat -n file.txt# 显示行号
$ cat -s file.txt# 压缩连续空行

在这里插入图片描述


🔍 11. more/less - 分页查看

more:向下分页查看

语法:more [选项]
选项

  • -n 指定输出行数
  • q 退出more
$ more -10 large_file.log# 每次显示10行

在这里插入图片描述

less:交互式查看(支持上下翻页)

语法:less [参数] 文件
选项

  • -i 忽略搜索时的大小写
  • -N 显示每行的行号
  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重复前⼀个搜索(与 / 或 ? 有关)
  • N:反向重复前⼀个搜索(与 / 或 ? 有关)
  • q:quit
$ less large_file.log
# 在less中:
#/keyword → 向下搜索
#?keyword → 向上搜索
#q → 退出

在这里插入图片描述


🔝 12. head/tail - 查看文件首尾

head:显示文件开头

语法:head [参数]… [文件]…
选项

  • -n<行数> 显示的行数
$ head -5 file.txt# 显示前5行

在这里插入图片描述

tail:显示文件结尾

语法:tail 必要参数 [文件]
选项

  • -f 循环读取
  • -n<行数> 显示行数
$ tail -5 file.txt# 显示最后5行
$ tail -f log.txt# 实时追踪日志变化

那假设现在我有100行内容,我要求打印第50到60行该怎么办呢?(没有直接打印中间行的内容的命令)

补充知识
管道命令(|): 图片中常出现命令1 | 命令2的组合,功能是将前一个命令的输出作为后一个命令的输入,实现更复杂的操作。
高频示例(图片中的常见场景):

  1. 过滤文件:列出当前目录所有.txt文件(结合lsgrep
$ ls -l | grep ".txt"# 用grep过滤出包含".txt"的行
-rw-r--r-- 1 user group 1.0K Jan 12 14:30 file.txt
-rw-r--r-- 1 user group 2.0K Jan 12 14:30 data.txt
  1. 统计日志行数:统计log.txt中包含“error”的行数(结合catgrepwc
$ cat log.txt | grep "error" | wc -l# wc -l统计行数
5# 表示有5行包含"error"
  1. 查找并处理文件:找到所有.sh脚本并显示其内容(结合findcat
$ find . -name "*.sh" | xargs cat# xargs将find结果作为cat的输入

通过管道我们就可以实现各种流水线操作了


⏰ 13. date - 显示/设置时间

格式控制

  • %Y:年(2023)
  • %m:月(01-12)
  • %d:日(01-31)
  • %H:小时(00-23)
$ date# 默认格式
Wed Jan 11 18:22:50 CST 2023$ date +"%Y-%m-%d %H:%M"# 自定义格式
2023-01-11 18:30$ date -d @1673432636# 时间戳转时间
Wed Jan 11 18:23:56 CST 2023

补充知识

时间戳

时间戳(Timestamp)是表示时间的数字格式,通常指从某个基准时间点到当前时间的总时长(单位:秒、毫秒、微秒等)。它是计算机系统中处理时间的核心方式,具有跨时区、易计算、格式统一的优势。

一、核心概念

1. 基准时间点(Epoch Time)

最常用的基准是Unix时间戳的起点:
1970年1月1日00:00:00 UTC(协调世界时,即格林尼治标准时间GMT)。
所有Unix/Linux系统均以该时间点为起点计算时间戳。

2. 时间戳的类型
  • 秒级时间戳(最常见):从Epoch到当前的总秒数(如1721487600,对应2024-07-20 19:00:00 UTC)。
  • 毫秒级时间戳:秒级时间戳+3位毫秒(如1721487600123,对应2024-07-20 19:00:00.123 UTC)。
  • 微秒级时间戳:秒级时间戳+6位微秒(如1721487600123456,对应2024-07-20 19:00:00.123456 UTC)。

二、Linux中生成与转换时间戳

Linux中最常用的工具是date命令(GNU版本,支持丰富的时间格式),以下是关键操作:

1. 生成当前时间戳
  • 秒级时间戳%s):
date +%s
# 输出示例:1721487600
  • 毫秒级时间戳%s%3N%3N表示取3位毫秒):
date +%s%3N
# 输出示例:1721487600123
  • 微秒级时间戳%s%6N%6N表示取6位微秒):
date +%s%6N
# 输出示例:1721487600123456
2. 将时间戳转换为可读时间

date -d @<时间戳>@后跟秒级时间戳),会自动转换为系统时区的本地时间(如北京时间UTC+8)。

  • 示例1:转换秒级时间戳
date -d @1721487600
# 输出示例(北京时间):Sat Jul 20 19:00:00 CST 2024
  • 示例2:转换为指定格式(如YYYY-MM-DD HH:MM:SS
date -d @1721487600 +"%Y-%m-%d %H:%M:%S"
# 输出示例:2024-07-20 19:00:00
3. 生成指定时间的时间戳

date -d "<指定时间>" +%s,将可读时间转换为秒级时间戳。

  • 示例1:转换当前日期的指定时间
date -d "2024-07-20 19:00:00" +%s
# 输出示例:1721487600
  • 示例2:转换相对时间(如“3天前”)
date -d "3 days ago" +%s
# 输出3天前的秒级时间戳

📅 14. cal - 显示日历

语法:cal 参数 [年份]
选项

  • -3:显示上月/本月/下月
  • -y:显示全年日历
$ cal# 本月日历
$ cal -3# 三个月日历
$ cal 2023# 2023全年日历

🔎 15. find - 文件搜索

语法:find pathname -options
选项

  • -name 按照文件名查找文件

示例:按名称/类型搜索

$ find /home -name "*.txt"# 搜索所有txt文件
$ find . -type d -name "dir*"# 搜索目录

在这里插入图片描述


🔍 16. which/whereis - 查找命令路径

which:查找可执行文件位置
$ which ls
/usr/bin/ls

在这里插入图片描述

还记得之前说的Linux下“一切皆文件”吗?
是的,我们未来学的大部分指令本质都是Linux系统下固定目录下(/usr/bin/)的可执行文件
值得注意的是:我们自己写的可执行程序是无法像指令通过名字直接使用的,除非把文件写道/usr/bin/ 目录下,但是不建议这么做,会污染系统的命名池

whereis:查找二进制/源码/手册
$ whereis python
python: /usr/bin/python /usr/lib/python2.7 /usr/include/python2.7

️ 17. alias - 命令别名

功能:创建命令快捷方式

$ alias ll='ls -alF'# 创建别名
$ ll# 使用别名
$ unalias ll# 删除别名

注意:别名是内存级的,重新登入别名就没用了


🔍 18. grep - 文本搜索

语法: grep [选项] 搜寻字符串 文件
选项

  • -i:忽略大小写
  • -n:显示行号
  • -v:反向匹配
$ grep "error" log.txt# 搜索包含error的行
$ grep -i "warning" log.txt# 忽略大小写
$ grep -n "start" config.conf# 显示行号

在这里插入图片描述


📦 19. tar - 打包压缩

语法: tar [-cxtzjvf] 文件与目录 …
参数:

  • -c :建立⼀个压缩文件的参数指令(create 的意思);
  • -x :解开⼀个压缩文件的参数指令!
  • -t :查看 tarfile 里面的文件!
  • -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
  • -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
  • -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
  • -f :使⽤档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
  • -C : 解压到指定目录

常用组合

  • 打包:tar -cvf archive.tar dir/
  • 解包:tar -xvf archive.tar
  • 压缩:tar -zcvf archive.tar.gz dir/
  • 解压:tar -zxvf archive.tar.gz
$ tar -czvf backup.tar.gz /home# 压缩目录
$ tar -tzvf backup.tar.gz# 查看压缩包内容
$ tar -xzvf backup.tar.gz -C restore/# 解压到指定目录

后缀可以简写成 .tgz
在这里插入图片描述


20.zip/unzip

语法: zip 压缩⽂件.zip 目录或文件
功能:将目录或文件压缩成zip格式
选项

  • -r:递归处理,将指定目录下的所有文件和子目录⼀并处理
将test2⽬录压缩: zip test2.zip test2/*
解压到tmp⽬录: unzip test2.zip -d /tmp

21. rzsz

rzsz是Linux/Unix系统中轻量级文件传输工具集,基于Zmodem协议(一种可靠的异步文件传输协议),用于通过终端会话(如SSH、串口)实现本地与远程服务器之间的文件上传(rz)和下载(sz。它无需额外安装FTP/SCP服务,操作简单,是系统管理员和开发者常用的小文件传输工具。

一、核心概念
  • 协议基础:Zmodem协议,支持断点续传错误校验高速传输(比早期的Xmodem/Ymodem更高效)。
  • 核心命令
  • rz(Receive Zmodem):本地→远程(从本地计算机上传文件到远程服务器);
  • sz(Send Zmodem):远程→本地(从远程服务器下载文件到本地计算机)。
二、安装方法

rzsz通常需要手动安装(部分Linux发行版默认不包含),以下是常见发行版的安装命令:

  • Ubuntu/Debian
sudo apt update && sudo apt install lrzsz
  • CentOS/RHEL(7及以下):
sudo yum install lrzsz
  • CentOS/RHEL 8+/Fedora
sudo dnf install lrzsz
三、常用命令及示例
1. 上传文件(rz

作用:从本地计算机选择文件,上传到远程服务器的当前目录。
基本用法

rz

运行效果:本地终端会弹出文件选择窗口(需终端支持,如PuTTY、Xshell、Terminal),选择要上传的文件后,自动开始传输。

常用参数

  • -b二进制模式(必选,用于传输非文本文件,如图片、压缩包、可执行文件,避免文件损坏);
  • -y覆盖模式(若远程服务器已存在同名文件,直接覆盖,无需确认);
  • -e强制Zmodem协议(用于兼容性问题,如终端未自动识别Zmodem)。

示例(二进制模式上传,覆盖现有文件):

rz -b -y
2. 下载文件(sz

作用:从远程服务器选择文件/目录,下载到本地计算机的指定路径。
基本用法(下载单个文件):

sz 文件名

下载目录(需递归)

sz -r 目录名# -r:递归传输目录下的所有文件

运行效果:本地终端会弹出保存路径窗口,选择保存位置后,自动开始传输。

常用参数

  • -b二进制模式(同rz,传输非文本文件必选);
  • -y覆盖模式(覆盖本地已存在的同名文件);
  • -r递归传输目录(下载目录时必选)。

示例(二进制模式下载目录,覆盖本地文件):

sz -b -y -r /home/user/docs# 下载远程服务器的docs目录到本地
四、注意事项
  1. 终端支持
    rzsz依赖支持Zmodem协议的终端,常见终端如:
    -Windows:PuTTY(需开启“Connection→SSH→Zmodem”选项)、Xshell、SecureCRT;
    -macOS:Terminal(默认支持)、iTerm2;
    -Linux:GNOME Terminal(默认支持)、Konsole。
    若终端不支持Zmodem,rzsz无法弹出文件选择窗口,需用rz -esz -e强制使用,并通过命令行指定文件(但不推荐)。

  2. 传输模式

  • 文本文件(如.txt.conf):可使用默认的ASCII模式(无需-b);
  • 非文本文件(如.zip.jpg.exe):必须使用二进制模式-b参数),否则会导致文件损坏(如图片无法打开、压缩包无法解压)。
  1. 权限问题
  • 上传文件时,远程服务器的当前目录需有写入权限(如chmod 777 /tmp);
  • 下载文件时,本地计算机的保存路径需有写入权限(如~/Downloads目录通常有写入权限)。
  1. 断点续传
    Zmodem协议支持断点续传,若传输中断(如网络断开),重新运行rzsz,会自动续传未完成的部分(需终端支持)。

  2. 文件名编码
    若文件名包含中文或特殊字符,需确保终端的编码设置正确(如UTF-8),否则可能出现文件名乱码(如中文.txt)。解决方法:在终端中设置编码为UTF-8(如PuTTY的“Window→Translation→Remote character set”选择“UTF-8”)。


22. bc指令

bc是Linux系统中用于浮点运算的便捷工具,支持高精度的数学计算(如加减乘除、平方根、指数等),常用于需要精确浮点结果的场景(如脚本中的数值处理)。

23. uname命令

  • 语法uname [选项]
  • 功能:获取操作系统及硬件的基本信息(如内核版本、主机名、硬件类型等)。
  • 补充说明:可显示Linux主机的操作系统版本、硬件名称等关键信息。
  • 常用选项
  • -a/--all:详细输出所有信息,依次为:内核名主机名内核版本号内核版本硬件名处理器类型硬件平台类型操作系统名称(最常用)。

这里是引用

24. 重要热键

  • [Tab]:具有命令补全(输入命令前缀后按Tab,自动补全完整命令)和档案补齐(输入文件/目录前缀后按Tab,自动补全路径)功能,提升操作效率。
  • [Ctrl]-c:强制停止当前运行的程序(如终止陷入死循环的脚本)。
  • [Ctrl]-d:表示键盘输入结束(EOF,End Of File),常用于退出交互程序(如代替exit命令退出Shell)。

25. 关机命令(shutdown)

  • 语法shutdown [选项]
  • 常见选项
  • -h:停止所有系统服务后,立即关机(等价于halt)。
  • -r:停止所有系统服务后,重新启动(等价于reboot)。
  • -t sec:延迟sec秒后执行关机/重启操作(如shutdown -t 60 -h表示60秒后关机)。

掌握这些基础命令后,你已具备Linux日常操作的必备技能。建议在终端中实际尝试每个示例,实践是巩固知识的最佳方式!

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

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

相关文章

正点原子stm32F407学习笔记10——输入捕获实验

一、输入捕获简介 输入捕获模式可以用来测量脉冲宽度或者测量频率。我们以测量脉宽为例&#xff0c;用一个简图来 说明输入捕获的原理&#xff0c;如图所示&#xff1a;假定定时器工作在向上计数模式&#xff0c;图中 t1到t2 时间&#xff0c;就是我们需要测量的高电平时间。测…

深入理解设计模式:状态模式(State Pattern)

在软件开发中&#xff0c;我们经常会遇到对象的行为随着其内部状态的变化而变化的情况。例如&#xff0c;一个订单可能处于"待支付"、"已支付"、"已发货"或"已完成"等不同状态&#xff0c;每个状态下订单的操作逻辑可能完全不同。如果…

企业级网络综合集成实践:VLAN、Trunk、STP、路由协议(OSPF/RIP)、PPP、服务管理(TELNET/FTP)与安全(ACL)

NE综合实验4 一、实验拓扑二、实验需求 按照图示配置IP地址。Sw7和sw8之间的直连链路配置链路聚合。公司内部业务网段为vlan10和vlan20&#xff0c;vlan10是市场部&#xff0c;vlan20是技术部&#xff0c;要求对vlan进行命名以便区分识别&#xff1b;pc10属于vlan10&#xff0c…

小架构step系列20:请求和响应的扩展点

1 概述通过上一篇了解请求和响应的流程&#xff0c;Spring在设计上留了不少扩展点。里面通过查找接口的方式获取的地方&#xff0c;都可以成为一种扩展点&#xff0c;因为只要实现这类接口就可以成为Spring加载的一部分。本文了解一下这些扩展点&#xff0c;方便后面进行扩展。…

模型材质一键替换~轻松还原多种三维场景

1. 概述模型的材质决定了三维场景的整体视效&#xff0c;山海鲸可视化不仅支持模型材质的替换与编辑&#xff0c;而且提供了大量现成的模型材质供大家使用&#xff0c;能够帮助大家实现更高效的三维场景搭建。模型材质主要分为PBR材质和水面材质两个部分。其中大部分静态模型都…

【JS逆向基础】数据库之mysql

前言&#xff1a;mysql数据库管理系统&#xff0c;由瑞典MySQL AB 公司开发&#xff0c;目前属于 Oracle 旗下公司。MySQL 最流行的关MySQL是一个开源免费的关系型数据库管系型数据库管理系统&#xff0c;在 WEB 应用方面ySQL是最好的 RDBMS (Relational Database Management S…

金融工程、金融与经济学知识点

本文整理了20个金融工程、金融和经济学知识点及逻辑&#xff0c;这些是理解金融市场运作和进行量化分析的基石。 1. 金融工程 - 远期与期权&#xff08;Forward & Option&#xff09;的定价与风险管理 远期定价&#xff1a; 利用无套利原则&#xff0c;远期合约的价格应等…

Vue 3 中导出 Excel 文件

在 Vue 3 中导出 Excel 文件&#xff0c;通常可以使用一些流行的 JavaScript 库&#xff0c;如 SheetJS (xlsx) 或者 exceljs。这里我将分别介绍如何使用这两个库来在 Vue 3 应用中导出 Excel 文件。方法 1&#xff1a;使用 SheetJS (xlsx)安装 SheetJS首先&#xff0c;你需要安…

奇麟大数据:前端大文件上传解决方案

在奇麟大数据业务系统的开发及使用过程中&#xff0c;例如OBS对象存储文件管理、流计算DSC依赖管理&#xff0c;经常会遇到上传文件这样的基础需求&#xff0c;一般情况下&#xff0c;前端上传文件就是new FormData&#xff0c;然后把文件 append 进去&#xff0c;然后post发送…

立创EDA中双层PCB叠层分析

立创EDA中双层PCB叠层分析 结论&#xff1a;立创EDA中的双层 PCB 叠层视图相比传统视图&#xff0c;多出一个焊盘层&#xff08;博主命名&#xff09;&#xff1b; 1. 传统双层 PCB 叠层示意图 丝印层 印刷元件标识、极性标记及厂商信息 辅助组装与后期维护 阻焊层 覆盖铜层表…

深入理解进程:从底层原理到硬件系统实战

深入理解进程&#xff1a;从底层原理到嵌入式实战&#xff08;3-4 万字详解&#xff09; 前言&#xff1a;为什么硬件开发者必须吃透进程&#xff1f; 作为嵌入式开发者&#xff0c;你可能会说&#xff1a;“我平时用的 RTOS 里只有任务&#xff08;Task&#xff09;&#xff0…

Elasticsearch 简化指南:GCP Google Compute Engine

作者&#xff1a;来自 Elastic Eduard Martin 系列内容的一部分&#xff1a;开始使用 Elasticsearch&#xff1a;GCP 想获得 Elastic 认证&#xff1f;看看下一期 Elasticsearch Engineer 培训什么时候开始&#xff01; Elasticsearch 拥有丰富的新功能&#xff0c;帮助你根据…

STM32的定时器输入捕获-超声波测距案例

STM32的定时器输入捕获-超声波测距案例 gitee代码输入捕获硬件电路案例说明主函数代码 gitee代码 https://gitee.com/xiaolixi/l-stm32/tree/master/STM32F103C8T6/2-1tem-ld-timer-input-pluse 输入捕获硬件电路 超声波测距案例说明 使用超声波测距传感器使用tim1的输入捕获…

[特殊字符] Spring Boot 常用注解全解析:20 个高频注解 + 使用场景实例

一文掌握 Spring Boot 中最常用的 20 个注解&#xff0c;涵盖开发、配置、Web、数据库、测试等场景&#xff0c;配合示例讲解&#xff0c;一站式掌握&#xff01;&#x1f4cc; 一、核心配置类注解 1. SpringBootApplication 作用&#xff1a;标记为 Spring Boot 应用的入口类&…

【工具变量】地级市城市包容性绿色增长数据(2011-2023年)

城市包容性绿色增长是指在推动城市经济增长的过程中&#xff0c;兼顾环境可持续性、社会公平和包容性发展的理念与实践。它强调在实现绿色转型和低碳发展的同时&#xff0c;保障社会各群体&#xff0c;特别是弱势群体的利益与参与权利&#xff0c;确保增长成果能够公平共享 本…

深入理解React Hooks:从使用到原理

4. 源码解析类:《深入理解React Hooks:从使用到原理》 # 深入理解React Hooks:从使用到原理🔥 **背景**: - Hooks解决了Class组件的哪些问题? - 为什么不能在循环/条件中调用Hooks?🔍 **核心原理**:### 1. Hooks链表 React内部维护一个单向链表:fiber.memoizedSta…

【云原生】Docker 部署 Elasticsearch 9 操作详解

目录 一、前言 二、Elasticsearch 9 新特性介绍 2.1 基于 Lucene 10 重大升级 2.2 Better Binary Quantization(BBQ) 2.3 Elastic Distributions of OpenTelemetry(EDOT) 2.4 LLM 可观测性 2.5 攻击发现与自动导入 2.6 ES|QL 增强 2.7 语义检索 三、基于Docker部署…

uview-ui使用u-search搜索框

1、效果图 2、带地址搜索框&#xff0c;在微信小程序线上需要开启地图定位接口&#xff0c;若没有权限则显示不了城市名&#xff0c;注意事项参考uniapp相关地图 API调用-CSDN博客 <template><view><u-sticky offset-top"-1"><u-search v-mode…

Elasticsearch+Logstash+Kibana部署

目录 一、实验准备 1.下载安装 2.下载java 2.同步主机系统时间 二、部署 1.部署elasticsearch 修改 /etc/elasticsearch/elasticsearch.yml 配置文件 修改 /etc/hosts/ 文件 启动elasticsearch 查看是否启动进程netstat -antptu | grep java 2.部署logstash 进入/et…

TEngine学习

关于静态类中的静态变量赋值&#xff1a; public static class ActorEventDefine{public static readonly int ScoreChange RuntimeId.ToRuntimeId("ActorEventDefine.ScoreChange");public static readonly int GameOver RuntimeId.ToRuntimeId("ActorEventD…