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

linux-12 关于shell(十一)ls

     登录系统输入用户名和密码以后,会显示给我们一个命令提示符,就意味着我们在这里就可以输入命令了,给一个命令,这个命令必须要可执行,那问题是我的命令怎么去使用,命令格式有印象吗?在命令提示符下,我们首先是命令吧?command,后面可以带什么?参数对吗?options,再后面是arguments,我们把它称为叫参数,这是选项。选项有可能会有多个,参数也有可能会有多个,有的命令可能不能带参数,有的命令可能没有选项,这是各不相同的,我们这里给的仅是一个通用的架构,或者是一个常见的应用格式,而且之前提到过,选项有两种格式,有所谓的短选项和长选项的概念,短选项是可以合并的,还有长选项。然后是参数,对吧?选项是用来干什么的?
修改命令的执行特性的对不对?而参数呢?指定命令的作用对象的,这个命令对谁进行生效?所以大家一定要理解他们彼此间的意义,那如果说有多个选项或者有多个参数的话,那命令选项参数彼此之间必须要使用空格隔开,这是我们的基本使用格式,当然此前如果使用此内容不太多的话,很容易犯这种错误,老是忘了加空格。
    好了,这里还需要交代的是在命令当中,有些选项是可以带参数的,注意选项的参数和命令参数是两码事,这个还需要注意,有些选项我再说一遍,有些选项是可以带参数的,回头讲到的时候再做具体说明。好,那比如,之前我曾经输入这样的命令,给了个ls,回车,还记得吧,这又是个简写的命令,叫做list,所以简写为ls,那是表示什么意思呢?列表列出的意思,对吗?OK,列出列表,那因此,它能够列出你所指定目录下的所有的子目录或者文件,列出指定路径下的所有目录或者文件的,当然也包括子目录,其实目录也是文件,以后讲到了。
    当然,在Windows当中,我们通常把它称为叫文件夹,对吧?OK,那文件夹是个什么玩意儿?
那文件夹就是文件夹呗,是不是?那因此,在你想象出来目录是不是是一个容器,对吗?它里边可以放文件的,对不对?事实上,完全不是这么回事。目录它不是文件夹,这是Windows给你的误导,它仅仅是个路径映射而已,回头讲到文件系统的时候,再细细说明为什么,目录到底是什么东西,将来就会明白为什么需要缓存目录,将来要提升系统的话,为什么需要去调整这些可以缓存的空间大小等等。
    这些概念都是一体的。好,那所以再说一遍,先知道,其实目录也是文件。它其实也是一种文件,只不过这种文件比较独特,它是一种路径映射文件,这里又提到了路径,当然,对各位来讲,路径应该很多,很容易理解是吧?路径指的是什么?路径是从指定起始点到目的地所经过的位置。
所经过的什么位置,我们就把它称为叫路径。当然,路径在我们现实生活中,用这种方式来进行描述,很容易理解,那在系统上为什么要用到路径的概念?为什么要用到路径呢?其实也很容易理解,这只是为了能够实现层次化文件管理的一种机制。想象一下,如果说把全国人民放在同一个范围内进行编号标识的话,引用起来是不是非常非常麻烦?所以我们把全国人民分成了各个区域,
把全国分成了各个区域,河南,浙江,上海等等,每个区域下还有子区域,子区域还有子子区域,
子又生孙,孙又生子,是不是?大概就是这个概念。
    那为什么要划分这么多区域呢?层次型的结构可以实现很快的、利用非常短的路径去快速追溯一个目标。再举个简单例子,比如说我在磁盘上放了十万个文件,从中找出一个叫做jerry的文件,需要花多长时间去找?想过这个问题吗?一共有十万个文件,其中有一个叫做jerry,当去找的时候,压根就不知道这个文件在什么位置,是不是?那就意味着必须要遍历,从第一个开始找,如果很幸运,那第一个很可能就是,如果足够不幸的话,最后一个才是。是吧,那我们查找文件的平均时间是非常长的,平均下来要查找五万次才能找到这个文件,但是我们如果层次化管理的话,有什么好处呢?比如说,首先画成26个目录,以某个字母开头的就放在这个目录里边,那因此,当我们去找jerry的时候,你只要找到j的目录是不是就OK了?而在j目录里边,假如说只有一万个,这是不是简单多了?能理解概念吗?所以这就是层次化管理的好处。
    那既然有了层次化,那就意味着我们要标识某一个文件,就从顶开始,全部的文件底下找到j那个目录,然后再找到e开头的那个子目录,r开头那个子子目录,这不是jerry吗?是不是这个道理啊?最终才能找到jerry。从而我们去标识某一个文件的时候,它的速度就非常非常快了,这就是所谓的为什么要实现层次化文件管理,而这样一个层次化文件管理的机制,我们把它称为文件系统,file system。
    普天之下,莫非王土,率土之滨,莫非王臣就这个道理,那因此,在整个linux上,所有的文件肯定都属于当前系统的,对吗?那因此它有个制高点,从这个位置开始,你能找到所有文件,这就我们的最大范围,在这个范围内,我们有很多的子目录,子目录里边有子子目录,对不对?如下图,

但是用这种方式去理解的话,可能看起来结构不够明晰。因此linux的目录结构,通常把它称为叫树状目录结构,倒置的树状,最上头的把它称为叫根,A称之为叫根,向下的有一级子目录,二级子目录等等,如下图,

那要找到某一个特定文件,怎么去找?如何去找某一个特定文件?比如说像这个D文件,D的位置,注意,有的节点可以分叉,像这里有的节点不能分叉,对吗?像可以分叉的节点,把它称为叫目录,可以理解吗?它是个路径,而不能分叉的节点,把它称为叫文件,D是个叶子结点。
那因此我们要找到这个文件,就意味着从A到这个一级子目录到二级子目录,是不是就可以找到这个文件了?OK,这种表示从根开始往下找的一种机制,这种把它称为叫绝对路径,对吧?叫做绝对路径。因为无论如何,我从根这里开始找,一定会能找到你想要找的文件,那什么叫相对路径呢?有绝对就有相对。OK,事实上,任何时候,当你登录系统以后,你一定会处在某个目录当中。比方说,我打开Windows,默认就处在桌面上,对不对?桌面是不是一个目录?是,桌面其实也是一个目录。所以你只要登录系统,以后无时无刻或者每时每刻都处在某个目录。这个目录我们把它称为叫做当前目录,也叫工作目录。一定要理解目录的概念。登录系统以后,在每一个时刻都一定处在某个目录上。这个我们把它称为叫working directory。我们称为叫工作目录,或者叫当前目录,current directory。那仍然以上图为例,比如说,你此刻站在C位置,我让你去找D文件,你还非得从根去找,有必要没有?因为它在当前目录下是不是就有啊,能明白了吗?所以什么叫相对路径?相对于当前所处位置的路径,我们把它称为叫相对目录。那很显然,问题是如果你站E位置的话,能不能相对啊?也能,只不过你得先回到B位置,最起码的回到它从根到D位置上所要经过的某一个点上才行,那所以相对一定是在从根到目的地,中间这个路径上的某个节点上,你有这个位置,否则的话你是无法相对的。OK,所以你站在D位置去相对是相对不过去的,除非你倒回来先倒到B位置,倒到最近的那个位置上,才能进行相对,这种把它称为叫相对路径。

    好,这就我们整个linux的文件系统的大体上的一个结构描述,当然这些一级子目录二级子目录,尤其是一级子目录在Linux系统上,它有一个规定,必须要存在这么多个一级字母,不知道大家有没有留意过,无论使用ubuntu或debian,里面有些目录是必然会有的,什么bins、sbin等等。
为什么会有,这是linux标准委员会当中,曾经定义了一个规范,叫做fhs,system hierarchy standard叫文件系统层级结构标准。它里边规定了有些目录是必须存在,而且这些目录下要放什么样类别的文件,后面会详细的去讲,一个一个去解释这些目录下都有什么文件,因为这些目录是标准化的,所以我必须得记得住,回头再说,但不管怎么讲,应该知道它是一种层级化的结构就OK。好,我这里先给大家预留一个问题,比如说文件名,是不是文件的数据?文件名是不是文件的数据?每一个文件是不是都有名字啊?都有大小,都有权限,很多属性对不对?这些东西,它也是数据对吧?但这些数据是不是文件本身的数据?对于一个人来讲,这个人的体重,年龄,性别,身高,名字等各种属性,是不是一个人的组成部分?不是,那它又存储在什么地方了呢?那想象一下,我们要在文件系统上存储一个文件,这文件通常我们是不是都使用名字去找的?一个文件打开以后,我们要往里边存很多数据,那你想过没有,文件名放在什么地方?文件的内容放到什么地方了?你考虑过这些问题吗?文件的名字在哪里?文件的数据又在哪里?先存有这个疑问,后面会细讲文件系统。好,但不管怎么讲,我们现在知道怎么去找一个文件路径,或者说什么是文件路径就可以了,那于是我们就能理解ls这个命令了,如下图,

那我使用ls,直接回车,不跟任何参数,也没有任何选项,没有选项就意味着它以ls的默认方式进行工作,对不对?那没有参数呢?ls就列出指定路径下的文件或者子目录的等等。那现在我没指定,怎么办?它是不是也有默认值啊?默认指的叫缺省,有的地方把它叫缺省,有的地方把它叫默认,对ls而言,默认就显示当前目录下的文件。

    当前目录,那当前目录是哪个目录呀?我们有另外一个命令叫做pwd,print working directory,
或者叫printing都可以。显示工作目录,显示当前目录,所以叫pwd,那因此我们在这里执行一下pwd,如下图,

它就能显示你当前在哪个路径下,看到了吗?对linux而言,最顶级这个目录用斜线来表示,最顶级这个用斜线来表示,大家记得,而后各路径之间的分割符也使用斜线,注意,这叫斜线,Windows使用的叫反斜线,不知道Windows为什么非要标新立异,大家应该知道,有一句话叫做丑人多作怪是吧?那恐怕Windows就是这样一个思想。好,那所以像这里的这个路径就表示根目录下的root,根下面直接有个root,这是一级子目录。那因此,我们ls和ls root指的是不是同一个意思了?内容是一样的,这列出来的都是文件名称,用蓝色显示的是目录,是目录的属性,如果显示为绿色的话,通常指的是它有执行权限。当然还有很多其他颜色,常用的颜色有六种,回头会介绍以及怎么去显示颜色。好,这是ls,当然ls有很多的其他的辅助性的功能,比如说,我们可以使用很多选项来定义,比如像之前用到的 -l,其实表示就是long long,叫做长格式,长格式的意思,就表示显示完整信息,都来看我们使用-l和不使用-l有什么区别呢?如下图,

ls 只显示文件名而使用ls -l以后会显示文件的很多属性,看到了吗?这些属性我先做一个简单介绍,注意,第一列是十位,看到了吧?这是十位,最左侧这一位是文件类型,注意这个类型指的不是内容类型,而只是文件本身的属性上能够区别的类型,好,我先说一遍,回头讲文件系统再说一遍啊,文件类型对linux而言有这样几种,要记住了,如果显示为横线,就表示这是一个普通文件,就是一个常见的文件,事实上,它应该用f来表示,只不过这里使用横线来表示了,是个file。如果显示为d,这表示这是个目录文件。如果显示为b,就表示这是一个块设备文件。b就叫block,后面会讲什么是块设备,先知道就行。然后是c,这表示是一个字符设备文件,c就叫character。它还可能是l,这表示是链接文件,但是这里指的是符号链接,链接文件有两种,叫symbolic file link,
称为叫符号链接,也叫软链接文件。如果看到是p的话,这表示这是个管道文件,命名管道,把它称为叫pipe,就是烟斗那个管道。如果是s,这表示这是一个套接字文件,比如socket,先记下来就OK,回头再解释这东西是什么东西,都是什么?好,这是我们的常见文件类型,那由此来看,这里这横线表示普通文件对不对?这d就表示目录,其他的就不再解释,当然,应该知道,在dev目录下有很多设备文件,你看,如下图,

很多c开头的,看到了吧?还有l开头的,还有d开头的,c开头的,刚才说过叫字符设备,在tmp目录下,有些情况下你可能会看到s开头的文件,套接字文件,它的颜色好奇怪是吧。

好,这是ls -l杠l选项所显示内容的第一列的第一个字符,我们把它称为叫文件类型。再看后面这九个,这是九个位,这九个位表示是文件的权限,叫文件的mode,mode叫模型或者叫模式都行,实际上它指的是权限,第二个位开始叫文件权限,一共有九位,这九位里边是每三位一组,至于它们是什么,回头再说,先知道就行了,每三位一组,而且每一组里边都分别是rwx,就是读写执行三种权限。r表示读,w表示写,x表示执行,如果没有这个对应的权限,就得用横杠来表示,就表示没这个位没这个权限,比如说,写成rw-代表什么意思?能读能写,不能执行,能理解了吧?OK,那r--就表示,能读不能写,也不能执行,就表示这意思。所以每三位一组,那个位上没有的话,就用横线来表示,那由此,---就表示什么都没有,是不是?好,这九位是权限,回头再细细解释,下面这个叫做文件被硬链接的次数,是文件硬链接的次数,好,那至于这些次数为什么是一?,有的为什么是二?能不能把它增加等等,后面都会解释,现在不说了,下一列,就是第三列,是文件的所有者,文件的所有就是文件归谁所有?OK,文件的属主,也叫owner,就是拥有者。那对应下一列就是文件的属组,OK,文件的属组叫group,它属于哪个组?用户是可以有用户组的,那组和用户到底有没有用?以及什么是进程的安全上下文,后面会有解释。

   好再向后,第5列,是文件大小,把它称叫size,文件的size,单位是字节,默认单位是字节,
再向后一个,第6列,这是一个,注意啊,这是个时间,或者叫时间戳,把它称为叫timestamp,
每一个文件都有三个时间戳,包括最近一次被访问的时间,最近一次被修改的时间,最近一次被改变的时间,修改和改变有区别吗?每一个文件都有三个时间戳,这里显示的是最近一次被修改的时间,对修改的时间,注意,刚才说过有三个时间戳,对吧?第一个是访问,访问很容易理解,
就是读里边内容,我们打开访问了,比方使用cat等命令,后面会有介绍,访问把它称为叫access,修改我们把它称为叫modify,而还有一个我们称为叫改变,称为叫change。修改和改变有什么区别?这个很容易理解,一个文件,它有两种数据,一种是文件自身的数据,另外一种是文件的属性数据,属性数据也叫元数据,先记住这个概念,文件的属性数据也叫元数据,叫做metadata,把它翻译成叫元数据,就这个元,表示根本的。而修改指的是改变了文件的内容,改变指的是改变了文件的属性或者叫原数据。明白了吗?很奇怪,莫非不改变文件内容,文件属性会不会修改?文件内容没有动,但是把文件名改了,属性是不是修改了?就像一个人一样,人改改名和掉了一只胳膊,那是两码事,对吗?好,这是时间戳,那由此知道,第6列是最近一次被修改,也就是它的内容发生了改变的时间,文件内容发生改变。最后一列不用解释了,这是文件名,就是文件是什么?这是-l的显示结果,再说一遍,这是常识,以后用linux,几乎每一次都有可能要用到的。好,有没有发现,当使用-l的时候,这个文件的大小像是字节对不对?事实上,有时候经常希望把它显示为单位,比方说M啊、k啊或者g啊什么之类的,更容易识别,这可以用到另外一个选项叫做 -h,h表示叫human readable,就人类容易识别的,人类可读的,那所以它说白了,就是做单换算的,默认是b,可能会把它转换成KB、Mb、gb什么之类的,那因此-l-h就可以一块来用了,我们来看ls -l -h,当然我说过可以和一起是吧?ls -lh,短选项合并,如下图,

    在Windows里边,应该知道文件可以有隐藏属性的,对吗?隐藏就意味着我们平时是看不到它的,除非把它的隐藏属性给它或者把它的能够让我的目录显示的时候显示那些隐藏属性,对不对?那实际上ls也能支持常用的选项叫做-a,表示all,显示所有文件,但是对linux而言,隐藏文件是用点号开头的,隐藏文件以点号开头,那所以这里表示显示以点开头的隐藏文件。比如使用ls -a,会发现会多出来很多文件的,这些文件都是点开头的,有两个特殊的,一个叫点,一个叫点点,还有其他的以点开头的,如下图,

 点和点点是什么呢?而且,发现点还是有蓝色的,是不是?我说个蓝色是什么?目录是吧?那因此点表示当前目录,那点点呢?表示当前目录的上一级目录,所以来看,用ls . 是一个效果,如下图,

看到了吧,虽然点本身没显示出来,ls . 它也表示显示当前路的。那猜一猜,ls .. 呢?显示的上级目录,上级目录是根目录,就是根目录下的所有目录,表示父目录,如下图,

如果我们使用-A来显示的话,大写的a,就表示显示所有隐藏文件,但是不包含 . 和 ..,
来看一下,点和点点就没了,如下图,

但是隐藏文件也会显示了,看到吗?这是A和a的区别。

    我这里显示 ls /root,如下图,

发现它显示root目录下的内容是不是?那如果想显示root本身的属性怎么办?ls -l root,我想想看一下root这个目录自身的数据、权限、最近一次的修改时间等怎么看?有个选项叫杠d,显示目录自身属性的,比如,像刚才仍然这里,ls -ld 一块来用,就显示root自身属性了,如下图

之前说过,我们识别用户是靠用户名,而计算机是把它转换成数字来识别的,对不对?文件名也是如此,我们用户或者我们作为计算机的使用者来讲,以名字来记忆文件可能更容易,但是机器识别靠数字更简单,所以每一个文件都有一个唯一的数字标识符,这叫文件的inode,叫文件的结点,
也叫文件的索引节点,把它称为叫index node 简写为inode,那很显然,刚刚说过,既然每一个文件都有一个索引节点,它每个节点应该都有对应的号码,    有一个对应的号码,那因此我们要想显示文件的一个号码的话,就使用 -i 选项,-i 选项显示文字的索引结点号的,注意这个东西对我来讲是很关键的,如下图,

每个文件前面是不是有数字的,这叫索引结点,好,不知道大家有没有留意到,当使用ls命令的时候,你会发现这个文件是按照文件名在字母表中的次序进行排列的、连续的,看到了吗?而且是升序排序的,那使用ls -r,看效果是什么?如下图,

完全反过来了,看到了吗?好,所以小r,刚看到了,逆序显示文件,逆序显示。那大R是干什么的?叫递归显示,ls -R,如下图,

 以后我们会经常用这个单词递归,叫recursive或者叫recursion都行。recursive 表示递归显示,什么叫递归啊?ls的时候,它只显示这个子目录对不对?子目录中有什么内容显示不显示?不显示的,而加-R,它不但显示子目录,每个子目录中有什么,只不过这个子目录是空的,子目录中的内容也予以显示的,如果子目录中还有子目录,子子目录中内容也会显示叫递归。当然,大家应该知道,递归是相当消耗资源的,这个要知道,比方说一个文件下面有上万个小文件,这样一递归,内存中,大量的内存都用来显示这个文件了,因为所有的数据要显示,首先要先到内存,好,-R叫递归显示。
    那事实上,ls还有很多其他选项,先不说了,大致常用到的就这么多,这也是我们最最常用的命令。

相关文章:

linux-12 关于shell(十一)ls

登录系统输入用户名和密码以后,会显示给我们一个命令提示符,就意味着我们在这里就可以输入命令了,给一个命令,这个命令必须要可执行,那问题是我的命令怎么去使用,命令格式有印象吗?在命令提示符…...

编写指针函数使向右循环移动m个位置

题目描述:有n个整数,要求你编写一个函数使其向右循环移动m个位置 请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。 输入 输入n m表示有n个整数,移动m位 输出 输出移动后的数组 样例输入: 10 5 1 2 3…...

xvisor调试记录

Xvisor是一种开源hypervisor,旨在提供完整、轻量、移植且灵活的虚拟化解决方案,属于type-1类型的虚拟机,可以直接在裸机上启动。 启动xvisor步骤: 1、搭建riscv编译环境 首先从github上下载riscv-gnu-toolchain很费劲,建议直接从国内的源下载 git clone https://gitee…...

MongoDB-ObjectID 生成器

前言 MongoDB中一个非常关键的概念就是 ObjectID,它是 MongoDB 中每个文档的默认唯一标识符。了解 ObjectID 的生成机制不仅有助于开发人员优化数据库性能,还能帮助更好地理解 MongoDB 的设计理念。 什么是 MongoDB ObjectID? 在 MongoDB …...

CUDA 计时功能,记录GPU程序/函数耗时,cudaEventCreate,cudaEventRecord,cudaEventElapsedTime

为了测试GPU函数的耗时,可以使用 CUDA 提供的计时功能:cudaEventCreate, cudaEventRecord, 和 cudaEventElapsedTime。这些函数可以帮助你测量某个 CUDA 操作(如设置设备)所花费的时间。 一、记录耗时案例 以下是一个示例程序&a…...

PDF 文件如何转为 CAD 图纸?PDF2CAD 使用教程

在工程设计和建筑行业中,PDF 文件常常被用来分享和存档图纸。然而,当需要对这些图纸进行编辑或进一步开发时,静态的 PDF 格式就显得力不从心了。这时候,将 PDF 文件转换为可编辑的 CAD(计算机辅助设计)格式…...

【YashanDB知识库】php查询超过256长度字符串,数据被截断的问题

本文内容来自YashanDB官网,原文内容请见:https://www.yashandb.com/newsinfo/7488290.html?templateId1718516 问题现象 如下图,php使用odbc数据源,查询表数据,mysql可以显示出来,yashan显示数据被截断。…...

暴雨AI加速计算服务器新品X8840上市

用户输入简短的文字,大模型可以自动生成创意文本或图像;金融机构的风险评估和预测,大模型通过对金融数据的分析,可以识别异常交易行为;15秒内完成中英文作文的批改和评分,并提供针对性的改进建议&#xff0…...

在多个分布式机器间设置和使用 NFS(Network File System)共享目录的步骤如下:

在多个分布式机器间设置和使用 NFS(Network File System)共享目录的步骤如下: 1. 准备工作 确保所有参与的机器都在同一个网络中,并安装了 NFS 软件包。 在 Linux 系统上: sudo apt update && sudo apt install nfs-kernel-server -y # Ubuntu/Debian sudo yu…...

机器学习中的 Transformer 简介(第 1 部分)

目录 一、说明 二、为什么是 Transformer? 三、什么是 Transformer? 3.1 译者的类比 四、编码器部分 4.1 、从文本输入到输入嵌入 4.2 词嵌入 4.2 N倍编码器段 4.4 多头注意力机制 4.5 添加残差和层归一化 4.6 添加残差和层归一化 五、总结 一、说明 西如…...

D3实现站点路线图demo分享

分享一下通过D3实现的站点路线分布图&#xff0c;这是一个demo。效果图如下&#xff1a; 源码如下&#xff1a; <template><div class"map-test" ref"d3Chart"><div class"tooltip" id"popup-element"><span>…...

非文件形式的内存动态函数库调用接口

使用memfd的系统调用接口将动态库加载到proc虚拟文件系统&#xff0c;提供的fd为进程持有的句柄&#xff0c;通过dlopen的path指向此句柄&#xff0c;即可实现非文件系统加载动态链接库。 文章目录 一、memfd_create二、dl_open三、示例参考 一、memfd_create 接口名称int mem…...

liunx docker 部署 nacos seata sentinel

部署nacos 1.按要求创建好数据库 2.创建docker 容器 docker run -d --name nacos-server -p 8848:8848 -p 9848:9848 -p 9849:9849 -e MODEstandalone -e SPRING_DATASOURCE_PLATFORMmysql -e MYSQL_SERVICE_HOST172.17.251.166 -e MYSQL_SERVICE_DB_NAMEry-config -e MYSQL…...

解决没法docker pull问题

没想到国内源死差不多了&#xff0c;以下内容需要提前科学上网 su cd /etc/systemd/system/docker.service.d vim proxy.conf 参照下图修改&#xff0c;代理服务器改成你自己的。 ​​[Service] Environment"HTTP_PROXYsocks5://192.168.176.180:10810" Environment&…...

面试小札:闪电五连鞭_2

1 请简单描述一下Java中的多线程。 多线程是指在一个程序中可以同时运行多个线程来执行不同的任务。在Java中&#xff0c;通过 java.lang.Thread 类来创建和控制线程。可以通过继承 Thread 类或者实现 Runnable 接口的方式来定义线程的执行逻辑。 线程有多种状态&#xff0c;…...

Milvus向量数据库06-RAG检索增强

Milvus向量数据库06-RAG检索增强 文章目录 Milvus向量数据库06-RAG检索增强1-学习目标2-参考网址3-执行过程记录1-到底什么是RAGRAG 的基本流程&#xff1a;为什么 RAG 优于传统的基于检索的方法&#xff1a;示例流程&#xff1a; 2-RAG和Elasticsearch对比3-RAG和向量数据库之…...

信创国产化时代:打造安全高效的信创网站解决方案

在全球科技竞争日益激烈的背景下&#xff0c;信创国产化已经成为中国信息技术领域的重要战略选择。信创国产化&#xff0c;即信息技术应用创新与国产化&#xff0c;旨在通过自主研发和创新&#xff0c;推动核心技术的国产化&#xff0c;减少对外部技术的依赖&#xff0c;确保国…...

python编程Day13-异常介绍捕获异常抛出异常

异常 介绍 1, 程序在运行时, 如果Python解释器遇到到一个错误, 则会停 止程序的执行, 并且提示一些错误信息, 这就是异常. 2, 程序停止执行并且提示错误信息这个动作, 通常称之为: 抛出 (raise) 异常 # f open(aaaa.txt) # FileNotFoundError: [Errno 2] No such file or dire…...

【JAVA高级篇教学】第二篇:使用 Redisson 实现高效限流机制

在高并发系统中&#xff0c;限流是一项非常重要的技术手段&#xff0c;用于保护后端服务&#xff0c;防止因流量过大导致系统崩溃。本文将详细介绍如何使用 Redisson 提供的 RRateLimiter 实现分布式限流&#xff0c;以及其原理、使用场景和完整代码示例。 目录 一、什么是限流…...

力扣-图论-8【算法学习day.58】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非…...

Spring 中的验证、数据绑定和类型转换

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…...

Github----提交人不是自己

账号用户名都设置对的,但是提交人不是自己 解决 发现是用户名和账号都夹了"号导致 git config --global user.name "Your Name" git config --global user.email "your.emailexample.com"不用引号 git config --global user.name Your Name git …...

常用工具软件

前言 之前汇总过一篇嵌入式开发工具&#xff0c;但是掺杂了一些更偏向于日常使用的软件工具&#xff0c;这里单独提出来分享&#xff0c;都是自己在用的。 1.文件对比工具 BeyondCompare 文件对比利器&#xff0c;添加右键快捷键后。选中两个文件&#xff0c;右键可以直接进…...

Oracle报错ORA-01653: 表xx无法通过 8192在表空间中扩展

向Oracle 19g数据库中批量插入数据&#xff0c;当插入近2亿条数据后&#xff0c;报出如下错误&#xff1a; ORA-01653: 表xx无法通过 8192 (在表空间 xx_data 中) 扩展 查看表空间&#xff0c;发现表空间大小已达到32G&#xff0c;表空间无法进行自动扩展了。&#xff08;初始…...

【C语言】库函数常见的陷阱与缺陷(3):内存分配函数

目录 一、malloc 函数 1.1. 功能与常见用法 1.2. 陷阱与缺陷 1.3. 安全使用建议 1.4. 安全替代和代码示例 二、calloc 函数 2.1. 功能与常见用法 2.2. 陷阱与缺陷 2.3. 安全使用建议 2.4. 安全替代和代码示例 三、realloc 函数 3.1. 功能与常见用法 3.2. 陷阱与缺…...

Vue前端实现预览并打印PDF文档

一. 需求 1. 点击文档列表中的【打印】按钮&#xff0c;获取后台生成的PDF的url&#xff0c;弹窗进行预览&#xff1a; 2. 点击【打印】按钮&#xff0c;进行打印预览和打印&#xff1a; 二. 需求实现 首先后台给的是word文档&#xff0c;研究了一圈后发现暂时无法实现&…...

CSS学习记录07

CSS轮廓 轮廓是在元素周围绘制的一条线&#xff0c;在边框之外&#xff0c;以凸显元素。 CSS拥有如下轮廓属性&#xff1a; outline-styleoutline-coloroutline-widthoutline-offsetoutline 注意&#xff1a;轮廓与边框不同。不同之处在于&#xff1a;轮廓是在元素边框之外…...

喆塔科技携手国家级创新中心,共建高性能集成电路数智化未来

集创新之力成数智之塔 近日&#xff0c;喆塔科技与国家集成电路创新中心携手共建“高性能集成电路数智化联合工程中心”并举行签约揭牌仪式。出席此次活动的领导嘉宾包含&#xff1a;上海市经济和信息化委员会、上海市集成电路行业协会、复旦大学微电子学院、国家集成电路创新中…...

基于单片机的汽车雨刷器装置

摘要 下雨天时道路十分模糊&#xff0c;能见度非常低&#xff0c;司机分散注意力去手动打开雨刷器开关会非常危险。据统计&#xff0c;全世界雨天行车的车祸事故有7&#xff05;是因为司机手动打开雨刷分心导致的。为了减小司机因为手动打开雨刷发生车祸的概率&#xff0c;所以…...

013-SpringBoot 定义优雅的全局异常处理方式

SpringBoot 定义优雅的全局异常处理方式 一、概述二、定义全局异常接口三、定义全局异常枚举四、定义全局基础异常五、定义全局基础业务异常六、定义全局返回七、定义全局返回工厂八、全局异常处理九、实体类十、Controller十一、效果展示一、概述 在日常项目开发中,异常是常…...

网站优化网站建设/免费长尾词挖掘工具

1. 安装docker 2. 安装Huginn docker run -it -p 3000:3000 huginn/huginn 3. 访问服务 [http://docker-machine ip:3000] 默认用户名/密码: admin/password 微博更新自动提醒 使用Weibo User Agent , uid要填写正确 , 例子里填为30分钟查询一次.{ “uid”: “602949”,“…...

新手怎样做网站推广/企业查询系统官网天眼查

题目链接 题意&#xff1a;输入一个n&#xff0c;给出一个由n行4列组成的数组&#xff0c;要求在每一列找出一个数&#xff0c;使得四个数相加为0。输出一共有多少种情况。 题记&#xff1a;首先将四列的数变成两列&#xff0c;即将第一第二列的每两个数加起来存到一个新数组…...

企业网站代码怎么优化/域名注册服务网站

【问题】之前虽然已经实现了&#xff0c;可以通过在新建的线程中&#xff0c;及时动态更新进度条的问题了&#xff1a;但是结果却在&#xff1a;Toast.makeText(getApplicationContext(), "歌曲下载完毕", Toast.LENGTH_SHORT).show();的位置&#xff0c;导致程序崩溃…...

网站排名优化方案/网络营销平台

通过前几章的学习&#xff0c;我们完成了 Todo List 程序的 todo 管理部分&#xff0c;实现了对 todo 的增、删、改、查基本操作&#xff0c;这也是几乎所有 Web 程序都具备的功能。我们当然可以按照目前的思路继续来实现用户管理部分&#xff0c;在 models.py 中编写用户相关的…...

做b612表情的素材网站/东莞网络推广策略

CentOS7 kernel-3.10.0-693.el7.centos.toa.x86_64.rpm 网盘链接&#xff1a;https://pan.baidu.com/s/1cXB_3qPOnTiIGijFlQ_uzw将文件上传到服务器。 直接rpm安装会报错&#xff0c;如下&#xff1a; [rootlocalhost CentOS 7.2 64]# rpm -ivh kernel-3.10.0-693.el7.centos.t…...

外贸网站建设维护/惠州网站seo

归并 的 含义 “将两个或两个以上的有序表合成一个新的有序表” merge的思想 &#xff1a; 先将A1[ ]&#xff0c;A2[ ] 复制到辅助数组 B[ ]中&#xff0c;每次取较小者放入A中&#xff0c;直至B的某一段为空时&#xff0c;将另一端直接复制到A中。Java代码&#xff1a; publ…...