当前位置: 首页 > news >正文

linux入门---基础指令(上)

这里写目录标题

  • 前言
  • ls指令
  • pwd指令
  • cd指令
  • touch指令
  • mkdir
  • rmdir
  • rm
  • man指令
  • cp指令
  • mv指令

前言

我们平时使用电脑主要是通过鼠标键盘以及操作系统中自带的图形来对电脑执行相应的命令,比如说我想打开D盘中的cctalk这个文件:
在这里插入图片描述
我就可以先用鼠标左键单击这个文件
在这里插入图片描述
然后再单击鼠标的右键来显示我们能够执行的命令:
在这里插入图片描述
这里有个选项叫打卡,那么点击这里的打开我们就可以进入到cctalk这个文件夹里面:
在这里插入图片描述
当然这个用法很少人这么用,因为windows操作系统可以通过双击鼠标左键来打开对应的文件,所以我们也就很少使用上面的方法,但是这里就有个问题,windows操作系统有各种各样的图标,有各种各样的命令栏选项,有鼠标可以帮我们实现精准的操作,那linux操作系统有这些吗?很遗憾在我们这个平台以及版本中是没有的,我们唯一能够对云服务器进行操作的只有键盘,我们通过键盘往xshell这个平台输入特殊的指令,然后xshell把有效的指令发送给搭载linux操作系统的云服务器,最后Linux再对云服务器做出最后的操作,比如说创建一个文件或者文件夹,将这个文件删除等等…通过上面的讲述相比大家应该能够理解指令的用处以及它的重要性,下面我们将带着大家学习linux中常用的指令。

ls指令

我们登录云服务器的时候,页面是这样的:
在这里插入图片描述
就显示了一个登录成功的提示符,那么我们要想知道当前路径下有哪些内容的话就得使用ls指令。
在这里插入图片描述
首先使用ls是可以不带任何的指令以及文件夹或者文件名,那么这样的结果就是将当前所有的可见的内容显示出来,蓝色的是文件夹名,白色的就是文件:
在这里插入图片描述
-a
既然有可见内容的话,那么就有不可见内容,对于不可见内容我们可以在ls后面加上一个-a选项来显示不可见的内容:
在这里插入图片描述
-1
文件名前面带点的就是不可见内容,这里文件显示的方法有些难看,一行显示了很多个文件名,所以我们这里就可以在ls后面加上一个-1选项,来让他一行只显示一个文件名:
在这里插入图片描述
要想将隐藏内容也显示出来的话就可以再添加一个-a选项,这里大家要记住的一点:选项可以有多个
在这里插入图片描述
-l

当然每个文件都有自己的属性,那么要想看到这些文件属性的话我们就可以使用-l选项:
在这里插入图片描述

当然输入ll的功能和ls -l的功能是一样以后我们就使用ll,这里只显示了可见内容的属性,如果想要看到不可见内容的属性的话,就得在选项后面再加上一个-a选项。
在这里插入图片描述
这里的ls -a -l也可以简化成ls -al功能是一样的。ls指令是可以在后面接文件名或者文件夹名的,但是当我们接的是文件夹的时候,是不会显示该文件夹的名字以及对应的属性,而是将该文件夹中的内容显示了出来:
在这里插入图片描述
-d
那么这里要想显示文件夹本身的话我们就得使用-d选项:
在这里插入图片描述
-R
一个路径下可以存在文件或者文件夹,使用ls指令只会将文件夹的名字显示出来不会显示里面的内容,那么要想将当前目录下的每个文件夹的内容都显示出来的话我们就可以使用-R选项:
在这里插入图片描述
他会递归列出所有子目录中的文件。那么上面就是常用的选项剩下的选项就用的非常的少了大家看看就行这里不多讲。

pwd指令

这个指令的功能就是显示当前所在的路径
在这里插入图片描述
这个指令没有常用选项,所以直接输入pwd就可以了,比如说下面的图片:
在这里插入图片描述
一开始是在root家目录下,所以pwd显示的就是/root,最左边的/表示的意思是根目录,cd +文件夹名可以进入对应的文件夹,所以当执行完cd folder1命令后,pwd显示的是/root/folder1表明我们当前是在根目录下的root目录中的folder1目录里面,那么这就是pwd命名的功能,显示所在路径。

cd指令

在windows操作系统中双击一个文件夹可以将工作页面转移到该文件夹里面,从而执行一系列的操作,那在Linux操作系统中,cd指令就相当于window中对文件夹进行鼠标左键双击:
在这里插入图片描述
首先这里大家得知道一件事就是,每个文件夹中都会含有两个隐藏文件夹,
在这里插入图片描述
mkdir的作用是在当前路径下创建一个文件夹,那么上面的操作就是在当前路径下创建一个文件夹,然后查看这个文件夹中的所有内容,这里显示出来了两个隐藏文件,第一个文件夹名为 . 另一个文件夹名为 . . 那么这两个文件夹表明了两个意思:一个点的文件夹表明是当前目录,两个点的文件夹表明的意思是返回上级目录,而cd指令的作用就是更改工作目录,所以我们可以通过cd . . 来返回上级目录比如下面的操作,首先我们在root家路径下:
在这里插入图片描述
在这个路径中含有以下可见内容:
在这里插入图片描述
我们要想进入folder1这个文件夹的话就可以使用cd指令,在cd后面加上文件夹的名字即可:
在这里插入图片描述
这时再使用pwd显示路径的时候就会发现当前的路径发生了更改,我们输入一些指令也是对folder1这个文件夹进行操作而不是对root这个文件夹,这就是上面说的工作目录的改变:工作目录由root转变成了folder1:
在这里插入图片描述
那这时我们想要回到上级目录的话就可以输入cd . . 来将工作目录由folder1改成root:
在这里插入图片描述
有时候有两个文件相隔非常的远,如果我们一步一步的将工作目录转移的话就显得很麻烦,所以我们这里可以使用cd +绝对路径来实现一步跳转,比如说我在根目录下创建一个文件夹叫folder3,这个文件夹里面还有个文件夹folder4,在folder4文件夹里面含有一个文件test10,
在这里插入图片描述
我们将工作目录转移到之前的folder1里面:
在这里插入图片描述
然后我们再使用cd + 绝对路径 来更改工作目录,test10所在的绝对路径为:/folder3/folder4/ 这里第一个/表示的是根目录,其余的/的作用是将不同的文件夹进行分开在这里插入图片描述有绝对路径就会有相对路径,绝对路径是从根目录开始的路径,而相对路径则是从当前的工作目录下开始的路径,cd 加上相对路径也可是实现工作目录的跳转,比如说下面的操作:在这里插入图片描述
当前是在folder2 这个文件夹里面,我们知道这个文件夹的上一级是root,而root文件夹中还有个folder1文件夹 ,所以我们要想把工作目录转移到folder1这个文件夹的话,就可以使用cd + 相对路径来实现跳转,相对路径是从当前工作目录开始的路径,先用 . . 跳转到上级目录(root)再使用/进行分开,最后进入folder1这个文件夹,那么这里的相对路径就为:../folder1
在这里插入图片描述
Linux中有个概念是家路径,家路径就是每次登录时最开始的那个路径,对于root用户来说家路径就是根目录中的root文件夹,每次使用root登录服务器的时候都会直接来到这个文件夹里面:
在这里插入图片描述
当我们使用其他用户登录这个服务器的话家路径就会发生更改:
在这里插入图片描述
这里的登录用户就是xbb而不是root,所以家路径就变成了/home/xbb,而cd ~的功能就是不管你当前在哪个路径,使用cd ~都可以跳转到家路径下,比如说下面的操作:
在这里插入图片描述
当前的工作目录为:

/home/xbb/folder1/folder3/folder4

当我们执行cd ~后,工作路径就变成了家路径:
在这里插入图片描述
cd -可以将工作目录转移到最近一次使用的工作路径,比如说当前的路径是家目录中的folder2文件夹:
在这里插入图片描述
我们使用cd+相对路径的方式将工作路径进行修改:
在这里插入图片描述
当前的工作路径为/home/xbb/folder1/folder3/folder4而最近一次的工作路径为:/home/xbb/folder2所以使用cd -就可以让当前的工作路径变为最近一次的工作路径:
在这里插入图片描述

touch指令

使用这个指令可以创建一个不存在的文件以及对存在的文件的属性做出修改,我们来看看下面的介绍:
在这里插入图片描述
作为初学者,这个指令大家只用记住它可以创建文件就可以了,创建的形式就是touch加上一个当前路径中不存在的文件名就可以了,比如说下面的操作:
在这里插入图片描述
这里的文件名不要和当前路径中的文件重名即可,如果重名的话touch就不会创建文件而是更改这个文件的时间,stat+文件名可以显示该文件的详细信息,比如说stat test1:
在这里插入图片描述
这里就显示了test1文件的详细信息,仔细的看一下就会发现这里存在着三个时间分别是:Access Modify
Change,这三个时间都是 2023-01-27 16:57:47.384188374,而当我们使用touch test1之后这里的三个时间都会发生更改,变成了当前时间,那么这里大家就得注意一下这里的用法。
在这里插入图片描述
对于touch大家注意这几点就可以上面的选项我们往后再介绍。

mkdir

touch是创建文件,那么这里的mkdir就是创建文件夹
在这里插入图片描述
比如说在家目录下创建一个folder5文件夹,就可以直接在命令行中输入mkdir +文件夹名来进行创建:
在这里插入图片描述
有时候我们需要创建多个连续的文件夹,比如说a文件夹中有个b文件夹,b文件夹中有个c文件夹,这样的情况,如果一个一个的创建的话就显得非常的麻烦,那这里mkdir就提供了一个选项 -p用来创建像这样的连续文件夹,使用的形式如下:mkdir -p a/b/c 那么这里的操作就如下:
在这里插入图片描述
确实创建了一个连续的文件夹,那么这就是mkdir的用法。

rmdir

既然我们可以使用mkdir来创建文件夹,那么这里我们就可以使用rmdir来删除文件夹。
在这里插入图片描述
但是这里有一点就是rmdir只能删除空文件夹,如果文件夹中含有内容的话是不能被rmdir删除的,比如说下面的操作:
在这里插入图片描述

当前路径下有三个文件夹,并且只有folder5这个文件是空的,那么使用mkdir删除folder5是可以删除成功的:
在这里插入图片描述
但是我们使用mkdir删除folder1或者folder2的话就会报错:
在这里插入图片描述
并且mkdir还不能删除文件,比如说下面的操作
在这里插入图片描述
那么这就是rmdir的性质只能删除空文件夹,这个指令就是-p,当子目录删除之后父目录为空的话也会被跟着删除,比如说下面的额操作:
在这里插入图片描述
首先创建一个连续的文件夹,然后再使用rmdir -p来删除这个连续的文件,但是这里的删除得在后面加上一个连续的文件夹在这里插入图片描述
如果你只把文件夹a写上去的话,这里是无法删除的这里大家要注意一下:
在这里插入图片描述
当然在平时的使用过程中rmdir是用的非常的少的,我们主要用的还是rm这个指令。

rm

rm指令可以同时删除文件或者目录,其语法如下:
在这里插入图片描述
使用这个指令如果不加选项的话只能删除文件,如果是文件夹是无法删除的,比如下面的操作:
在这里插入图片描述
rm不加选项的话,文件可以删除但是文件夹无法被删除,但是文件夹是一个特殊的文件,在这个文件里面包含了其他文件,所以rm就提供了一个选项 -r用来递归删除一个文件中的所有文件,并且将这个文件夹也跟着删除,比如下面的操作:
在这里插入图片描述
-i
我们平时在windows系统中删除一些软件的时候都会弹出一个窗口询问我们是否确定删除,那么使用rm指令也提供了这样的功能这就是选项 - i,比如说下面的操作:
在这里插入图片描述
当我们使用- i选项删除指定内容的时候就会弹出这样的内容问我们是否确定删除,如果确实想删除的话就输入y,如果突然不想删除的话就输入其他字符
在这里插入图片描述
-f
root账户中的每个文件都可能非常的重要,所以每删除一个文件即使我们不添加选项系统也会询问你是否要进行删除:
在这里插入图片描述
但是有些时候我们不想看到这个询问这时候就可以添加- f选项来进行强制删除,比如下面的操作:
在这里插入图片描述
这时就直接强制删除了系统没有再询问我们。

man指令

Linux的命令有很多参数,我们不可能全记住,如果我们平时使用linux时,忘记了一些命令参数以及一些指令的用法的话,我们就可以通过man指令来查找这些指令的用法以及介绍,linux将这些命令分为了好几个手册,不同的手册针对不同的内容,手册还有对应的编号1 2 3 4…下面是不同编号的手册介绍:
1 是普通的命令
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 是库函数,如printf,fread是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

下面是man函数的用法
在这里插入图片描述
比如说我们想看看top这个指令的用法就可以这么输入:
在这里插入图片描述
按下回车就跳转到了这个页面:
在这里插入图片描述
这里就是top这个函数的介绍,按键盘上的上下键就可以将页面向上移动或者向下移动,如果你看完了想退出的话就可以按一下键盘上的q来退出当前页面。我们看看上面的三号手册这个手册是专门用来查看库函数的,也就是c语言的函数,所以当我们使用c库函数时发现不会用的时候就可以通过man指令来查看对应用法,比如说查看printf函数:
在这里插入图片描述
按下回车就会出现这样的场景:
在这里插入图片描述
但是我们仔细看一下这个好像不是c库中的pintf函数,而是1号手册中的指令,那这是为什么呢?原因很简单man函数在查找指令的时候是从一号手册开始查找的,一但找到了对应的指令就结束,或者找了8个手册都没有找到就直接显示错误
在这里插入图片描述
那我们这里在查找printf函数的时候它是从一号手册开始查找,可是一号手册中也有个叫printf的东西,所以man指令找到这个之后就直接结束了,并不会继续往后查找,如果我们想查看c库中的printf函数的话就得在man指令后面加上一个3这样就可以找到c库中的printf函数
在这里插入图片描述
这里的3表示的意思是3号手册,而man 3就是让linux在3号手册中查找对应指令,那么上面的运行的结果就是这样:
在这里插入图片描述
当然很多小伙伴们的云服务器都是刚买的里面的man指令还不完善这时就得输入这段指令将man指令完善一下:

在这里插入图片描述
按下回车就会出现这样的场景:
在这里插入图片描述
等出现complete就完成了man的安装这时就可以正常的使用man指令了,既然看到这里我们再安装一下tree指令这个指令能让我们更好的看文件夹的递归:
在这里插入图片描述
那么这里在安装的时候会弹出这样的窗口问我们是否要安装:
在这里插入图片描述
那这里输入y即可,安装完之后我们再递归查看文件夹时就不用输入ls -R了而是直接输入tree比如说下面的操作:
在这里插入图片描述
创建一系列的文件夹,让后再输入tree就会出现这样的场景:
在这里插入图片描述
那么这就是一个对比,很明显tree更好看一点。好这时我们再用man函数查找c语言中的printf函数就可以正常的找到了:
在这里插入图片描述

cp指令

cp指令也可以叫拷贝指令,我们可以通过这个指令将一个路径下的内容拷贝到另外一个路径下,下面是这个指令的用法:
在这里插入图片描述
我们来看看这个指令的使用,首先创建一个文件和一个文件夹并且使用echo指令往文件里面输出hello world字符串:
在这里插入图片描述
然后再使用cp指令将src文件拷贝到dst文件夹里面,使用tree指令就可以看到这样的场景在这里插入图片描述
我们可以看到这里的拷贝不是剪切,不会将原来的文件删除,并且cp在拷贝文件的时候还会将文件里面的内容也全部都拷贝过去,我们使用cat就可以查看文件里面的内容:
在这里插入图片描述
这里我们发现不管是拷贝的文件还是被拷贝的文件里面都含有hello world字符串,那么这就验证了这里的cp是拷贝而不是剪切。那如果我们想要拷贝文件夹呢?rm在删除文件夹的时候可以通过-r选项来递归删除,那这里的拷贝是不是也可以通过-r选项来递归拷贝呢?答案是可以的,我们来看看下面的操作:
在这里插入图片描述
我们这里的文件情况是这样的,想将这里的dst文件夹拷贝到folder1里面就可以使用cp加-r选项来递归拷贝:
在这里插入图片描述
cp指令还有个选项就是-i,功能和rm中的-i是一样的,原因是cp在复制的时候如果目标地址中有同名文件的话,会直接将源文件进行覆盖,比如说下面的操作:
在这里插入图片描述
创建一个文件夹folder和一个文件test1,然后在folder文件里面创建一个文件test1,并往这个test1文件里面输入字符串hello world,然后我们再用cp指令将外面的test1文件拷贝到folder文件夹里面,这时我们再用cat输出test1里面的内容时就会发现这里的test1 文件被外面的空test1文件覆盖了:
在这里插入图片描述
folder文件夹中的test1没有任何内容,那这就说明如果拷贝文件的过程中目标地址出现同名的话会将目标文件进行覆盖,并且同名文件的覆盖会在执行的过程中进行确认,如果我们不想有这个确认过程的话就可以加一个- f选项这样就可以强制进行覆盖,不会有提示,与- f相反的就是- i选项这个不管目标地址有没有同名文件都会给出一个确认的指令,那么这就是cp指令的内容。

mv指令

上面的cp相当于复制粘贴执行完这个指令之后源文件还在那,那么这里的mv就相当于剪切执行完这个命令后源文件就不见了,来到了目标路径下,并且mv指令还可以帮我们修改文件或者文件夹的名字我们来看看看看这个指令的语法:
在这里插入图片描述
首先展示一下mv的剪切功能:
在这里插入图片描述
首先创建一个空文件夹和一个文件,并且使用echo往这个文件里面输入一段字符串,然后再使用mv指令将test1文件剪切到folder里面,那么这里的mv就和cp是一样的第一个是源文件或者目录,第二个是目标地址,那么这里的操作就如下:
在这里插入图片描述
我们可以看到folder外面的test1文件不见了来到了folder里面,并且内容还依然存在。剪切文件是没问题的,那剪切文件夹呢?需要带-r吗?答案是mv可以剪切文件夹但是不需要在选项里带-r,这一点要与cp rm区分开:
在这里插入图片描述
touch可以将一个文件的时间属性进行更新,那么mv指令就可以将一个文件或者文件夹的名字进行重命名,比如说下面的操作:改名之前文件夹的名字和内容如上
在这里插入图片描述
然后我们使用mv指令将文件夹的名字进行修改,前面是你要修改的文件夹,后面是你要修改成的名字,这里大家要注意的一点就是修改后的名字不能与当前路径下的其他文件或者文件夹重名也不能是一个路径,比如说下面的操作:
在这里插入图片描述
如果后来取的名字出现重名的话,这里机器会认为你这不是重名而是剪切到后面的那个路径下
在这里插入图片描述
如果是文件的话就会直接报错:
在这里插入图片描述
那么这就是mv指令这个指令没有-r选项,但是有-i或者-f选项其功能和cp指令的功能是一样的。

相关文章:

linux入门---基础指令(上)

这里写目录标题前言ls指令pwd指令cd指令touch指令mkdirrmdirrmman指令cp指令mv指令前言 我们平时使用电脑主要是通过鼠标键盘以及操作系统中自带的图形来对电脑执行相应的命令,比如说我想打开D盘中的cctalk这个文件: 我就可以先用鼠标左键单击这个文件…...

大数据Kylin(一):基础概念和Kylin简介

文章目录 基础概念和Kylin简介 一、​​​​​​​OLTP与OLAP 1、​​​​​​​​​​​​​​OLTP 2、​​​​​​​​​​​​​​OLAP 3、​​​​​​​​​​​​​​OLTP与OLAP的关系 二、​​​​​​​​​​​​​​数据分析模型 1、星型模型 2、雪花模型 …...

推进行业生态发展完善,中国信通院第八批RPA评测工作正式启动

随着人工智能、云计算、大数据等新兴数字技术的高速发展,数字劳动力应用实践步伐加快,以数字生产力、数字创造力为基础的数字经济占比逐年上升。近年来,机器人流程自动化(Robotic Process Automation,RPA)成…...

DOM编程-获取下拉列表选中项的value

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>获取下拉列表选中项的value</title> </head> <body> <script type"text/javascript"> …...

认证服务-----技术点及亮点

大技术Nacos做注册中心把新建的微服务注册到Nacos上去两个步骤 在配置文件中配置应用名称、nacos的发现注册ip地址&#xff0c;端口号在启动类上用EnableDiscoveryClient注解开启注册功能使用Redis存验证码信息加入依赖配置地址和端口号即可直接注入StringRedisTemplate模板类用…...

6个常见的 PHP 安全性攻击

了解常见的PHP应用程序安全威胁&#xff0c;可以确保你的PHP应用程序不受攻击。因此&#xff0c;本文将列出 6个常见的 PHP 安全性攻击&#xff0c;欢迎大家来阅读和学习。 1、SQL注入 SQL注入是一种恶意攻击&#xff0c;用户利用在表单字段输入SQL语句的方式来影响正常的SQL执…...

三大基础排序算法——冒泡排序、选择排序、插入排序

目录前言一、排序简介二、冒泡排序三、选择排序四、插入排序五、对比References前言 在此之前&#xff0c;我们已经介绍了十大排序算法中的&#xff1a;归并排序、快速排序、堆排序&#xff08;还不知道的小伙伴们可以参考我的 「数据结构与算法」 专栏&#xff09;&#xff0…...

负载均衡上传webshell+apache换行解析漏洞

目录一、负载均衡反向代理下的webshell上传1、nginx负载均衡2、负载均衡下webshell上传的四大难点难点一&#xff1a;需要在每一台节点的相同位置上传相同内容的webshell难点二&#xff1a;无法预测下一次请求是哪一台机器去执行难点三&#xff1a;当我们需要上传一些工具时&am…...

【ESP 保姆级教程】玩转emqx数据集成篇③ ——消息重发布

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-02-10 ❤️❤️ 本篇更新记录 2023-02-10 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…...

支持分布式部署的主流方式 - Session 持久化到 Redis

1.为什么要将 Session 存储在 Redis 中如果我们不将 Session 存储在 MySQL 或者 Redis 中, 那么做出来的项目就只能支持单机部署, 不支持分布式部署. 因为之前我们只是将 Session 存储在当前电脑的内存里面. 当张三去登录的时候, 将 Session 信息存储在 A 服务器, 这个时候负载…...

计算机网络|第二章 物理层|湖科大课程|从零开始的计网学习——物理层(计网入门就看这篇!)

图片来源于胡科大计算机网络课程&#xff0c;https://www.bilibili.com/video/BV1c4411d7jb?p20&vd_sourcedeb12d86dce7e419744a73045bc66364。文章非盈利商业用途&#xff0c;供博主与大家学习参考&#xff0c;如有侵权&#xff0c;请联系我删除&#xff01;2.1物理层的基…...

【微服务】RabbitMQSpringAMQP消息队列

&#x1f6a9;本文已收录至专栏&#xff1a;微服务探索之旅 &#x1f44d;希望您能有所收获 一.初识MQ (1) 引入 微服务间通讯有同步和异步两种方式&#xff1a; 同步通讯&#xff1a;就像打电话&#xff0c;可以立即得到响应&#xff0c;但是你却不能跟多个人同时通话。 异…...

jenkins +docker+python接口自动化之docker下安装jenkins(一)

jenkins dockerpython接口自动化之docker下安装jenkins&#xff08;一&#xff09; 目录&#xff1a;导读 1、下载jenkins 2、启动jenkins 3、访问jenkins 4.浏览器直接访问http://ip/:8080 5.然后粘贴到输入框中,之后新手入门中先安装默认的插件即可&#xff0c;完成后出…...

SpringBoot——Banner介绍

一、什么是BannerBanner即横幅标语&#xff0c;我们在启动SpringBoot项目时会将Banner信息打印至控制台。我们可以输出一些图形、SpringBoot版本信息等内容。默认情况下是通过实现类SpringBootBanner输出的Banner内容&#xff0c;默认的输出内容如下。二、自定义Banner如果不想…...

【STL】综述

STL&#xff0c;一文即可知 文章目录一、STL基本知识概述容器二、序列式容器详述数组容器array向量容器vector双端队列容器deque链式容器list正向链容器forward_list二、关联式容器详述红黑树RB-Tree哈希表参考博客&#x1f60a;点此到文末惊喜↩︎ 一、STL基本知识 概述 STL…...

C++中编译的静态库与动态库

1.什么是库库是写好的现有的&#xff0c;成熟的&#xff0c;可以复用的代码。现实中每个程序都要依赖很多基础的底层库&#xff0c;不可能每个人的代码都从零开始&#xff0c;因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式&#xff0c;可以被操作系统载…...

JS对象到原始值的转换

JS对象到原始值转换的复杂性 主要由于某些对象类型存在不止一种原始值的表示 对象到原始值转换的三种基本算法 在解释三种算法前需要了解toString valueOf这两个方法 toString 返回对象的字符串表示Array类的toString方法会将每个元素转换为字符串&#xff0c;再使用逗号作为…...

深度复盘-重启 etcd 引发的异常

作者信息&#xff1a; 唐聪、王超凡&#xff0c;腾讯云原生产品中心技术专家&#xff0c;负责腾讯云大规模 TKE 集群和 etcd 控制面稳定性、性能和成本优化工作。 王子勇&#xff0c;腾讯云专家级工程师&#xff0c; 腾讯云计算产品技术服务专家团队负责人。 概况 作为当前中国…...

2023年春招热点面试题(一)------新特性

文章目录一、Spring 6.0 新特性二、Spring Boot 3.0 新特性三、JDK 系列 新特性A.**JDK8新特性&#xff08;2014年初&#xff09;&#xff08;LTS版本&#xff09;**B. **JDK9新特性&#xff08;2017年9月&#xff09;**C.**JDK10新特性&#xff08;2018年3月&#xff09;**D.*…...

工程项目管理系统源码+spring cloud 系统管理+java 系统设置+二次开发

工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…...

想要精通算法和SQL的成长之路 - 接雨水

想要精通算法和SQL的成长之路 - 接雨水前言一. 接雨水前言 想要精通算法和SQL的成长之路 - 系列导航 一. 接雨水 原题链接 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 输入&#xff1a;height [0,…...

Vue3 更高效的构建工具——Vite

文章目录前言一、Vite简介1. Vite组成2.为什么选 Vite?二、Vite的优缺点vite优点vite缺点三、使用Vite创建Vue3项目1. 创建 vite 的项目2.项目的结构前言 本文讲解了构建工具 Vite&#xff0c;目前只有vue3才可以使用Vite&#xff0c;如果本文对你有所帮助请三连支持博主。 下…...

优思学院|從《狂飙》高启强爱看的《孙子兵法》到六西格玛项目管理

近期最受人瞩目的&#xff0c;无疑是电视剧《狂飙》中出类拔萃的反派高启强。而在剧中&#xff0c;指引高启强走向顶峰的&#xff0c;正是那部著名的军事经典——《孙子兵法》。 在剧中&#xff0c;高启强在一次村庄改造项目上遇到了困难&#xff0c;但他仍保持冷静&#xff0…...

如何利用状态机编程实现启保停控制(含Stateflow模型介绍)

状态机的介绍这里不再赘述,概念也很简单没有过多的复杂理论。下面我们直接给出具体实现过程。有限自动状态机详细讲解请参看下面的文章链接: PLC面向对象编程系列之有限状态机(FSM)详解_RXXW_Dor的博客-CSDN博客_有限状态机 plc实现编写PLC控制机器动作类程序时,当分支比较…...

4. sql 语句中常用命令

1. 数据表&#xff1a; 本文中所有命令&#xff0c;测试的数据表结构如下图&#xff1a; 2. 查询语句&#xff1a; 2.1 基础查询&#xff1a;select //查询单个字段&#xff1a; select 字段名 from 表名; //查询多个字段 select 字段名1,字段名2,... from 表名; //查询所…...

第三章 Opencv图像像素操作

目录1.像素1-1.确定像素位置1-2.获取指定像素的像素值1-3.修改像素的BGR值2.用numpy模块操作像素2-1.创建图像1.创建黑白图像2.创建彩色图像3.创建随机图像2-2.拼接图像1.水平拼接hstack()方法2.垂直拼接vstack()方法1.像素 1.像素是构成数字图像的最小单位。每一幅图像都是由M…...

SpringBoot集成swagger3(CD2207)(内含教学视频+源代码)

SpringBoot集成swagger3&#xff08;CD2207&#xff09;&#xff08;内含教学视频源代码&#xff09; 教学视频源代码下载链接地址&#xff1a;https://download.csdn.net/download/weixin_46411355/87435564 目录SpringBoot集成swagger3&#xff08;CD2207&#xff09;&#…...

Go语言语言学习十三(反射的对象值)

在Go语言中反射不仅可以获取值的类型和种类&#xff0c;还可以获取值和更改值&#xff0c;使用reflect.ValueOf()获取和设置变量的值。 使用反射值包装任意值 Go语言通过reflect.ValueOf()获取的是值的反射值对象&#xff0c;书写格式如下 value : reflect.ValueOf(rawValue…...

【ESP 保姆级教程】玩转emqx数据集成篇② ——控制台输出动作(多用于测试环境调试功能)

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-02-10 ❤️❤️ 本篇更新记录 2023-02-10 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…...

MyBatis案例 | 使用映射配置文件实现CRUD操作——添加数据

本专栏主要是记录学习完JavaSE后学习JavaWeb部分的一些知识点总结以及遇到的一些问题等&#xff0c;如果刚开始学习Java的小伙伴可以点击下方连接查看专栏 本专栏地址&#xff1a;&#x1f525;JavaWeb Java入门篇&#xff1a; &#x1f525;Java基础学习篇 Java进阶学习篇&…...