Linux常见指令
Linux常见指令
- 1、ls指令
- 2、pwd命令
- 3、cd指令
- 4、touch指令
- 5、mkdir指令
- 6、rmdir指令和rm指令
- 7、man指令
- 8、cp指令
- 9、mv指令
- 10、cat指令
- 11、重定向
- 12、more指令
- 13、less指令
- 14、head指令
- 15、tail指令
- 16、管道
- 17、时间相关指令
- 18、cal指令
- 19、find指令
- 20、grep指令
- 21、zip/unzip指令
- 22、tar指令
- 23、bc指令
- 24、uname指令
- 25、几个重要的热键
- 26、其他指令
- 28、命令拓展
- 29、shell命令以及运行原理
1、ls指令
语法: ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
1.1、ls:列出该目录下的所有文件名,不包含隐藏文件。
1.2、ls -a:列出该目录下的所有文件名,包含隐藏文件。
linux中以.开头的文件为隐藏文件。
1.3、ls -l:列出该目录文件详细信息
列出文件所有信息:包括文件的类型,权限,文件大小,时间,文件名等。
用红色圈起来这一列代表文件的类型,d就是目录文件,-就是普通文件。
多个选项可以搭配一起使用,例如ls -a -l或者ls -al:
这样就可以列出文件的详细信息,同时包含隐藏文件。
linux任何目录下都有两个隐藏文件:.和..
.文件表示当前路径:帮用户定位当前目录下的一个文件。
..文件表示当前路径的上级路径。
例如我们写了一个C程序,编译运行后我们要运行:
我们需要通过./a.out来运行它,不能直接用文件名来运行。
那么我们输入的指令呢?指令本质上也是一个可执行程序,我们输入就可以执行然后返回结果给我们。但是为什么指令不需要加./呢?这是因为指令配置了环境变量,这个我们后面再讲。
另外ll的功能相当于ls -l:
1.4、ls -d 指定目录:将目录像文件一样显示,而不是显示目录下的文件。
1.5、ls -F:在每个文件名后面附上一个字符说明该文件的类型。*表示可执行的普通文件,/表示目录,@表示符号链接。
2、pwd命令
语法: pwd
功能:显示用户当前所在的目录
当前用户路径为/home/zzy,也就是用户家目录。任何用户都有家目录,就是在/home/xxx。
3、cd指令
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
3.1、cd …:修改用户路径为当前路径的上级路径
3.2、cd配合绝对路径和相对路径进行路径切换
linux的目录结构整体是一颗多叉树,它的叶子节点一定是空目录或非空目录文件,路上的节点是一个非空目录。那么我们对linux的目录增删查改本质上就是对这颗多叉树进行增删查改。
linux路径是从/根路径开始的,我们把从根路径/开始定位到指定位置,具有唯一性的路径称为绝对路径。把以当前自己所处的路径为起始参照位置,来进行特定文件的定位称为相对路径。
3.3、cd - :回到用户上一次访问的路径
3.4、cd ~:返回用户家目录
每个用户都有家目录,就是在/home/xxx。
4、touch指令
语法:touch [选项]… 文件…
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
touch 文件名:用来创建普通文件。
如果需要修改文件内容,我们可以使用nano:
下面有对应选项的功能。
5、mkdir指令
语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录
5.1、mkdir xxx:创建文件名为xxx的目录
5.2、 mkdir -p x1/x2/x3 :创建一条路径
tree指令可以用来查看linux下的目录结构。
6、rmdir指令和rm指令
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
rmdir只能用来删除空目录。
rm命令可以同时删除文件或目录
语法:rm [-f-i-r-v][dirName/dir]
6.1、rm 文件名:删除文件,可以删除普通文件和空目录
6.2、rm -i:删除文件前进行询问
6.3、rm -f:强制删除文件
6.4、rm -r:递归删除,用于删除含有文件的目录
6.5、rm -rf xxx:递归强制删除普通文件或目录(慎用!!!!!!!!!!!)
7、man指令
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man。语法: man [选项] 命令
7.1、man 1 :查看linux指令
7.2、man 2:查看系统调用接口
7.3、man 3 :查看C语言接口
7.4、 man man:查看man指令如何使用
在man指令中退出按q即可。
8、cp指令
语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
8.1、cp指令拷贝普通文件
8.2、cp -i:覆盖文件之前询问用户
8.3、cp -f:强制覆盖不询问用户
8.4、cp -r 拷贝目录
9、mv指令
语法: mv [选项] 源文件或目录 目标文件或目录
功能:
1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
9.1、mv对文件进行重命名
9.2、mv对文件进行剪切
9.3、mv对文件进行剪切并重命名
所以可以这样理解:9.1是对文件移动到当前路径下然后重命名为test.txt。9.2是对文件移动到d1,并没有重命名。
10、cat指令
语法:cat [选项][文件]
功能: 查看目标文件的内容
10.1、cat查看文件内容
10.2、cat -n:带行号输出文件信息
10.3、cat -s:不输出多行空行
10.4、cat -b对非空输出行编号
11、重定向
你是如何理解指令的?指令本质上是一个可执行程序,它是在linux中特定路径下存在的:/usr/bin。因为指令配置了环境变量,所以可以直接输入指令然后运行。而我们自己写的程序没有配置环境变量,所以需要./来运行,如果将我们写好的编译好的C程序拷贝到/usr/bin目录下,就可以像指令一样直接运行:
直接使用cat指令,可以从键盘获取数据然后输出:
echo 指令可以将字符串输出到显示器上:
那么你如何理解键盘和显示器呢?数据怎么显示到显示器上的,又是怎么从键盘获取的呢?
本质上键盘、显示器也是文件,向显示器上打印数据就是将数据写入到显示器文件,从键盘获取数据就是从键盘文件中获取数据。linux下一切皆文件。
11.1、输出重定向:
输出重定向:本来应该显示到显示器上的内容,现在写入到文件中。并且每次都是清空文件然后再写入。
11.2、追加重定向:
追加重定向:不清空文件,在文件末尾追加内容。
11.3、输入重定向:
输入重定向:本来应该从键盘文件中读取,现在从指定的文件中读取。
12、more指令
cat指令是不适合看大文本的,适合看小文本。
如果我们要看一个大文本,如项目、日志等。就需要下面的命令。
more:功能类似cat,查看文本信息。
下面我们通过一行命令构建一个大文本:
cnt=1; while [ $cnt -le 10000 ]; do echo "hello linux $cnt"; let cnt++; done > f.txt
more查看文本:
可以通过enter键向后翻,通过q退出more。
13、less指令
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前
不会加载整个文件。
可以通过上下键翻阅,也可以通过jk键进行上下翻阅。q退出。
/:可以向下寻找字符串
?:可以向上查找字符串
14、head指令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。
语法: head [参数]… [文件]…
功能:
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
14.1、head查看文本
默认显示前10行
14.2、head -n:显示前n行
15、tail指令
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -
f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.
语法: tail[必要参数][选择参数][文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
15.1、tail指令查看文本:默认查看最后10行
15.2、tail -n:查看最后n行
16、管道
现在假设我想查看f.txt文件中的6-10行,该如何实现呢?
方式一:先用head将前10行输出重定向到文件中,然后用tail显示最后5行。
但是这种方式还是比较麻烦,我们可以利用管道:
|就是管道,将head取得的前10行通过管道流向tail。管道是一个内存级的文件。
还可以统计文本行数:
17、时间相关指令
date显示
date 指定格式显示时间: date +%Y:%m:%d
date 用法:date [OPTION]… [+FORMAT]
date +%s:显示时间戳
时间戳:从1970年1月1日午夜开始到现在所经过的秒数。
date -d@时间戳:通过时间戳显示时间信息
18、cal指令
cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
命令格式: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
18.1、cal默认显示当前月份日历
18.2、cal -3:显示当前月份、前一月、后一月日历信息
18.3、cal 年份:显示当年日历,也可以加-y,也可以不加,可以认为默认就是加-y的。
19、find指令
语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:find -name 查找文件名。其他选项可以自行查阅man文档使用。
例如我想查看当前路径下的test.c文件:
例如我想查阅家目录下所有的.c文件:
*是通配符,查找出所有以.c结尾的文件。
使用which可以查看系统指令的位置:在/usr/bin下面找
20、grep指令
grep是行过滤工具
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
20.1、grep过滤出指定字符串
20.2、grep -n带行号输出
20.3、grep -v:反向匹配,输出不存在给定字符串的数据
20.4、grep -i:忽略大小写
21、zip/unzip指令
zip/unzip是linux用来打包和解包的命令。
使用zip/unzip对普通文件进行打包并解包:
zip打包目录需要带-r:
unzip -d指定解压路径:
22、tar指令
tar指令也是用来打包和解包的。
tar [-cxtzjvf] 文件与目录 …参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
22.1、tar czf:打包
22.2、tar xzf:解包
22.3、-C指定解压路径
-v可以查看压缩或解压的过程。
23、bc指令
bc相当于计算器,使用如下:quit可以退出
搭配echo和管道使用:
24、uname指令
语法:uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
24.1、uname -a:查看主机所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
24.2、uname -r:查看操作系统内核版本
25、几个重要的热键
25.1、ctrl c:可以快速终止程序,例如在运行可执行程序的时候卡死了,可以直接ctrl c结束进程。例如我们输入了一串很长的命令,如果全部删掉要很长时间,可以直接ctrl c。
25.2、ctrl d:退出当前账户
25.3、tab:命令补全
上面输入wh按两下tab可以显示出以wh开头的所有指令。若只有一个指令按tab可以直接补全。
25.4、ctrl r:检索历史命令
下面演示使用ctrl,并输入grep检索之前使用过的命令:
26、其他指令
当我们处于root账户下,可以进行账户的增删改:
26.1、adduser xxx:添加用户,设置密码,并创建家目录。
26.2、passwd xxx:修改用户密码
26.3、deluser:删除用户
26.4、whoami:查看当前用户
26.5、which:查看指令所处位置
26.6、alias:给指令取别名
ll相当于是ls -l的别名,下面我们也可以使用alias取别名:
26.7、exit:用户退出相当于ctrl d的功能
26.8、history:查看历史命令,保存最近一千条
28、命令拓展
安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
29、shell命令以及运行原理
我们先来看命令行:
分别为:用户名、@、主机名、:、当前目录、命令行提示符。
我们输入命令的本质就是输入字符串。而指令的本质就是已经写好编译好的程序,在系统的特定路径下(/usr/bin)存放。
广义上:linux操作系统为shell外壳+linux内核。
狭义上:linux操作系统就指的是linux内核。
我们所有的指令,都要在linux系统内部运行,但是OS使用难度比较高,这是一方面,另一方面为了保护操作系统,我们用户不能直接和OS打交道。所以就有了shell,shell是对命令行解释器的统称,shell将我们输入的命令解析,然后传给OS执行,然后再将结果返回给用户。
命令行解释器存在的意义:
1、对命令进行解释。
2、保护OS,对于用户的非法请求,直接拦截。
相关文章:
Linux常见指令
Linux常见指令 1、ls指令2、pwd命令3、cd指令4、touch指令5、mkdir指令6、rmdir指令和rm指令7、man指令8、cp指令9、mv指令10、cat指令11、重定向12、more指令13、less指令14、head指令15、tail指令16、管道17、时间相关指令18、cal指令19、find指令20、grep指令21、zip/unzip指…...
Vue3、vue学习笔记
<!-- Vue3 --> 1、Vue项目搭建 npm init vuelatest cd 文件目录 npm i npm run dev // npm run _ 这个在package.json中查看scripts /* vue_study\.vscode可删 // vue_study\src\components也可删除(基本语法,不使用组件) */ // vue_study\.vscode\lau…...
用OpenCV写个视频播放器可还行?(C++版)
引言 提到OpenCV,大家首先想到的可能是图像处理、目标检测,但你是否想过——用OpenCV实现一个带进度条、倍速播放、暂停功能的视频播放器?本文将通过一个实战项目,带你深入掌握OpenCV的视频处理能力,并解锁以下功能&a…...
clion+arm-cm3+MSYS-mingw +jlink配置用于嵌入式开发
0.前言 正文可以跳过这段 初识clion,应该是2015年首次发布的时候, 那会还是大三,被一则推介广告吸引到,当时还在用vs studio,但是就喜欢鼓捣新工具,然后下载安装试用了clion,但是当时对cmake规…...
物联网-IoTivity:开源的物联网框架
IoTivity 是一个开源的物联网(IoT)框架,旨在为物联网设备提供互操作性、安全性和可扩展性。它由 Open Connectivity Foundation (OCF) 主导开发,遵循 OCF 的标准,致力于实现设备之间的无缝连接和通信。IoTivity 提供了一个统一的框架,支持设备发现、数据交换、设备管理和…...
Acrobat DC v25.001 最新专业版已破,像word一样编辑PDF!
在数字化时代,PDF文件以其稳定性和通用性成为了文档交流和存储的热门选择。无论是阅读、编辑、转换还是转曲,大家对PDF文件的操作需求日益增加。因此,一款出色的PDF处理软件不仅要满足多样化的需求,还要通过简洁的界面和强大的功能…...
【c++】模板进阶
在前面我们学习了模板的基础用法【c】 模板初阶-CSDN博客初步认识了函数模板和类模板,接下来让我们看看模板还有哪些进阶的应用。 非类型模板参数 之前我们用到的模板全都使用了类型参数 类型参数:表示某种数据类型(如 int、double、自定义…...
IntelliJ IDEA 2021版创建springboot项目的五种方式
第一种方式,通过https://start.spring.io作为spring Initializr的url来创建项目。 第二种方式,通过https://start.spring.io官网来直接创建springboot项目压缩包,然后导入至我们的idea中。 点击generate后,即可生成压缩包…...
数字信号处理之信号功率谱计算welch方法(分段加窗平均周期图)、Bartlett方法(周期图)(Python)
welch方法原理说明 welch方法[1]通过将数据划分为重叠的段,计算每个段的进行修改(加窗)后的周期图,然后对所有段的周期图求和进行平均,得到最终的功率谱密度。 Python和Matlab中均存在welch函数。welch函数通过配置noverlap为0,可…...
【面试】Java 基础
基础 1、Java 中几种基本数据类型什么,各自占用多少字节2、基本数据同包装类的区别3、Java 基本类型的参数传递和引用类型的参数传递有啥区别4、隐式类型转换和显式类型转换5、switch 语句表达式结果的类型6、数组的扩容方式7、面向对象三大特征8、静态变量和成员变…...
【工具使用】IDEA 社区版如何创建 Spring Boot 项目(详细教程)
IDEA 社区版如何创建 Spring Boot 项目(详细教程) Spring Boot 以其简洁、高效的特性,成为 Java 开发的主流框架之一。虽然 IntelliJ IDEA 专业版提供了Spring Boot 项目向导,但 社区版(Community Edition)…...
CTFHub-FastCGI协议/Redis协议
将木马进行base64编码 <?php eval($_GET[cmd]);?> 打开kali虚拟机,使用虚拟机中Gopherus-master工具 Gopherus-master工具安装 git clone https://github.com/tarunkant/Gopherus.git 进入工具目录 cd Gopherus 使用工具 python2 "位置" --expl…...
【Python字符串】\n是什么?它与raw字符串、多行字符串的运用有什么关系?
李升伟 整理 在Python中,\n 是换行符,用于在字符串中表示新的一行。当你在字符串中使用 \n 时,Python 会在该位置插入一个换行符,使得输出在 \n 处换行。 1. 普通字符串中的 \n 在普通字符串中,\n 会被解释为换行符…...
Linux 配置静态 IP
一、简介 在 Linux CentOS 系统中默认动态分配 IP 地址,每次启动虚拟机服务都是不一样的 IP,因此要配置静态 IP 地址避免每次都发生变化,下面将介绍配置静态 IP 的详细步骤。 首先先理解一下动态 IP 和静态 IP 的概念: 动态 IP…...
git lfs使用方法指南【在github保存100M以上大文件】
为了在 GitHub 仓库中存储超过 100MB 的大文件并避免推送失败,使用 Git LFS(Large File Storage) 是最佳解决方案。以下是详细步骤: 一、安装 Git LFS 下载并安装 Git LFS: 访问 Git LFS 官网 下载对应系统的安装包。或…...
【Linux】初识线程
目录 一、什么是线程: 重定义线程和进程: 执行流: Linux中线程的实现方案: 二、再谈进程地址空间 三、小结: 1、概念: 2、进程与线程的关系: 3、线程优点: 4、线程…...
【Linux学习笔记】Linux基本指令分析和权限的概念
【Linux学习笔记】Linux基本指令分析和权限的概念 🔥个人主页:大白的编程日记 🔥专栏:Linux学习笔记 文章目录 【Linux学习笔记】Linux基本指令分析和权限的概念前言一. 指令的分析1.1 alias 指令1.2 grep 指令1.3 zip/unzip 指…...
uniapp登录用户名在其他页面都能响应
使用全局变量 1、在APP.vue中定义一个全局变量,然后在需要的地方引用它; <script>export default {onLaunch: function() {console.log(App Launch)this.globalData { userInfo: {} };},onShow: function() {console.log(App Show)},onHide: fu…...
ESP8266 入门(第 2 部分):使用 AT 命令
使用 AT 命令对 WiFi 收发器ESP8266编程 本教程是上一个教程 ESP8266 入门(第 1 部分)的延续。因此,简单回顾一下,在之前的教程中,我们介绍了 ESP 模块,并学习了一些基础知识。我们还使用 FTDI 串行适配器模块制作了一个开发板,该模块可以很容易地用于使用 AT 命令和 A…...
介绍一下Qt 中的QSizePolicy 布局策略
在 Qt 中,QSizePolicy 类用于描述一个控件在布局中如何分配空间,它定义了控件在水平和垂直方向上对空间的需求和响应策略。以下是对 QSizePolicy 策略的详细介绍: 基本概念 QSizePolicy 包含两个主要的属性:Policy(策…...
从ETL到数仓分层:大数据处理的“金字塔”构建之道
在当今数据驱动的时代,大数据处理已成为企业决策和业务优化的核心。而ETL(Extract, Transform, Load)作为数据处理的基石,其背后的数仓分层理念更是决定了数据处理的效率与质量。本文将深入探讨ETL工作中的数仓分层理念࿰…...
springBoot集成声明式和编程式事务的方式
一、声明式事务 前提集成了mybatisplus插件 1、pom依赖 <dependencies><!-- MyBatis-Plus 启动器 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.4&l…...
前端实现版本更新自动检测✅
🤖 作者简介:水煮白菜王,一位资深前端劝退师 👻 👀 文章专栏: 前端专栏 ,记录一下平时在博客写作中,总结出的一些开发技巧和知识归纳总结✍。 感谢支持💕💕&a…...
Python零基础学习第三天:函数与数据结构
一、函数基础 函数是什么? 想象你每天都要重复做同一件事,比如泡咖啡。函数就像你写好的泡咖啡步骤说明书,每次需要时直接按步骤执行,不用重新想流程。 # 定义泡咖啡的函数 def make_coffee(sugar1): # 默认加1勺糖 print("…...
深入了解Linux —— 调试程序
前言 我们已经学习了linux下许多的工具,vim、gcc、make/makefile等; 已经能够在linux写代码,并且进行编译运行,让程序在linux下跑起来。 但是,如果我们在写代码的时候遇见了错误;但是我们并不知道错误在哪&…...
解决VScode 连接不上问题
问题 :VScode 连接不上 解决方案: 1、手动杀死VS Code服务器进程,然后重新尝试登录 打开xshell ,远程连接服务器 ,查看vscode的进程 ,然后全部杀掉 [cxqiZwz9fjj2ssnshikw14avaZ ~]$ ps ajx | grep vsc…...
行式数据库与列式数据库区别
列式数据库(Columnar Database)和行式数据库(Row-based Database)是两种不同的数据存储和检索方式,它们在数据组织、存储结构和适用场景上有显著区别。以下是对两者的详细对比: 1. 数据存储方式 行式数据库…...
如何将本地已有的仓库上传到gitee (使用UGit)
1、登录Gitee。 2、点击个人头像旁边的加号,选择新建仓库: 3、填写仓库相关信息 4、复制Gitee仓库的地址 5、绑定我们的本地仓库与远程仓库 6、将本地仓库发布(推送)到远程仓库: 注意到此处报错ÿ…...
FIWARE:开源的物联网平台,支持设备虚拟化和数据管理
FIWARE 是一个开源的物联网(IoT)平台,旨在为物联网应用提供强大的数据管理和设备虚拟化功能。FIWARE 提供了一系列通用的 API 和组件,支持设备管理、数据采集、数据处理、数据共享和安全通信等功能,使得开发者能够快速构建和扩展物联网解决方案。以下是 FIWARE 的核心功能…...
RISC-V汇编学习(三)—— RV指令集
有了前两节对于RISC-V汇编、寄存器、汇编语法等的认识,本节开始介绍RISC-V指令集和伪指令。 前面说了RISC-V的模块化特点,是以RV32I为作为ISA的核心模块,其他都是要基于此为基础,可以这样认为:RISC-V ISA 基本整数指…...
【Linux】冯诺依曼体系与操作系统理解
🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:Linux 目录 前言 一、冯诺依曼体系结构 二、操作系统 1. 操作系统的概念 2. 操作系统存在的意义 3. 操作系统的管理方式 4. 补充:理解系统调用…...
Android15使用FFmpeg解码并播放MP4视频完整示例
效果: 1.编译FFmpeg库: 下载FFmpeg-kit的源码并编译生成安装平台库 2.复制生成的FFmpeg库so文件与包含目录到自己的Android下 如果没有prebuiltLibs目录,创建一个,然后复制 包含目录只复制arm64-v8a下...
音视频入门基础:RTP专题(16)——RTP封装音频时,音频的有效载荷结构
一、引言 《RFC 3640》和《RFC 6416》分别定义了两种对MPEG-4流的RTP封包方式,这两个文档都可以从RFC官网下载: RFC Editor 本文主要对《RFC 3640》中的音频打包方式进行简介。《RFC 3640》总共有43页,本文下面所说的“页数”是指在pdf阅读…...
3.3.2 Proteus第一个仿真图
文章目录 文章介绍0 效果图1 新建“点灯”项目2 添加元器件3 元器件布局接线4 补充 文章介绍 本文介绍:使用Proteus仿真软件画第一个仿真图 0 效果图 1 新建“点灯”项目 修改项目名称和路径,之后一直点“下一步”直到完成 2 添加元器件 点击元…...
MySQL创建数据库和表,插入四大名著中的人物
一、登录数据库并创建数据库db_ck 二、创建表t_hero 表属性包括(id,name,nickname,age,gender,address,weapon,types) mysql> create table t_hero(-> id int,-…...
matlab和FPGA联合仿真时读写.txt文件数据的方法
在FPGA开发过程中,往往需要将MATLAB生成的数据作为原始激励灌入FPGA进行仿真。为了验证FPGA计算是否正确,又需要将FPGA计算结果导入MATLAB绘图与MATLAB计算结果对比。 下面是MATLAB“写.txt”、“读.txt”,Verilog“读.txt”、“写.txt”的代…...
C++修炼之路:初识C++
Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路! 我的博客:<但凡. 我的专栏:《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞,关注! 引言 …...
ACE协议学习1
在多核系统或复杂SoC(System on Chip)中,不同处理器核心或IP(Intellectual Property)模块之间需要保持数据的一致性。常用的是ACE协议or CHI。 先对ACE协议进行学习 ACE协议(Advanced Microcontroller Bu…...
通俗易懂的介绍LLM大模型技术常用专业名词(通用版)
1. 神经网络 (Neural Network) 解释: 一种模拟人脑神经元结构的计算模型,用于处理复杂的数据模式。 示例: 图像识别中的卷积神经网络(CNN)。 2. 深度学习 (Deep Learning) 解释: 基于多层神经网络的机器学习方法,能够自动提取数…...
深度学习环境安装
Anaconda 3.0 下载地址 Download Success | Anaconda CUDA 下载地址 cuda_12.4.0 https://developer.nvidia.com/cuda-12-4-0-download-archive?target_osWindows&target_archx86_64&target_version11&target_typeexe_local pytorch 下载地址 (2…...
【哇! C++】类和对象(五) - 赋值运算符重载
目录 编辑 一、运算符重载 1.1 运算符重载概念 1.2 全局运算符重载 1.3 运算符重载为成员函数 二、赋值运算符重载的特性 2.1 赋值运算符重载需要注意的点 2.2 赋值运算符重载格式 2.2.1 传值返回 2.2.2 传引用返回 2.2.3 检查自己给自己赋值 三、赋值运算符重载的…...
【时序图】1.StarUML绿化
1)下载地址 官网: StarUML 如下: 2)绿化 step1:用管理员打开cmd,执行如下 npm install -g asar cd C:\Program Files\StarUML\resources //进入到StarUML的默认安装目录下面 asar extract app.asar app //反编译软件step2:把resources下的app文件夹拷贝出来到…...
mysql练习
创建数据库db_ck,再创建表t_hero,将四大名著中的主要人物都插入这个表中,将实现过程中sql提交上上来 1、创建数据库db_ck mysql> create database db_ck; 2、创建表t_hero mysql> use db_ck Database changed mysql> create table …...
数据结构(队列)
数据结构(队列) 什么是队列? 队列和栈类似,也是一类特殊的线性表。特殊之处也是在于操作上。队列:只允许在一端进行插入数据操作(入队),在另一端进行删除数据操作(出队&…...
fps项目二次总结
文章目录 角色角色蓝图动画蓝图角色蓝图与动画蓝图间的通信动画蓝图绑定在网格体上 其他蓝图角色蓝图与其他蓝图的通信通信详解单向通信:A向B与B向A互不相通A向B发送消息A:发起方:即调用方B:接收方:即提供方࿱…...
VTK笔记- 3D Widget类 vtkSplineWidget 样条部件
vtk3DWidget vtk3DWidget是用于3D交互观察器的基类,也就是各种3D小部件类的基类,主要是在三维渲染场景中生成一个可以用于控制数据的可视化实体,比如点,线段(曲线)、平面、球体、包围盒(线框&am…...
文心一言:中国大模型时代的破局者与探路者
2023年,生成式人工智能(AIGC)的浪潮席卷全球,而百度推出的“文心一言”(ERNIE Bot)作为中国AI领域的代表性产品,迅速成为行业焦点。这款基于百度自主研发的“文心大模型”打造的对话式AI工具&am…...
【芯片验证】verificationguide上的36道UVM面试题
跟上一篇一样,verificationguide上的36到UVM面试题,通义回答ds判卷。 1. What is uvm_transaction, uvm_seq_item, uvm_object, uvm_component? uvm_transaction、uvm_seq_item、uvm_object、uvm_component是什么? uvm_transaction是UVM中所有事务的基础类,用于表示仿真…...
操作系统控制台-健康守护我们的系统
引言基本准备体验功能健康守护系统诊断 收获提升结语 引言 阿里云操作系统控制平台作为新一代云端服务器中枢平台,通过创新交互模式重构主机管理体验。操作系统控制台提供了一系列管理功能,包括运维监控、智能助手、扩展插件管理以及订阅服务等。用户可以…...
基于策略模式的智能提示语生成器设计与实现——以Tkinter GUI开发为例
基于策略模式的智能提示语生成器设计与实现——以Tkinter GUI开发为例 一、引言:智能化时代的提示工程工具 在人工智能技术广泛应用的时代背景下,如何与AI模型进行有效交互已成为关键技能。本文介绍的"AI任务需求与提示语策略生成器"正是基于…...