【Linux我做主】基础命令完全指南上篇
Linux基础命令完全指南【上篇】
- Linux基础命令完全指南
- github地址
- 前言
- 命令行操作的引入
- Linux文件系统
- 树形结构的根文件系统
- 绝对路径和相对路径
- 适用场景
- Linux目录下的隐藏文件
- 基本指令
- 目录和文件相关
- 1. ls
- 2. cd和pwd
- cd
- pwd
- 3. touch
- 4. mkdir
- 5. cp
- 6. mv
- 移动目录时覆盖写入的两种特殊情况
- 7. alias
- 文件查看相关
- 1. cat
- 2. more
- 3. less
- 4. head
- 5. tail
- 总结核心概念
Linux基础命令完全指南
github地址
有梦想的电信狗
前言
本文介绍Linux系统
的基本知识和一些常见命令的基本使用,命令的更多用法需结合man
手册进行查询。命令和命令的细节较多,因此文章分为上篇和下篇。本文是文章的上篇。
命令行操作的引入
在
Windows系统
中,用户通常依赖图形界面(GUI
)进行文件管理和操作,例如通过鼠标点击资源管理器完成复制、删除等任务;
而Linux
系统虽然也提供GUI工具,但其核心优势在于命令行(CLI
)。通过终端输入简洁的命令,用户可直接操控系统内核,实现更高效、灵活的操作,例如批量处理文件、远程管理服务器等场景。
命令行不仅节省资源,还能通过脚本自动化复杂任务,是开发者及运维人员的核心工具,体现了
Linux
“一切皆文件
”的设计哲学。
- 因此学习Linux下命令行的使用很有必要。
- Linux操作系统极其稳定,最常用于做服务器操作系统,因此最好永不关机。
Linux文件系统
首先声明一个概念,
Linux下一切皆文件
。能被看到的都是文件,既包括最常见的文本文件,甚至鼠标,键盘,显示器等设备都是文件。随着后面学习的深入,会对这一概念有更深入的理解。
树形结构的根文件系统
Linux
的目录结构整体上是一个多叉树,他的叶子结点,一定是空目录或者文件,路上结点一定是一个非空目录。
因此,我们所有的对文件或者目录的增删查改,本质都是对这颗多叉树的增删查改。
与大多数操作系统一致,Linux系统的文件系统结构是树形结构的。且各个目录都有各自的功能。
/
:是Linux
的根目录。bin
:存放二进制可执行文件,以命令居多boot
:存放开机启动程序dev
:存放设备文件: 包括字符设备文件、块设备文件home
:存放 普通用户 的目录etc
:用户信息和系统配置文件 passwd、grouplib
:操作系统使用的库文件:例如 libc.so.6是一个动态库root
:管理员宿主目录(家目录)usr
:用户资源管理目录 unix software resource 用户的一些文件 第三方应用的资源文件opt
和proc
: 与Linux 进程相关的文件
Linux
的一个目录中,既可以存放目录文件,也可以存放其他文件。
绝对路径和相对路径
我们在磁盘中定位一个文件,通常需要路径来描述。
路径定位需要有唯一性。
绝对路径
:从/
开始定位到指定位置,具有唯一性的路径,称为绝对路径。相对路径
:以当前所处路径为起始参考位置,来进行定位的路径,成为相对路径。
- 绝对路径以根目录
/
为起点。 - 相对路径以当前路径为起点。
适用场景
绝对路径
:绝对路径以根目录/
为起点,一般比较长,但具有不变性。一般用在一些固定常见,配置文件中使用。相对路径
:以当前路径为起点,一般比较短小,命令行输入中常使用相对路径。
使用绝对路径进入目录dir1
使用相对路径进入目录dir1
Linux目录下的隐藏文件
Linux
中的每一个目录下都有两个隐藏文件.
和..
。可以通过ls -a
来查看
-l
是让文件以列表的形式来进行呈现。
Linux
中的每一个目录下都有两个隐藏文件.
和..
。这两个文件有什么用呢?
在
Linux
中,以.
开头的文件都是隐藏文件,只有在ls -a
是才能被看到。
-
.
:表示当前路径。 -
..
:表示当前路径的上级路径。 -
.
存在的意义:帮助用户定位当前目录下的一个文件。如: ./a,out -
..
存在的意义:帮助用户定位到当前路径的上级路径以及上级路径中的文件。
基本指令
目录和文件相关
1. ls
功能:列出目录内容
语法:ls [选项] [目录]
常用参数:
-l
:长格式显示(包含权限、所有者、大小等信息)-a
:列出目录下的所有文件,包括以 . 开头的隐含文件。-h
:以人类可读格式显示文件大小,更人性化-t
:按修改时间排序-R
:递归列出子目录内容-d
: 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录-i
: 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件-k
: 以 k 字节的形式表示文件的大小。ls –alk 指定文件-n
: 用数字的 UID,GID 代替名称。-F
: 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)-r
: 对目录反向排序。-t
:以时间排序。-s
: 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)-1
: 一行只输出一个文件。
2. cd和pwd
cd
语法:cd 路径
。
路径可以是相对路径,也可以是绝对路径。
功能:改变工作目录。将当前工作目录改变到指定的目录下。
# 直接输入cd,默认切换到当前用户的home目录
# 对于root用户 则切换到 /root 目录下
cd
#返回上级目录
cd ..
# 使用绝对路径
cd /home/changan_memroy/linux/
# 使用相对路径
cd ../day02/
# 进入用户home目录
cd ~
cd /home # 与上一行的写法等价
# 返回最近访问目录
cd -
~
该符号表示当前用户的home目录。-
该符号表示用户最近进入的一个目录。.
表示当前目录。
pwd
语法: pwd
功能:显示用户当前所在的目录
常用选项:无
cd
配合-
和~
方便地切换目录。- 切换完目录后使用
pwd
验证当前所在目录。
3. touch
语法:touch [选项]… 文件…
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:
-a
或--time=atime
或--time=access
或--time=use
只更改存取时间。
-c
或--no-create
不建立任何文档。-d
: 使用指定的日期时间,而非现在的时间。-f
: 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。-m
: 或--time=mtime
或--time=modify
只更改变动时间。-r
: 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。-t
: 使用指定的日期时间,而非现在的时间
加上不同的参数,就有不同的用法,但最常用的用法是使用
touch
来创建文件。例如创建.c
或.cpp
源程序文件或者普通文件,创建别的文件也是如此。
4. mkdir
语法:mkdir [选项] 路径名称
功能:在当前目录下创建一个名为 dirname
的目录
常用选项:
-p
或--parents
后面跟一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。(递归创建子目录)
演示如下
5. cp
语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录。如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
常用选项:
-f
或--force
: 强行复制文件或目录, 不论目的文件或目录是否已经存在-i
或--interactive
:拷贝时,若目标目录下有同名文件,覆盖文件之前会先询问用户是否覆盖-r
: 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理-R
或--recursive
:递归处理,将指定目录下的文件及子目录一并处理
最常用的选项是
-f
和-r
目标目录
d1
中没有同名文件,因此不需要加-f
6. mv
mv命令是move的缩写,可以用来
移动文件
或者将文件重命名
(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
语法:mv [选项] 源文件或目录 目标文件或目录
功能: 视mv
命令中第二个参数类型的不同(是目标文件还是目标目录),mv
命令将文件重命名或将其移至一个新的目录中。
- 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
- 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
常用选项:
-f
:force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i
:若目标文件 (destination) 已经存在时,就会询问是否覆盖
移动目录时覆盖写入的两种特殊情况
- 目标路径下有同名目录,同名目录不为空时,无法覆盖。
- 目标路径下有同名目录,为空目录,直接覆盖。
7. alias
之前对于
ls
命令,我们是否会有疑问?为什么ll
等价于ls -l
。
这里本质上是命令alias
在起作用。
语法:alias [选项][名称[='命令']]
功能:创建或显示命令别名,用于简化复杂的命令。
常用选项:
• -p
:以可被 Shell 重新使用的格式输出别名(便于保存到配置文件中)。
功能详解:
-
定义别名:通过
名称='命令'
的格式将长命令或常用命令定义为简短的别名。
• 示例:alias ll='ls -l'
(输入ll
即可执行ls -l
)。
• 若命令包含空格或特殊字符,需用引号包裹。 -
查看别名:
• 直接输入alias
(不加参数)可列出所有已定义的别名。
• 输入alias 名称
可查看特定别名的定义(如alias ll
)。 -
永久生效:
• 在~/.bashrc
或~/.zshrc
中写入别名定义,重启终端或执行source ~/.bashrc
后生效。
注意事项:
• 使用 unalias 名称
可删除临时别名。
• 若别名与系统命令同名,优先执行别名(用 \命令
或 command 命令
可绕过别名)。
文件查看相关
1. cat
语法:cat [选项][文件]
功能: 查看目标文件的内容, 常用于行数短小的文件的查看。
常用选项:
-b
:对非空行输出编号-n
: 对输出的所有行编号-s
:不输出多行空行
2. more
cat
会查看整个文件的内容,直接定位到文件的末尾,当遇到大文件时,直接定位到文件的末尾,会导致我们不便查看到文件前面的内容。而more
指令可以让我们从文件第的一行开始,通过Enter
来进行向后滚动,逐行依次查看内容。但
more
的缺点是只能从文件开头向后进行翻页,无法向前进行查看。
语法:more [选项][文件]
功能:more命令,功能类似 cat
常用选项:
-n
:对输出的所有行编号q
: 退出more
3. less
语法: less [参数] 文件
功能:
-
less
工具也是对文件或其它输出进行分页显示的工具,应该说是linux
正统查看文件内容的工具,功能极其强大。 -
less
的用法比起more
更加的有弹性。在more
的时候,我们并没有办法向前面翻, 只能往后面看 -
但若使用了
less
时,就可以使用[pageup][pagedown]
等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容! -
除此之外,在
less
内可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜索。而且less
在查看之前不会加载整个文件
选项:以下选项适用于通过less
进入文件后在文件内进行搜索,而不是在使用less
打开文件时进行搜索。
-i
忽略搜索时的大小写-N
显示每行的行号/字符串
:向下搜索“字符串”的功能?字符串
:向上搜索“字符串”的功能n
:重复前一个搜索(与 / 或 ? 有关)N
:反向重复前一个搜索(与 / 或 ? 有关)q
:quit
所有选项是在:
处进行输入的。例如向下查找字符串hello,输入/hello
。
其他命令也都是在使用less
打开文件后再进行输入的。
因此查看文件使用
less
和cat
,以及通过==管道(下篇介绍)==配合head
和tail
比较多
4. head
head
与 tail
就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head
用来显示档案的开头至标准输出中,而 tail
就是看档案的结尾。
语法: head [参数]... [文件]...
功能:
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
选项:
-n [行数]
:显示文件的前n
行
5. tail
tail
命令从指定点开始将文件写到标准输出.使用tail
命令的-f
选项可以方便的查阅正在改变的日志文件,tail -f filename
会把filename
里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.
语法: tail [必要参数] [选择参数] [文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。tail
默认显示文件的后10行。
选项:
-f
循环读取-n 行数
: 显示行数
总结核心概念
- "一切皆文件"设计理念贯穿系统设计
- 命令行操作相比GUI更高效,适合批量处理与自动化
- 掌握路径定位与基础命令组合使用是Linux操作的关键基础
这些命令构成了Linux系统操作的基石,熟练使用将显著提升工作效率。下篇将讲解查找、压缩解压等进阶命令。
以上就是本文的所有内容了,如果觉得文章写的不错,还请留下免费的赞和收藏,也欢迎各位大佬在评论区交流
分享到此结束啦
一键三连,好运连连!
相关文章:
【Linux我做主】基础命令完全指南上篇
Linux基础命令完全指南【上篇】 Linux基础命令完全指南github地址前言命令行操作的引入Linux文件系统树形结构的根文件系统绝对路径和相对路径适用场景Linux目录下的隐藏文件 基本指令目录和文件相关1. ls2. cd和pwdcdpwd 3. touch4. mkdir5. cp6. mv移动目录时覆盖写入的两种特…...
101.在 Vue 3 + OpenLayers 使用 declutter 避免文字标签重叠
1. 前言 在使用 OpenLayers 进行地图开发时,我们经常需要在地图上添加点、线、区域等图形,并给它们附加文字标签。但当地图上的标注较多时,文字标签可能会发生重叠,导致用户无法清晰地查看地图信息。 幸运的是,OpenL…...
面试vue2开发时怎么加载编译速度(webpack)
可以输入命令获取默认 webpack 设置 vue inspect > set.js 1.使用缓存 configureWebpack: {cache: {type: filesystem, // 使用文件系统缓存类型buildDependencies: {config: [__filename] // 缓存依赖,例如webpack配置文件路径}}}, 2.启用 vue-loader (测试明…...
大模型推理后JSON数据后处理
大模型推理后JSON数据后处理 flyfish LLM 通常指的是 Large Language Model,也就是大语言模型,针对 JSON格式的输出,可以在大模型推理前、推理中、推理后进行处理,这里是在推理后进行处理。 针对模型输出结果,可采用结…...
面试总结:2024前端面试题
前几天写了一篇对面试官的吐槽,今天来总结一下最近面试的一些题目。题目不分具体公司了,毕竟题目的重复率不会特别高,就多做准备吧。 技术面还是离不开“八股文”,个人不喜欢也没办法,硬着头皮上,下面分几个…...
剑指 Offer II 083. 没有重复元素集合的全排列
comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20083.%20%E6%B2%A1%E6%9C%89%E9%87%8D%E5%A4%8D%E5%85%83%E7%B4%A0%E9%9B%86%E5%90%88%E7%9A%84%E5%85%A8%E6%8E%92%E5%88%97/README.md 剑指 Offer II 083. 没…...
SFT数据处理部分的思考
SFT数据及处理的业内共识 1.prompt的质量和多样性远重要于数据量级,微调一个 30 b 量级的base model只需要 10 w 量级的数据即可 参考:《LIMA:Less Is More for Alignment》 2.合成数据很重要!一般需要通过…...
c++三级(枚举问题)
菲波那契数列(2) 题目描述 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。 输入格式 第1行是测试数据的组数n,后面跟着n行…...
vb编程有哪些相关的IDE开发工具vb.net,Basic语言?
在编程领域,VB 系列拥有丰富多样的 IDE 开发工具,为不同需求的开发者提供了广泛的选择,以下为你详细介绍: 兼容 VB6 源码的开发工具 twinbasic:属于 VB7 系列,它几乎能 100% 兼容 VB6 源码,这…...
XSS跨站脚本攻击
1、什么是XSS攻击 XSS全称(Cross Site Scripting)跨站脚本攻击,为了避免与css层叠样式表名称冲突,所以改为xss,是最常见的web应用程序安全漏洞之一。它指的是恶意攻击者往web页面里插入恶意html代码(JavaS…...
Uniapp 开发 App 端上架用户隐私协议实现指南
文章目录 引言一、为什么需要用户隐私协议?二、Uniapp 中实现用户隐私协议的步骤2.1 编写隐私协议内容2.2 在 Uniapp 中集成隐私协议2.3 DCloud数据采集说明2.4 配置方式3.1 Apple App Store3.2 Google Play Store 四、常见问题与解决方案4.1 隐私协议内容不完整4.2…...
mapbox高阶,结合threejs(threebox)添加extrusion挤出几何体,并添加侧面窗户贴图和楼顶贴图
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️threebox extrusion挤出几何体二、🍀…...
【Pycharm】Pycharm无法复制粘贴,提示系统剪贴板不可用
我也没有用vim的插件,检查了本地和ubutnu上都没有。区别是我是远程到ubutnu的pycharm,我本地直接控制windowes的pycharm是没问题的。现象是可以从外部复制到pycharm反之则不行。 ctl c ctlv 以及右键 都不行 参考:Pycharm无法复制粘贴&…...
Java泛型程序设计使用方法
Java泛型程序设计是Java语言中一项强大的特性,它允许你编写更加通用和类型安全的代码。以下是Java泛型程序设计的使用方法和技巧: 1. 基本概念 泛型类:可以定义一个类,其中的某些类型是参数化的。 public class Box<T> {pr…...
【STM32】USART串口收发HEX数据包收发文本数据包
有关串口知识参考:【STM32】USART串口协议&串口外设-学习笔记-CSDN博客 HEX模式/十六进制模式/二进制模式:以原始数据的形式显示文本模式/字符模式:以原始数据编码后的形式显示 参考上面文章查看ASCII编码表 HEX数据包 包头包尾和…...
Keil5下载教程及安装教程(附安装包)
文章目录 前言一、Keil5下载教程二、Keil5安装教程三、Keil5授权教程 前言 本教程详细的介绍了Keil5下载教程及安装教程,就像搭积木一样简单易懂,让你轻松迈出开发的第一步。 一、Keil5下载教程 相比旧版本,Keil MDK v5.40 有显著升级。新增…...
快速上手网络通信 -- Qt Network应用开发
概述 在现代应用程序开发中,网络通信是不可或缺的一部分,无论是客户端与服务器之间的数据交换,还是设备间的通信,都需要一个高效且可靠的网络库。Qt提供了强大的QT Network模块,支持多种网络协议和操作,如HTTP、FTP、TCP/IP等,本文将详细介绍如何使用Qt Network模块进行…...
Linux-进程概念
本节学习重点: • 认识冯诺依曼系统 • 操作系统概念与定位 • 深⼊理解进程概念,了解PCB • 学习进程状态,学会创建进程,掌握僵⼫进程和孤⼉进程,及其形成原因和危害 • 了解进程调度,Linux进程优先级&am…...
【LeetCode】622、设计循环队列
【LeetCode】622、设计循环队列 文章目录 一、数组实现循环队列1.1 队列 二、多语言解法 一、数组实现循环队列 1.1 队列 注意:题目要求了 Front() 和 Rear(),当 IsEmpty() 时返回 -1 // go type MyCircularQueue struct {l intr intlen intcap intar…...
基于python+django+vue.js开发的医院门诊管理系统/医疗管理系统源码+运行
功能介绍 平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。源码 功能包括:医生管理、科室管理、护士管理、住院管理、药品管理、用户管理、日志管理、系统信息模块。 源码地址 https://github.com/geee…...
2023南京理工大学计算机复试上机真题
2023南京理工大学计算机复试上机真题 2023南京理工大学计算机复试机试真题 历年南京理工大学计算机复试上机真题 在线评测:传送门:pgcode.cn 括号匹配二 题目描述 苗苗今天刚刚学会使用括号,不过他分不清小括号,中括号&#…...
开发、科研、日常办公工具汇总(自用,持续更新)
主要记录汇总一下自己平常会用到的网站工具,方便查阅。 update:2025/2/11(开发网站补一下) update:2025/2/21(补充一些AI工具,刚好在做AI视频相关工作) update:2025/3/7&…...
python3GUI--模仿安卓桌面 By:PyQt5(附下载地址)
文章目录 一.前言二.展示1.主界面2.设置页面3.更换了壁纸且切换桌面页面 三.项目分享1.项目代码结构2.组件代码分享 四.总结 文件大小25.5M,欢迎下载体验!点击下载 一.前言 今天给大家推荐我用…...
STM32CubeIDE 下载与安装教程(以 1.18.0 版本为例)
STM32CubeIDE 下载与安装教程(以 1.18.0 版本为例) 软件介绍 STM32CubeIDE 是 STMicroelectronics 提供的官方集成开发环境(IDE),专为 STM32 微控制器系列设计。它融合了 STM32CubeMX 和 Eclipse 的强大功能…...
酒店宾馆IPTV数字电视系统:创新宾客体验,引领智慧服务新潮流
酒店宾馆IPTV数字电视系统:创新宾客体验,引领智慧服务新潮流 北京海特伟业科技有限公司任洪卓于2025年3月15日发布 随着智慧酒店的不断发展,宾客对于酒店内的娱乐和信息服务需求日益多样化,传统的电视服务已难以满足现代宾客的高…...
蓝桥杯刷题——第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
一、0握手问题 - 蓝桥云课 算法代码: #include <iostream> using namespace std; int main() {int sum0;for(int i49;i>7;i--)sumi;cout<<sum<<endl;return 0; } 直接暴力,题意很清晰,累加即可。 二、0小球反弹 - 蓝…...
MobileNet家族:从v1到v4的架构演进与发展历程
MobileNet 是一个专为移动设备和嵌入式系统设计的轻量化卷积神经网络(CNN)家族,旨在在资源受限的环境中实现高效的图像分类、对象检测和语义分割等任务。自 2017 年首次推出以来,MobileNet 经历了从 v1 到 v4 的多次迭代ÿ…...
PyTorch PINN实战:用深度学习求解微分方程
在人工智能与计算数学的交汇点,物理信息神经网络(Physics-Informed Neural Networks,PINN)正引领着一场求解微分方程的革命。传统上,微分方程是描述自然现象和工程问题中各种关系的重要工具,但其求解往往依…...
LRU(最近最少使用)算法实现
核心思想与基本思路 LRU(Least Recently Used)算法是一种缓存淘汰策略,其核心思想是淘汰最近最少使用的数据。 最近使用原则:最近被访问的数据在未来被访问的概率更高,因此应保留在缓存中。淘汰机制:当缓…...
【大模型实战】利用ms-swift微调框架对QwQ-32B推理模型进行微调
1. 背景介绍 之前我们在《大模型训练/微调的一些经验分享》、《利用DeepSeek-R1数据微调蒸馏ChatGLM32B让大模型具备思考能力》中做了相关模型微调的介绍。目前在基座大模型能力还没有达到足够牛的情况下,大模型微调在商业化、垂直领域应用依然是不可或缺࿰…...
蓝桥杯省赛真题C++B组-小球反弹
一、题目 有一长方形,长为 343720 单位长度,宽为 233333 单位长度。在其内部左上角顶点有一小球(无视其体积),其初速度如图所示且保持运动速率不变,分解到长宽两个方向上的速率之比为 dx:dy 15:17。小球碰到长方形的边框时会发生…...
Web3到底解决了什么问题?
文章目录 Web3到底解决了什么问题?1. 数据所有权与控制权的转移2. 打破中心化平台的垄断3. 信任与透明度的重构4. 价值分配机制的革新5. 互操作性与开放生态6.Web3 的局限性(附加说明) Web3到底解决了什么问题? 1. 数据所有权与控制权的转移 问题&am…...
基于CSV构建轻量级数据库:SQL与Excel操作的双模实践
基于CSV构建轻量级数据库:SQL与Excel操作的双模实践 引言:当CSV遇到SQL和Excel CSV(逗号分隔值)作为最通用的数据存储格式之一,凭借其纯文本可读性和跨平台兼容性,被广泛应用于数据交换和简单存储场景。但…...
【深度学习】多源物料融合算法(一):量纲对齐常见方法
目录 一、引言 二、量纲对齐常见方法 2.1 Z-score标准化Sigmoid归一化 2.2 Min-Max 归一化 2.3 Rank Transformation 2.4 Log Transformation 2.5 Robust Scaling 3、总结 一、引言 类似抖音、快手、小红书等产品的信息流推荐业务,主要通过信息流广告、信…...
STM32-SPI通信外设
目录 一:SPI外设简介 SPI框图编辑 SPI逻辑 编辑 主模式全双工连续传输 编辑 非连续传输 二:硬件SPI读写W25Q64 1.接线: 2. 代码 SPI外设的初始化 生成时序 一:SPI外设简介 STM32内部集成了硬件SPI收发电路&#…...
告别XML模板的繁琐!Word文档导出,easy!
word模板导出 最近项目中有个功能,导出月报,发现同事使用了docx格式模板,感觉比之前转成xml的简单多了,这边记录下使用方法。 xml方式导出word,模板太复杂了 资料 poi-tl 一个基于Apache POI的Word模板引擎,也是一个免费开源的Jav…...
LeetCode 3280 将日期转换为二进制表示
【算法实战】日期转二进制:两种解法的思路与优化(附代码解析) 一、问题描述 给定一个yyyy-mm-dd格式的日期字符串,要求将年、月、日分别转为无前导零的二进制,并保持year-month-day格式。 示例:输入2025-…...
基于SpringBoot的“考研互助平台”的设计与实现(源码+数据库+文档+PPT)
基于SpringBoot的“考研互助平台”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统整体功能图 局部E-R图 系统首页界面 系统注册…...
在线Doc/Docx转换为PDF格式 超快速转换的一款办公软件 文档快速转换 在线转换免费转换办公软件
小白工具https://www.xiaobaitool.net/files/word-pdf/提供了一项非常实用的在线服务——将Doc或Docx格式的文档快速转换为PDF格式。这项服务不仅操作简单,而且转换效率高,非常适合需要频繁处理文档转换的用户。 服务特点: 批量转换&#x…...
3.14-进程间通信
进程间通信 IPC 进程间通信的原理,借助进程之间使用同一个内核,借助内核,传递数据。 进程间通信的方法 管道:最简单。信号:开销小。mmap映射:速度最快,非血缘关系之间。socket(本…...
大模型AI多智能体系统(Multi-Agent Systems, MAS)技术介绍
一、多智能体系统的定义与核心概念 多智能体系统(MAS)是由多个具备自主决策能力的智能体(Agent)组成的分布式系统。每个智能体能够感知环境、执行动作,并通过协作或竞争实现个体或集体目标。其核心特征包括: 自主性:智能体无需外部指令即可独立决策(如MetaGPT中的角色…...
web3区块链
Web3 是指下一代互联网,也被称为“去中心化互联网”或“区块链互联网”。它是基于区块链技术构建的,旨在创建一个更加开放、透明和用户主导的网络生态系统。以下是关于 Web3 的一些关键点: ### 1. **核心概念** - **去中心化**࿱…...
Alembic 实战指南:快速入门到FastAPI 集成
一、快速开始 1.1 简介 Alembic 是一个基于 SQLAlchemy 的数据库迁移工具,主要用于管理数据库模式(Schema)的变更,例如新增表、修改字段、删除索引等,确保数据库结构与应用程序的 ORM 模型保持一致。 Alembic 通过版…...
【视频】V4L2、ffmpeg、OpenCV中对YUV的定义
1、常见的YUV格式 1.1 YUV420 每像素16位 IMC1:YYYYYYYY VV-- UU– IMC3:YYYYYYYY UU-- VV– 每像素12位 I420: YYYYYYYY UU VV =>YUV420P YV12: YYYYYYYY VV UU =>YUV420P NV12: YYYYYYYY UV UV =>YUV420SP(最受欢迎格式) NV21: YYYYYYYY VU VU =>YUV420SP…...
ubuntu20.04装nv驱动的一些坑
**1.一定要去bios里面关闭secure boot,否则驱动程序需要签名,安装了的驱动无法被识别加载 2.假如没有关闭secure boot然后装了驱动,然后再去关闭secure boot,可能会导致进入不了ubuntu的情况 此时,先恢复secure boot&…...
【SpringMVC】常用注解:@SessionAttributes
1.作用 用于多次执行控制器方法间的参数共享 2.属性 value:用于指定存入的属性名称 type:用于指定存入的数据类型 3.示例 先写JSP代码 <a href"demo1/putMethod">存入 SessionAttribute</a><br><a href"demo…...
阿里云企业邮箱出现故障怎么处理?
阿里云企业邮箱出现故障怎么处理? 以下是处理阿里云企业邮箱故障的详细分步指南,帮助您快速定位问题并恢复邮箱正常使用: 一、初步排查:确认故障范围与现象 确定影响范围 全体用户无法使用 → 可能为阿里云服务端故障或网络中断。…...
C# Enumerable类 之 集合操作
总目录 前言 在 C# 中,System.Linq.Enumerable 类是 LINQ(Language Integrated Query)的核心组成部分,它提供了一系列静态方法,用于操作实现了 IEnumerable 接口的集合。通过这些方法,我们可以轻松地对集合…...
LVGL移植到6818开发板
一、移植步骤 1.lv_config.h 配置文件启动 framebuffer 2、lv_config.h 配置文件关闭SDL 2.修改main.c 去掉SDL输入设备 3.修改Makefile 文件启动交叉编译 去掉警告参数 去掉SDL库 4.交叉编译代码 make clean #清空 ⭐ 必须要清空一次再编译! 因为修改了 lv_con…...
深入理解 `ParameterizedTypeReference`:解决 Java 泛型擦除问题
在 Java 中,由于类型擦除的存在,我们在使用 RestTemplate 获取带有泛型的 HTTP 响应时,可能会遇到 泛型信息丢失 的问题。而 ParameterizedTypeReference<T> 正是用来解决这个问题的。 本文将深入解析 ParameterizedTypeReference 的作…...