【Linux指令策】❤️基本必备指令❤️——打开Linux大门,带你快速上手Linux(超详细,收藏这一篇就足够啦~!!!)

news2024/12/23 19:31:34

【Linux入门】——基本指令

目录

一:认识操作系统

1.1:操作系统是什么?

1.2:操作系统 ——管理

1.3:操作系统——贯穿

二:Linux基本指令

2.1-指令学习(上篇)

2.1.1 => ls 指令

2.1.2 => pwd 指令

2.1.3 => cd指令

2.1.4 => mkdir指令

2.1.5 => touch 指令

2.1.6 => rm 指令

2.2-指令学习(中篇)

2.2.1 => man 指令

2.2.2 => cp 指令

2.2.3 => mv 指令

2.2.4 => cat 指令

2.2.5 => more 指令

2.2.6 => less 指令

2.2.7 => head 指令

2.2.8 => tail 指令

2.2.9 => alias 指令

2.2.10 => which 指令

2.2.11 => echo 指令

2.3-指令学习(下篇)

2.3.1 => date 指令

2.3.2 => cal 指令

2.3.3 => find 指令

 2.3.4 => grep 指令

 2.3.5 => zip/unzip 指令

2.3.6 => tar 指令

2.3.7 => bc 指令

2.3.8 => uname 指令

2.4-指令学习必备附加知识点


一:认识操作系统

1.1:操作系统是什么?

操作系统是一款做软硬件管理的软件。操作系统有两大功能:管理和贯穿

1.2:操作系统 ——管理

        在操作系统之上,需要有各种不同的应用软件来满足用户不同的应用场景。 所以应用软件是在操作系统之上的那么操作系统是如何发挥工作的呢?以某个项目为例应用软件相当于用户,操作系统相当于某家公司的boss,当用户(应用软件)有了某个需求找到boss(操作系统),boss就会将该任务安排给下面的员工(硬件)来完成,但是boss并不会直接将各个任务分配给每一个员工(硬件),这就得需要一个项目经理(设备驱动)来管理这些所有员工和各个任务,boss将这个项目给项目经理(设备驱动),项目经理(设备驱动)将该项目得各个任务具体分配给每一个员工(硬件)。

        通过上面的例子,我们可以得出操作系统的核心工作:通过对下管理好软硬件资源的手段,达到对上提供良好的稳定、快速、安全的操作/使用环境。

        一个好的操作系统得衡量指标:稳定、快速、安全

1.3:操作系统——贯穿

        操作系统是通过对软件和硬件的管理,是它们相互关联起来。即我们在计算机上的所有行为都会转化为硬件行为。我们所有的软件行为全部都是要自顶向下贯穿计算机的软硬件结构,所以所有的软件行为都和操作系统直接或者间接相关。


二:Linux基本指令

2.1-指令学习(上篇)

  1. ls 指令:查看当前目录中的文件或文件夹
  2. pwd 指令:查看当前目录所处的位置
  3. mkdir 指令:相当于在我们的 Windows操作系统中,建立一个文件夹
  4. cd 指令:进入某一个文件夹的指令
  5. touch 指令:建立一个普通文件(非文件夹)的文件(文本文档/记事本/.c文件/...)
  6. rm 指令:用来删除文件的指令

在此之前,我们应该有一个概念:指令是可以携带选项的。 

2.1.1 => ls 指令

语法: ls [选项][目录或文件] 
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

常用选项:

  • ls -l :显示更多的文件属性
  • ls -a :显示该文件夹中的所有文件,包括隐藏文件
  • ls -al :显示该文件夹中的所有文件(包括隐藏文件和其各自的属性)
  • ls -d :将目录像文件一样显示,而不是显示其下的文件
  • ls -F :在每个文件名后附上一个字符以说明该文件的类型(‘*’表示可执行的文件,'/'表示目录,'@'表示符号链接,...)

实例:

只输入 ls指令:将/home/alin 路径下的文件都显示出来。

输入 ls -l 选项(可以简写成 ll 指令)指令:显示该目录下的文件更多属性。

输入 ls -a 选项指令:显示该文件夹中的所有文件,包括隐藏文件(以 . / .. 开头的文件)。

输入 ls -al 选项(可以简写成 ll -a)指令:显示该文件夹中的所有文件(包括隐藏文件和其各自的属性)。

输入 ls -d 选项指令:将目录像文件一样显示,而不是显示其下的文件。【说明当前所处的文件是一个隐藏文件】

输入 ls -F 选项指令:在每个文件名后附上一个字符以说明该文件的类型(‘*’表示可执行的文件,'/'表示目录,'@'表示符号链接,...)

附加知识点:

Linux中任何一个目录下都有两个隐藏文件( . / ..

..  表示当前路径的上级路径

 表示当前路径(用法一:可以执行当前路径下的可执行程序)

.. / . 存在的意义就是帮用户定位当前目录下的每一个文件。


2.1.2 => pwd 指令

语法: pwd 
功能:显示用户当前所在的目录

实例:

输入 pwd 指令,显示当前文件所在的目录


2.1.3 => cd指令

Linux的整个目录系统中,一定是一个多叉树的样子。

语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。

常用选项:

  • cd .. :返回上级目录
  • cd ~ :返回家目录
  • cd - : 返回最近访问目录
  • cd /home/alin/Linux :绝对路径
  • cd ../Linux :相对路径

实例:

输入 cd .. 指令:返回上一级目录

输入 cd ~ 指令:返回家目录【进入Xshell 后默认进入的目录】

输入 cd - 指令:返回最近访问目录

绝对路径:我们把从/开始定位到指定位置,具有唯一性的路径,称为绝对路径。

相对路径:以当前所处的位置作为起始点,作为参照位置来进行特定文件的定位。 eg: ../lib/Test.cpp

 输入 cd /home/alin/2024-Linux/ 绝对路径:

 输入 cd ../linux---information-pavilion 相对路径:


2.1.4 => mkdir指令

语法:mkdir [选项] dirname... 
功能:在当前目录下创建一个名为 “dirname”的目录

常用选项:

  • -p, --parents  可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录

实例:

输入 mkdir test 指令,创建一个名为 test 的目录文件:

输入 mkdir -p d1/d2/d3,一次性创建多个目录文件: 


2.1.5 => touch 指令

语法:touch [选项]... 文件... 
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

不过当前我们只需知道 touch 指令可以创建一个普通文件(非目录文件)

实例:

输入 touch log.txt 指令:创建一个名为 log.txt 的普通文件

输入 touch te.c td.c 指令,创建两个普通文件(te.c 和 td.c):


2.1.6 => rm 指令

语法:rm [选项] 文件/目录
适用对象:所有使用者
功能:删除文件或目录

常用选项:

  • -f 即使文件属性为只读(即写保护),亦直接删除
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件

 实例:

输入 rm 指令:删除普通文件

输入 rm -i 指令:删除前逐一询问确认

 输入 rm -r 指令:删除目录文件


2.2-指令学习(中篇)

  1. man 指令:"字典"——查看各个指令的用法和说明
  2. cp 指令:拷贝文件或目录
  3. mv 指令:对文件进行重命名,剪切
  4. cat 指令:查看目标文件的内容(针对小文件)
  5. more 指令:获取大文本的内容
  6. less 指令:获取大文本的内容(功能比 more 指令更强)
  7. head 指令:提取文本前N行
  8. tail 指令:提取文本后N行
  9. alias 指令:起一个别名
  10. which 指令:查看指令所对应的路径
  11. echo 指令:将后面的字符串写入到显示器文件中(打印后面的字符串到屏幕上)

2.2.1 => man 指令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man。

语法: man [选项] 命令
功能:查看各个指令的用法和说明

实例:

输入 man ls 指令:查看 ls 指令的功能、用法

输入 man pwd 指令:查看 pwd 指令的功能、用法

输入 man man 指令:查看 man 指令的功能、用法

man 指令手册说明中,有9个接口(1.基本指令;2.系统调用;3.C语言接口/库函数;....)。 

man + [ 序号手册接口 ] + 指令/函数

若无序号手册接口,则默认查找顺序:1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9


2.2.2 => cp 指令

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

常用选项:

  • -f :强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i :覆盖文件之前先询问用户
  • -r :递归处理,拷贝目录

实例:

拷贝普通文件:

输入 cp mytest.txt mytest_back.txt:拷贝到当前目录下,并且新目录以mytest_backup.txt命名

输入 cp mytest.txt  ../log.txt  拷贝到上一级目录下,新目录以log.txt命名

拷贝目录文件:

输入 cp -r d1 tmp 指令:拷贝d1目录到当前路径下的 tmp目录中。

附加知识点:

tree 指令:将对应的目录文件之后的内容以树状形式显示出来。

安装 tree 指令:

  1. 登录 root 账号
  2. 输入:yum install -y tree

2.2.3 => mv 指令

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

功能:剪切,重命名

常用选项:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

实例:

重命名:

输入 mv mytest_back.txt a_test.txt 指令:将 mytest_back.txt 文件重命名为a_test.txt 。

剪切:

输入 mv mytest.txt ./tmp 指令:将mytest.txt 文件剪切到 tmp 目录文件中。

重命名 + 剪切:

输入 mv mytest.txt ../b_test.txt 指令:将当前目录下的 mytest.txt 文件剪切到上一级目录下,并再重命名为 b_test.txt 。

附加知识点:

指令的本质就是文件——可执行程序,是直接安装到了系统的某种路径下。

通过编译处理 Test.c 文件生成了可执行程序 a.out 。所以直接输入 a.out 即可运行该 .c 文件代码。输入 ls 指令也可执行某个进程。即指令的本质就是可执行程序。


2.2.4 => cat 指令

语法:cat [选项][文件] 
功能:查看目标文件的内容,用来查看小文件。

常用选项:

  • -b 对非空输出行编号
  • -n 对输出的所有行编号
  • -s 不输出多行空行

实例:

输入 cat test.txt 指令:将文件中的内容显示到屏幕上

输入 cat -n test.txt 指令:将输出的内容进行编号,也编号空行:

输入 cat -b test.txt 指令:将输出的内容进行编号,不编号空行:

输入 cat -s test.txt 指令:不输出多空行【多行压缩成为一行】


2.2.5 => more 指令

语法:more [选项][文件] 
功能:more命令,功能类似 cat ,用来查看大文件,查看时只能依次向下翻找。

常用选项:

  • -n 对输出的所有行编号
  • q 退出more

实例:

先创建一个大文本(./a.out > a_test.txt):

输入 more a_test.txt 指令:开始查看大文档:

按 enter 键往下翻找,按 -q 键退出。

输入 more -500 a_test.txt 指令:到第500行时停下来:


2.2.6 => less 指令

语法: less [ 参数 ] 文件
功能 : less与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。都是针对大文件的。
常用选项:
  • -n 对输出的所有行编号
  • q 退出less
实例:
输入 less a_test.txt 指令:查看大文件 a_test.txt
点击 上箭头/下箭头,可向上/向下翻找。
再次输入 /500 会直接到第500行的位置行

按 -q 键退出。


2.2.7 => head 指令

语法:head [参数]... [文件]...  

功能:提取文本前N行

实例:

输入 head -3 a_test.txt 指令:提取 a_test.txt 文件前3行:

输入 head -10 a_test.txt 指令:提取 a_test.txt 文件前10行:


2.2.8 => tail 指令

语法:tail [参数]... [文件]...  

功能:提取文本后N行

实例:

输入 tail -3 a_test.txt 指令:提取 a_test.txt 文件后3行:

输入 tail -10 a_test.txt 指令:提取 a_test.txt 文件后10行:

附加知识点(管道 | ):

使用示例:提取文本中第1001行至1020行的内容

管道:一种符号( | ),作用是:将左侧的内容输入到管道(管道文件)中,再将管道文件进行右侧指令的操作。其中,一个管道只能有一个出口和一个入口。


2.2.9 => alias 指令

功能:起别名

实例:alias a_cmd='ls -l -a -n'

给 ls -l -a -n 指令起一个别名 a_cmd

输入 alias a_cmd='' 命令:别名不用了,删除别名


2.2.10 => which 指令

功能:搜索。后跟指令,用来进行指令位置的搜索

实例:

输入 which ls 指令:搜索指令 ls 的存放位置:

输入 which pwd 指令:搜索指令 ls 的存放位置:


2.2.11 => echo 指令

功能:默认将指令后面跟的字符串写入到显示器文件中。

echo 指令后面跟字符串。

实例:

输入 echo "Hello Linux" 指令:把"Hello Linux" 该字符串写入到显示器文件中(打印"Hello Linux"到屏幕上)。

输出重定向【 > 】:

输入 echo "Hello Linux" > out.txt 指令:将原本写入到显示器文件中的 "Hello Linux" 写入到普通文件 out.txt 中。

但是,输出重定向 在向目标文件进行写入的时候,会覆盖写入:1.清空目标文件;2.写入新内容

继续输入 echo "Welcome to China" > out.txt 指令:

输出重定向两个作用:清空文件内容 and 创建普通文件

 1.输入 > out.txt 指令:清空 out.txt 普通文件的内容

 2.创建普通文件

不一定非得用touch指令创建普通文件,例如 echo "Hello Linux“ >> test.txt,若test.txt文件不存在,则会先创建一个名为test.txt的普通文件,再将"Hello Linux"写入。所以创建一个普通文件:>newtest.txt

追加重定向【 >> 】:

功能:在输出重定向时,不清空目标文件的原始内容

输入重定向【 < 】:

        一般情况下,cat + 文件名。但是若cat后什么也没有,输入什么就打印什么(默认从输入设备[键盘文件]读取)。【退出时 ctrl + c】

而输入重定向:cat < out.txt 本来应该从键盘文件读取的,现在不从键盘中读取,而是从指定文件(out.txt)读取


2.3-指令学习(下篇)

  1. date 指令:与时间相关的指令,可查看时间
  2. cal 指令:被称作是日历指令,用来显示日历
  3. find 指令:搜索查找在任意路径下的文件、指令
  4. grep 指令:行文本过滤工具,按行进行过滤
  5. zip/unzip 指令:打包和压缩文件
  6. tar 指令:查看目标文件的内容
  7. bc 指令:Linux下的计算器
  8. uname 指令:查看操作系统内信息

2.3.1 => date 指令

%Y:查看年份   %m:查看月份   %d:查看日份   %H:查看时分   %M:查看分钟   %S:查看秒

语法:date +%Y...(查看年份等时间)

功能:与时间相关的指令,可查看时间

实例:

输入 date +%Y-%m-%d 指令:显示当前时间的年-月-日

输入 date +%Y-%m-%d_%H:%M:%S 指令:显示当前时间的年-月-日_时:分:秒

附加知识点(时间戳):

Unix时间戳:是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

查看当前时间的时间戳:date +%s

将时间戳转化为我们所熟知的具体时间:

方法一:date -d @...

方法二:date +%Y-%m-%d_%H:%M:%S -d @...


2.3.2 => cal 指令

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。

语法:cal [参数][月份][年份]

功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份。

实例:

输入 cal 指令:将当前月份的日历显现出来

 输入 cal -3 指令:将当前月份的前一个月份、当前月份、后一个月份共3个月的日历显示出来

输入 cal 2024 指令:将2024年所有的日历显示出来


2.3.3 => find 指令

语法:find 文件位置 -name 文件名

功能:用于在文件树(任意路径下)中查找文件,并作出相应的处理(可能访问磁盘),通常和 -name 配合使用。

实例:

输入 find ~ -name log.txt 命令:将家目录以下的所有名为 log.txt 的文件显示出来

输入 find /usr/bin/ -name ls 命令:在/usr/bin/路径下显示 ls 指令


 2.3.4 => grep 指令

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

功能:行文本过滤工具【按行进行过滤】

常用选项:

  • -i :忽略大小写的不同,所以大小写视为相同
  • -n :顺便输出行号
  • -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

实例:

输入 grep '999' a_test.txt 命令:在a_test.txt文件中,按行进行匹配'999',将包含'999'的提取出来

 输入 grep -n '999' a_test.txt 命令:在a_test.txt文件中,按行进行匹配'999',对提取的内容按行进行编号。

输入 grep -v '999' a_test.txt 命令:"reverse"逆置,在a_test.txt文件中,按行进行匹配'999',将不包含'999'的提取出来

...


输入 grep -i 'alin' log.txt 命令:在log.txt文件中,即可将匹配'alin'的文本行,又可匹配'ALIN'/‘Alin’...的文本行。

grep 指令后也可跟多个文件:

输入 grep 'alin' log.txt test.txt 命令:在 log.txt 和 test.txt 两个文件中查找字符串 'alin'

grep 指令在平时中最重要的用法是:寻找项目定位其入口

输入 grep -Rn 'int main()' /home/alin 命令:grep重点用法,grep后跟/home/alin(目录),用来寻找某一项目入口(R:代表目录进行递归)


 2.3.5 => zip/unzip 指令

语法:zip 压缩文件.zip 目录或文件

功能:将目录或文件压缩成zip格式

常用选项:

  • -r 递归处理,将指定目录下的所有文件和子目录一并处理
  • -d 解压到指定路径

实例:

压缩 / 解压普通文件:

输入 zip test.zip test 命令:将 test 普通文件打包到当前目录中:

输入 unzip test.zip 命令,解压 test.zip 包文件到当前路径下:

压缩 / 解压目录文件:

输入 zip -r di.zip d1 log.txt 命令:将d1目录和log.txt普通文件一起压缩成一个名为d1.zip的压缩包到当前目录下

输入 unzip d1.zip 命令:将d1.zip压缩包解压到当前路径下

输入 unzip d1.zip -d ./tmp 命令:将d1.zip压缩包解压到当前路径下的tmp目录中(解压到指定目录下)

附加知识点:

打包和压缩:

打包:将所有的文件装在一起,使其不容易丢失。

压缩:将装在一起的文件,按照特定的算法将它们合理精细的进行摆放,达到减少存储空间的目的。

检测是否安装了 zip 指令:=> zip --help

安装 zip / unzip 指令:以root账号登录,登陆后 yum install -y zip unzip


2.3.6 => tar 指令

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

功能:打包与解压(使用主流)

常用选项:

  • -c :建立一个压缩文件的参数指令(create 的意思);
  • -x :解开一个压缩文件的参数指令!
  • -t :查看 tarfile 里面的文件!

实例:

输入 tar czf code.tar.gz d1 log.txt 命令:将d1目录和log.txt普通文件一起打包成一个名为code.tgz的包文件。

输入 tar tzf code.tgz d1 log.txt 命令:预览打包的code.tgz文件。

输入 tar xzf code.tgz d1 log.txt 命令:解压code.tgz包文件(解压到当前目录)

输入 tar xzf code.tgz -C ./tmp 命令:解压code.tgz包文件(解压到tmp目录文件中)

附加知识点:

tgz <==> tar.gz,即 tgz 等同于 tar.gz( tar:打包后缀;gz:压缩后缀)

czf 创建打包文件 c:create(创建)  z:以zip算法方式来压缩  f:其后指定文档名称包的新命名】

tzf 预览打包文件

xzf 解压解包文件


2.3.7 => bc 指令

功能:Linux下的计算器,通常和管道匹配使用

实例:

输入 bc 指令:

输入 echo '12+45*34-90/24' | bc 命令:计算 12+45*34-90/24 的结果:


2.3.8 => uname 指令

语法:uname [选项]

功能:uname用来获取电脑和操作系统的相关信息

常用选项:

  • -a 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
  • -r 查看操作系统的体系结构

实例:

输入 uname -a 命令:

输入 uname -r 命令:


2.4-指令学习必备附加知识点

Xshell下的复制粘贴:复制(ctrl + insert);粘贴(shift + insert)

Linux下一切皆文件。

文件:文件的属性也是数据,只要是数据就必须要存储。所以,文件 = 文件内容 + 文件属性。Linux中对文件的操作就是对文件内容的操作 or 对文件属性的操作。

文件的类型:d:该文件是一个目录文件(以 d 开头);- :该文件是一个普通文件(以 - 开头)。

whoami 命令:显示当前用户是谁。

Ctrl + C :终止因为程序或者指令异常而导致我们无法进行指令输入。

在操作系统中,x86 就相当于该机器是一个 32位的机器,x86_64 就相当于该机器是一个64位的机器。

指令的运行原理:

alin:用户名        VM-20-6-centos:主机名        ~:当前目录        $:命令行提示符【用户名、主机名、当前目录、命令行提示符:统称为bash命令行

输入指令的过程中,本质就是输入字符串

指令的本质,就是编译好的程序和脚本,并且一定会在系统的特定路径下存放。

我们所有的指令,最终都要在OS内部运行,但是OS使用难度系数比较高,用户不能直接的和OS打交道 => 就要使用到图形化界面 or 命令行解释器

命令行解释器作用:将使用者的命令翻译给操作系统核心处理,同时将核心的处理结果翻译给使用者。

命令行解释器存在的意义:=>1. 进行命令解释;2.保护OS,对于用户的非法请求,直接拦截

总之:用户如果要与OS打交道,就必须要通过命令行解释器这一媒介。通过命令行解释器对OS进行操作。

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

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

相关文章

Chromium 前端form表单提交过程分析c++

一、本文以一个简单的 HTML 表单&#xff0c;包含两个文本输入框和一个提交按钮&#xff1a; <form action"demo_form.php">First name: <input type"text" name"fname"><br>Last name: <input type"text" name…

Unreal5从入门到精通之 如何使用事件分发器EventDispather

文章目录 前言1.创建事件分发器设置属性2.创建Bind、Unbind及Unbind All节点在蓝图类中创建在关卡蓝图中创建3.创建事件分发器事件节点4.调用事件分发器在蓝图类中进行调用在关卡蓝图中进行调用精彩推荐前言 事件分发器是 Unreal Engine(UE)中一个重要的概念,它负责在游戏运…

【C++】右值引用和移动语义(带你理解C++为何如此高效)

1.右值引用和移动语义 左值和右值的重点区分是能否取地址。 能取地址的是左值&#xff08;可以是值&#xff0c;也可以是表达式&#xff09;&#xff0c;不能取地址的是右值。 1.1 什么是左值 1.2 什么是右值 1.2.1 常见的右值 常见右值&#xff1a;常数&#xff08;10&…

【C/C++】速通某站上的经典“笔试”编程题

【C/C】速通某站上的经典“笔试”编程题 一. 题目描述&#xff1a;解题思路&#xff1a;代码实现&#xff1a; 二. 题目描述&#xff1a;解题思路&#xff1a;代码实现&#xff1a; 三. 题目描述&#xff1a;解题思路&#xff1a;代码实现&#xff1a; 一. 题目描述&#xff1a…

DS线性表之栈的讲解和实现(4)

文章目录 前言一、栈的概念及结构二、关于实现栈的分析关于栈顶指针top关于结构体栈的初始化入栈出栈获取栈顶元素获取栈元素个数判断栈是否为空栈的销毁 总结 前言 栈就是一个比较实用的数据结构了&#xff0c;且大致逻辑就是套用之前的两种线性表 具体选择哪种呢&#xff1f;…

综合布线研究实训室建设方案

1、 引言 随着信息技术的飞速发展&#xff0c;综合布线系统作为信息传输的基础设施&#xff0c;在各类建筑及信息化项目中发挥着越来越重要的作用。为了满足职业院校及企业对综合布线技术人才培养和研究的需求&#xff0c;本方案旨在建设一个集教学、实训、研究于一体的综合布…

ARM base instruction -- smull

有符号乘法运算 Signed Multiply Long multiplies two 32-bit register values, and writes the result to the 64-bit destination register. 将两个32位寄存器值相乘&#xff0c;并将结果写入64位目标寄存器。 64-bit variant SMULL <Xd>, <Wn>, <Wm>…

Linux破解root用户密码

在Linux启动菜单界面按【e】进入编辑启动菜单项 在LANGzh_CN.UTF-8&#xff08;或LANGen_US.UTF-8&#xff09;后面空出一格输入 rd.break consoletty0,再按【ctrlx】键启动Linux系统 以可读写的方式重新挂载文件系统 mount -o remount,rw /sysroot 改变根目录为/sysro…

Attention Is All You Need论文翻译

论文名称 注意力即是全部 论文地址 https://user.phil.hhu.de/~cwurm/wp-content/uploads/2020/01/7181-attention-is-all-you-need.pdf 摘要 主流的序列转导模型基于复杂的递归或卷积神经网络&#xff0c;这些网络包含编码器和解码器。性能最好的模型通过注意力机制将编码器和…

快速学习一个算法,Transformer模型架构

今天给大家分享一个超强的算法模型&#xff0c;Transformer Transformer 模型是目前自然语言处理&#xff08;NLP&#xff09;以及计算机视觉等领域中应用非常广泛的深度学习模型架构。 它由 Vaswani 等人在 2017 年的论文《Attention is All You Need》中提出&#xff0c;并…

【智能大数据分析 | 实验三】Storm实验:实时WordCountTopology

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈智能大数据分析 ⌋ ⌋ ⌋ 智能大数据分析是指利用先进的技术和算法对大规模数据进行深入分析和挖掘&#xff0c;以提取有价值的信息和洞察。它结合了大数据技术、人工智能&#xff08;AI&#xff09;、机器学习&#xff08;ML&a…

并查集的实现(朴素版)

这是C算法基础-数据结构专栏的第二十九篇文章&#xff0c;专栏详情请见此处。 由于作者即将参加CSP&#xff0c;所以到比赛结束前将不再发表文章&#xff01; 引入 并查集是一种可以快速合并查找集合的一种数据结构&#xff0c;这次我们将通过三道题来详细讲解并查集&#xff…

迈普pnsr2900x DOWNLOAD_FILE 任意文件读取漏洞

0x01 产品描述&#xff1a; ‌ 迈普NSR2900X系列是一款专为军队、政府、金融、中小型企业分支机构和中小型企业总部设计的信创接入路由器。‌ 该路由器采用国产核心元器件&#xff0c;基于国产操作系统运行迈普自主研发的网络操作系统及应用软件。它全面支持IPv4、IPv6、OS…

insert into values 语句优化

insert into values插入单行数据 SQL语句&#xff0c;insert into values插入单行数据&#xff0c;执行10万次&#xff0c;执行时间1279秒&#xff0c;优化总体执行耗时。 SQL文本&#xff0c;单行insert values&#xff0c;没有select部分。需要进一步分析执行过程消耗。 ins…

软考《信息系统运行管理员》- 5.1 信息系统数据资源维护体系

5.1 信息系统数据资源维护体系 文章目录 5.1 信息系统数据资源维护体系数据资源维护的管理对象数据资源维护的管理类型运行监控故障响应数据备份归档检索数据优化 数据资源维护的管理内容维护方案例行管理应急响应数据资源的开发与利用 数据是信息系统管理的对象与结果&#xf…

7-基于国产化FT-M6678+JFM7K325T的6U CPCI信号处理卡

一、板卡概述 本板卡系我公司自主研发&#xff0c;基于6U CPCI的通用高性能信号处理平台。板卡采用一片国产8核DSP FT-C6678和一片国产FPGA JFM7K325T-2FFG900作为主处理器。为您提供了丰富的运算资源。如下图所示&#xff1a; 二、设计参考标准 ● PCIMG 2.0 R3.0 CompactP…

Python酷库之旅-第三方库Pandas(147)

目录 一、用法精讲 666、pandas.Timestamp.astimezone方法 666-1、语法 666-2、参数 666-3、功能 666-4、返回值 666-5、说明 666-6、用法 666-6-1、数据准备 666-6-2、代码示例 666-6-3、结果输出 667、pandas.Timestamp.ceil方法 667-1、语法 667-2、参数 667…

基础篇:带你打开Vue的大门(一)

学习目标&#xff1a; 理解Vue的基本概念&#xff1a;掌握Vue.js是什么&#xff0c;它的设计理念&#xff0c;以及它在现代Web开发中的应用。掌握Vue的基本语法&#xff1a;学习Vue的基础指令和语法&#xff0c;能够使用Vue构建简单的交互式界面。熟悉Vue组件化开发&#xff1…

DBA | 如何将 .bak 的数据库备份文件导入到SQL Server 数据库中?

[ 知识是人生的灯塔&#xff0c;只有不断学习&#xff0c;才能照亮前行的道路 ] 原文链接&#xff1a;DBA | 如何将 .bak 的数据库备份文件导入到SQL Server 数据库中? 如何将&#xff08;.bak&#xff09;的SQL Server 数据库备份文件导入到当前数据库中? Step 1.登录到 Sql…

Centos7安装RocketMQ[图文教程]

文章目录 RocketMQ介绍基于Linux服务部署RocketMQ&#xff08;单机&#xff09;配置JDK环境下载RocketMQ部署RocketMQ1、解压2、修改VM参数3、配置环境变量4、编写Service文件5、启动服务 基于Docker方式部署RocketMQ安装Docker编写docker-compose文件启动RocketMQ服务 部署Roc…