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

linux基础学习--linux文件与目录管理

linux文件与目录管理

1. 目录与路径

1.1 相对路径与绝对路径
  • 绝对路径:路径写法一定从根目录/写起
    • 绝对路径的正确度要高。
  • 相对路径:路径写法不是由/写起
1.2 目录的相关操作

切换目录的命令是cd,下面是比较特殊的目录:

.  代表此层目录
.. 代表上一层目录
-  代表前一个工作目录
~  代表当前使用者身份所在的家目录

. 和 … 在所有目录下都会存在。甚至在根目录下也都存在,不过此时代表根目录上一层的(.)和根目录自己的(…)是同一个目录。
常见的处理目录的命令:

  • cd:切换目录。
    在Linux中, 一个用户的家目录就是/home/用户名/,root用户的家目录是/root/。使用~+用户名表示对应用户的家目录。使用相对路径时,必须保证想去目录在当前目录下。
  • pwd:显示当前目录。
    pwd [-p],其中-p表示显示出真正路径,而不是使用链接路径。
  • mkdir:建立一个新目录。
    mkdir [-mp]
    [-m]:设置文件的权限。
    [-p]:建立多层级目录时添加。
  • rmdir:删除一个空目录。
    rmdir [-p]-p表示连同上一层的空目录也一并删除。
1.3执行文件路径的变量:$PATH

PATH就是环境变量,通常写作$PATH,$表示后面接的是变量,这个变量由一堆目录所组成,每个目录中间由冒号(:)隔开,每个目录有顺序之分。我们所使用的命令,之所以可以仅仅输入命令名称就可以运行,是因为这些命令的文件所在的目录就在变量 $PATH中。一旦某个命令的文件被移 出 $PATH中记录的目录,那么无论在哪个目录输入这个命令的名称来执行它,都不能执行成功。

2.文件与目录管理

2.1 文件与目录的查看:ls

ls命令是linux系统中相当常见的命令。
ls [指令] 文件名或目录名称
常见指令:

-a :全部的文件,连同隐藏文件(开头为.的文件)一起列出来。
-A :全部的文件,连同隐藏文件,但不包括.和..这两个目录。
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)。
-f :直接列出结果,而不进行排序(ls会默认以文件名排序)。
-F :根据文件,目录等信息,给予附加数据结构,例如:*:代表可执行文件; /:代表目录; =:代表socket文件; |:代表FIFO文件;
-h :将文件容量以人类较易读的方式(如GB,KB)列出来。
-i :列出inode号码,inode的意义下一章将会介绍。
-l :详细信息显示,包含文件的属性与权限等数据。
-n :列出UID与GID而非使用者与用户组的名称(UID与GID会在账号管理提到)。
-r :将排列结果反向输出。
-R :连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来。
-S :以文件容量大小排序,而不是用文件名排序。
-t :依时间排序,而不是用文件名。
--color=never :不要依据文件特性给予颜色显示。
--color=always :显示颜色。
--color=auto :让系统自行依据设置来判断是否给予颜色。
--full-time : 以完整时间模式(包含完整年,月,日,时,分)输出;
--time=(atime,ctime) : 输出access时间或改变权限属性时间(ctime),而非内容修改时间。

当只执行ls时,默认显示的只有:非隐藏的文件的文件名,以文件名进行排序及文件名代表的颜色显示

2.2 复制,删除与移动:cp,rm,mv
  • cp(复制文件或目录)
    当需要复制文件时,要使用cp这个命令。这个命令除了复制,还可以建立链接文件,对比两文件的新旧而予以更新,以及复制整个目录。
    移动目录和文件,使用mv命令,这个命令也可以用来重命名。
    删除,使用rm这个命令。
  • cp(复制文件或目录)
    cp [指令] 源文件 目标文件
    cp [options] sourcel source2 source3 ... directory
-a :相当于-dr --preserve=all的意思。
-d :若源文件为链接文件的属性,则复制链接文件属性而非文件本身。
-f :为强制的意思,若目标文件已经存在且无法开启,则删除后再尝试一次。
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行(常用)。
-l :进行硬链接的链接文件建立。
-p :连同文件的属性(权限,用户,时间)一起复制过去,而不是使用默认。
-r :递归复制,用于目录的复制操作;
-s :复制成为符号链接文件,即"快捷方式"文件。
-u :destination比source旧才更新description,或description不存在的情况下才复制。
--preserve=all :除了-p的权限相关参数外,还加入了SELinux的属性,links,xattr等也复制。

对于不同的身份者,执行这个命令会有不同的结果产生,尤其是-a-p的选项,对于不同的身份来说,差异特别大。
而在默认的条件中,cp的源文件与目标文件的权限是不同的,目标文件的拥有者通常是命令操作者本身
因此,在使用cp命令复制一些特殊权限文件时,把你直接使用cp进行复制,必须加上-a或者-p完整复制权限。

  • rm(删除文件或目录)
    rm [-fir] 文件或目录
-f :就是froce的意思,忽略不存在的文件,不会出现警告信息。
-i :交互模式,在删除前会询问使用者是否操作。
-r :递归删除,最常用于目录的删除,这个选项相当危险。

在linux系统下,为了避免文件被删除,很多Linux发行版中已经默认加入了-i这个选项。

  • mv(移动文件与目录,或者重命名)
    mv [-fiu] source destination
    mv [option] source1 source2 source3 ... directory
-f :foece强制的意思,如果目标文件已经存在,不会询问而是直接覆盖。
-i :若目标文件已经存在时,就会询问是否覆盖。
-u :若目标文件已经存在,且source比较新,才会更新。
2.3获取路径的文件名与目录名称
  • basename获取文件名
    basename + 路径返回最后的文件名。
  • dirname获取目录名
    dirname + 路径返回路径中的目录名。

3.文件内容查看

常见的显示文件内容的命令有catmoreless。此外还有tailtac

  • cat 由第一行开始显示文件内容。
  • tac 从最后一行开始显示,可以看出tac时cat的倒着写。
  • nl 显示的时候,同时输出行号。
  • more 一页一页地显示文件内容。
  • less 与more相似,但比more更好,可以往前翻页。
  • head 只看前面几行。
  • tail 只看后面几行。
  • od 以二进制的方式读取文件内容。
3.1 直接查看文件内容

直接查看一个文件的内容可以使用cat/tac/nl这些命令:

  • cat
    cat [-AbEnTv] 文件名
-A :相当于-vET的整合选项,可列出一些特殊字符而不是空白而已。
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号。
-E :将结尾的换行符$显示出来。
-n :打印出行号,连同空白行也会有行号,与-b的选项不同。
-T :将[tab]按键以^I显示出来。
-v :列出一些看不出来的特殊字符。

cat命令查看一些较小文件还有,文件行数过大时根本来不及查看结果。

  • tac(反向列示)
    tac命令与cat命令基本相同,只是cat是从第一行输出到最后一行,tac是从最后一行输出到第一行。
  • nl(添加行号打印)
    nl [-bnw] 文件
-b :指定行号指定的方式,主要有两种:-b a :表示不论是否为空行,也同样列出行号。-b t :如果有空行,空的那一行就不要列出行号。
-n :列出行号表示的方法有三种:-n ln :行号在屏幕的最左方显示。-n rn :行号在自己栏位的最右方显示,且不加0。-n rz :行号在自己栏位的最右方显示,且加0。
-w :行号栏位的占用的字符数。

nlcat -n类似,但它可以做更多的显示设计。

3.2 可翻页查看

前面的命令都是一口气把所有数据都显示出来,而moreless可以进行分页显示。

  • more(一页一页翻动)
    more 文件
    如果more后文件的行数大于屏幕输出的行数时,会在最后一行显示出目前显示的百分比,还可以在最后一行输入一些有用的命令。
空格键(space):代表向下翻一页。
Enter :代表向下翻一行。
/字符串:代表在这个显示的内容当中,向下查找字符串这个关键词。
:f :立刻显示出文件名以及目前显示的行数。
q :代表立刻离开more,不再显示该文件内容。
b或[ctrl]-b :代表往回翻页,不过这操作只对文件有用,对管道无用。
  • less(一页一页翻动)
    less的用法更加灵活,在more中我们并没有办法往前翻,只能向后,如果使用了less,就可以使用【pageup】【pagedown】等按键的功能来往前往后翻看文件。除此之外,还有许多的查找功能。
空格键:向下翻动一页。
[pagedown]:向下翻动一页。
[pageup]:向上翻动一页。
/字符串:向上查找字符串的功能。
?字符串:向上查找字符串的功能。
n:重复前一个查找(与/或?有关)。
N:反向的重复前一个的查找(与/或?有关)。
g:前进到这个数据的的第一行。
G:前进到这个数据的最后一行去(注意大小写)。
q:离开less这个程序。
3.3 数据截取

我们可以对输出的数据进行一个简单的截取,就是取出文件前面几行(head)或者取出后面几行(tail)文字的功能,不过都是以“行”为单位进行数据截取的。

  • head(取出前面几行)
    head [-n number] 文件
-n :后面接数字,代表几行的意思。

不加-n时默认只显示十行,如果数字m前加-时,就是输出前面的所有行数,只留最后m行。

  • tail(取出后面几行)
    tail [-n number] 文件
-n :后面接数字,代表几行的意思。
-f :表示后面持续刷新显示后面所接文件中的内容,直到按下[ctrl]-c才会结束。

用法与head类似,不过当数字m前加+时,就表示从第m行开始输出后面所有的内容。

3.4 非纯文本文件:od

以上命令都是查看纯文本文件时使用的,使用它们读取非文本文件时会输出乱码,而执行文件通常是二进制文件,伺此时可以使用od这个命令读取。
od [-t TYPE] 文件

-t :后面可以跟各种【类型(TYPE)】的输出,例如:a :利用默认的字符来输出。c :使用ASCII字符进行输出。d[size] :利用十进制来输出数据,每个整数占用size Bytes。f[size] :利用浮点数值来输出数据,每个整数占用size Bytes。o[size] :利用八进制来输出数据,每个整数占用size Bytes。x[size] :利用十六进制来输出数据,每个整数占用size Bytes。 
3.5 修改文件创建时间或创建新文件:touch

在每个文件下都会记录许多的时间参数,其实是有三个主要的变动时间:

  • 修改时间(mtime)
    • 当该文件的【内容数据】变更时,就会更新这个时间,内容数据指的是文件的内容,而不是文件的属性或者权限。
  • 状态时间(ctime)
    • 当文件的【状态】改变时,就会更新这个时间,举例来说,像是权限和属性被更改了,都会更新这个时间。
  • 读取时间(atime)
    • 当【该文件的内容被读取】时,就会更新这个时间,举例来说,我们使用cat去读取一个文件时,该文件简单atime。
      默认情况下,ls显示出的时间是该文件的mtime,也就是这个文件上次被修改的时间。可以使用touch来修改时间。
      touch [-acdmt] 文件
-a :仅自定义atime。
-c :仅修改文件的时间,若文件不存在则建立新文件。
-d :后面可以接欲自定义的日期而不用目前的日期,也可以使用--data="日期或时间"。
-m :仅可修改mtime。
-t :后面可以接欲自定义的时间而不用目前的时间,格式为[YYYYMMDDhhmm]。

默认情况下,touch直接接文件,这个文件的三个时间(atime/ctime/mtimew)都会更新为目前的时间。若该文件不存在,就会主动建立一个新的空文件。
touch最常用的就是:

  • 建立一个空文件。
  • 将某个文件日期自定义为目前(mtime与atime)。

4.文件与目录的默认权限与隐藏权限

在Linux中除了r,w,x等属性外,在Linux传统的ext2,ext3,ext4文件系统下,还可用设置其他的隐藏属性,可以用chattr设置,以lstar查看,最重要的属性就是设置其不可修改的特性,让连文件的拥有者都不能进行修改。但在centos7中使用xf作为默认文件系统,xfs仅支持chattr的部分参数。

4.1文件的默认权限:umask

umask就是指目前用户在建立文件或目录时的权限默认值。查看umask的方法有两种:

  • 直接输入umask,就可以看到数字类型的权限设置值。
  • 输入umask -S,以符号类型的方式来显示权限。
    在默认权限的属性上,目录与文件是不一样的。
    对于文件,一般是用来记录数据的,执行的权限并不必要,那么就只有rw这两个权限,也就是说最大为666,如下:
-rw-rw-rw-

对于目录,由于x与是否可以进入此目录有关,因此默认为所有权限均开放,即777,如下:

drwxrwxrwx

umask指的是该默认值需要减掉的权限,r,w,x对应4,2,1,对应的数字表示减掉对应权限。
需要设置umask时,直接umask + 数字就可以更改默认权限了。

4.2文件隐藏属性

以下的chattr命令只在ext2,ext3,ext4的传统文件系统上完整生效。

  • chattr(配置文件隐藏属性)
    chattr [+-=] [ASacdistu] 文件或目录名称
+ :增加某一个特殊参数,其他原本存在的参数则不动。
- :删除某一个特殊参数,其他原本存在的参数则不动。
= :直接设置参数,且仅有后面接的参数。
A :当直接设置A这个属性时,若你在存取此文件时,它的存取时间将不会被修改,可避免I/O较慢的机器过度的读写磁盘。
S :一般文件是非同步写入磁盘的,如果加上S这个属性时,当你进行任何文件的修改,该修改会同步写入磁盘中。
a :当设置a之后,这个文件将只能增加数据,而不能删除或修改数据,只有root用户才能设置这属性。
c :这个属性设置之后,将会自动的将此文件【压缩】,在读取的时候会自动的解压缩。
d :当dump程序被执行时,设置d属性将可使该文件(或目录)不会被dump备份。
i :可以让一个文件【不能被删除,改名设置链接也无法写入或新增数据】只有root可以设置此属性。
s :当文件设置了s属性,如果该文件被删除,它将完全从硬盘被删除,如果误删将完全无法被恢复。
u :与s相反,当使用u来配置文件时,如果该文件被删除,则数据内容其实还存在与磁盘中,可以用来恢复该文件。
  • lsattr(显示文件隐藏属性)
    lsattr [-adR] 文件或目录
-a :将隐藏文件的属性也显示出来。
-d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名。
-R :连同子目录的数据也一并列出来。
4.3 文件的特殊权限:2025-04-21 07:08,SGID,SBIT
  • Set UID
    当s这个标志出现在文件拥有者的x权限上时,被称为Set UID,简称为SUID的特殊权限,它有着这样的限制和功能:

  • SUID权限仅对二进制程序有效。

  • 执行者对于该程序需要有x的可执行权限。

  • 本权限仅在执行该程序的过程中有效。

  • 执行者将具有该程序拥有者的权限。
    总得来说,执行者需要对这个二进制文件有x权限,执行该文件时,会暂时获得这个文件拥有者的权限。
    SUID就可以用在二进制文件上,不能用在shell脚本上。

  • Set GID
    当s标志出现在用户组的x时则被称为Set GID,与SUID不同,SGID可以针对文件或目录进行设置,对文件来说,SGID有如下功能:

  • SGID对二进制有用。

  • 程序执行者对于该程序来说具有x权限。

  • 执行者在执行过程中将会该程序用户组的支持。
    与SUID相似,执行者需要对该文件有x权限,执行该文件时,会暂时获得这个文件用户组的权限。
    SGID也可以对目录作用,当一个目录设置SGID的权限后,就会有如下的权限:

  • 用户如果对此目录具有r和x权限,该用户能够进入此目录。

  • 用户在此目录下的有效用户组将会变成该目录的用户组。

  • 用途:若该用户在此目录下拥有w的权限(可以新建文件),则用户所建立的新文件,该新文件的用户组与此目录的用户组相同。

  • Sticky Bit
    SBIT目前只针对目录有效,对文件无效果,对目录的作用是:

  • 当用户对于此目录具有w,x权限,即具有写入的权限。

  • 当用户在该目录下建立文件或目录时,仅有自己与root才有权利删除该文件。

  • SUID/SGID/SBIT权限设置
    可以使用数字修改权限的方式修改,在原来的三个数字前再加一位数字:

特殊权限数值含义
SUID4程序运行时以文件拥有者的身份执行(常用于可执行文件)
SGID2程序以文件所属组身份执行 / 目录中新建文件继承所属组
Sticky Bit1常用于目录,只有文件拥有者或 root 能删除该目录下的文件
  • 注意,这三个权限的s和t是取代x权限的,当使用ls命令进行查询时,s或t会直接取代x来显示。而当无x权限,会变成大写的X和S。
    SUID,SGID,SBIT 分别绑定在 user/group/other的x权限上,当拥有这些隐藏权限时,x就会被替换。
4.4 观察文件类型:file

file命令,可以用来查看某个文件的基本信息,如是属于ASCII或是数据文件或是二进制文件,且,其中有没有用到动态链接库等信息。
用法:file 文件

5.命令与文件的查找

5.1 脚本文件的查找
  • which(查找【执行文件】)
    which [-a] command
-a :将所有由PATH目录中可以找到的命令均列出,而不止第一个被找到的命令名称。

这个命令是根据【PATH】这个环境变量所规范的路径,去查看执行文件的文件名。

5.2 文件的查找

在Linux中,一般不常用find命令来查找,不仅速度很慢,也影响硬盘性能。
一般先使用whereis locate来查找,whereis只找系统中某些特定目录下面的文件,locate则是则是利用数据库来查找文件名。

  • whereis(由一些特定的目录中查找文件)
    whereis [-bmsu] 文件或目录名
-l :可以列出whereis会去查询的几个主要的目录。
-b :只找binary(二进制)格式的文件。
-m :只找在说明文件manual路径下的文件。
-s :只找source源文件。
-u :查找不在上述三个项目当中的其他特殊文件。
  • locate/updatedb
    locate [-ir] keyword
-i :忽略大小写的差异。
-c :不输出文件名,仅计算找到的文件数量。
-l :仅输出几行的意思,例如输出五行则是-l 5。
-S :输出locate所使用的数据库文件的相关信息,包括数据库记录的文件/目录数量等。
-r :后面可接正则表达式的显示方式。

locate查询的速度相当快速,因为它是通过已建立的数据库查询的,不需要去硬盘中读取数据。
而CentOS 7中数据库是每天一更新的,这就导致在数据库更新前新建的文件会查询不到,此时可以使用updatadb来手动更新数据库。

  • find
    find [PATH] [option] [ation]
1.与时间有关的参数:-atime,-ctime与-mtime。
-mtine n :n为数字,意义为在n天之前的【一天之内】被修改过内容的文件。
-mtine +n :列出在n天之前被修改过内容的文件。
-mtine -n :列出在n天之内被修改过内容的文件。
-newer file :file为一个实际存在的文件,列出比file还新的文件。
  • +n :代表大于等于n天前的文件。
  • -n :代表小于等于n天前的文件。
  • n :是代表n到n+1那天的文件。
2.与使用者或用户组名称有关的参数:
-uid n :n为数字,这个数字是使用者的账号ID,即UID,记录在/etc/passwd里面。
-gid n :n为数字,这个数字是用户组名称的ID,即GID,记录在/etc/group中。
-user name :name为使用者账号名称。
-group name :name为用户组名称。
-nouser :查找文件的拥有者不在/etc/passwd中。
-nogroup :查找文件的拥有用户组不存在于/etc/group的文件,当你自行安装软件时,很可能该软件的属性中并没有文件拥有者。

当系统中的某个账号被删除,但是该账号中存储了很多文件时,很可能就会产生无主文件,就要使用-nouser来查找该类型的文件。

3.与文件权限及名称有关的参数:
-name filename :查找文件名称为file的文件。
-size [+-]SIZE :查找比SIZE还要大或者小的文件,这个SIZE的规格有:c:代表Bytes,k:代表1024Bytes。
-type TYPE :查找文件的类型为TYPE的,类型主要有:一般正规文件(f),设备文件(b,c),目录(d),链接文件(l),scoket(s),及FIFO(p)等属性。
-perm mode :查找文件权限【刚好等于】mode的文件,这个mode为类似chmod的属性值,即4755这类。
-perm -mode :查找文件权限【必须要囊括mode的权限】的文件,例如查询0744的文件,4755的文件也会被列出,因为4755已经囊括0744了。
-perm/mode :查找文件权限【包含任一mode的权限】的文件。
4.额外可进行的操作
-exec command :command为其他命令,-exec后面可以在接额外的命令来处理查找到的结果。
-print :将结果打印到屏幕上,这个操作时默认操作。

举个例子find /usr/bin /usr/sbin -perm /7000 -exec ls -l () \;

  • {}代表的是由find找到的内容,这些结果会被放到{}中。
  • -exec到;是关键词,代表find额外操作的开始(-esec)到结束(;),这中间的就是find命令的额外操作。
  • ;在bash环境下有特殊意义,因此使用反斜杠\来转义。
    另外,find命令还可以通过通配符来查询文件名,例如,想要查找/etc目录下文件名包含http的文件,就可以:
    find /etc -name '*http*'

相关文章:

linux基础学习--linux文件与目录管理

linux文件与目录管理 1. 目录与路径 1.1 相对路径与绝对路径 绝对路径:路径写法一定从根目录/写起。 绝对路径的正确度要高。 相对路径:路径写法不是由/写起。 1.2 目录的相关操作 切换目录的命令是cd,下面是比较特殊的目录:…...

云原生--基础篇-2--云计算概述(云计算是云原生的基础,IaaS、PaaS和SaaS服务模型)

1、云计算概念 云计算是一种通过互联网提供计算资源(包括服务器、存储、数据库、网络、软件等)和服务的技术模式。用户无需拥有和维护物理硬件,而是可以根据需要租用这些资源,并按使用量付费。 2、云计算特点 (1&am…...

存储器综合:内存条

一、RW 1000题刷题 1、计算Cache缺失率 2、 二、前提回顾 1、CPU从单个DRAM芯片中取地址 注意:Cache与主存的交互以“主存块”为单位,当出现Cache Miss时,主存以“主存块”为单位传输至Cache中。 2、内存条编址 多个DRAM芯片组成内存条&a…...

树莓派超全系列教程文档--(38)config.txt视频配置

config.txt视频配置 视频选项HDMI模式树莓派4-系列的HDMI树莓派5-系列的HDMI 复合视频模式enable_tvout LCD显示器和触摸屏ignore_lcddisable_touchscreen 通用显示选项disable_fw_kms_setup 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 视频选…...

pytest-项目结构

项目结构 api_test_project/ ├── config/ │ └── config.py # 配置文件,存储接口的基本信息,如 URL、请求头、认证信息等 ├── data/ │ └── test_data.json # 测试数据文件,存储接口的请求参数、预期结果等 ├── tests/…...

几何编码:启用矢量模式地理空间机器学习

在 ML 模型中使用点、线和多边形,将它们编码为捕捉其空间属性的向量。 自地理信息系统 (GIS) 诞生之初,“栅格模式”和“矢量模式”之间就存在着显著的区别。在栅格模式下,数据以值的形式呈现在规则的网格上。这包括任何形式的图像&#xff0…...

什么是SPA,SPA与MAP区别

什么是SPA,SPA与MAP区别 文章目录 什么是SPA,SPA与MAP区别一、什么是SPA二、SPA和MPA的区别一、单页应用与多页应用的区别**二、SPA 的优缺点对比**三、WPA的优缺点 **三、SPA 实现关键技术**hash 模式模式history模式 四、SPA 的适用场景与原因**适用场…...

计算机前沿技术课程论文 K-means算法在图像处理的应用

K-means算法在图像处理的应用 这是本人在计算机前沿技术课程中的课程论文文章,为了方便大家参考学习,我把完整的论文word文档发到了我的资源里,有需要的可以自取。 点击完整资源链接 目录 K-means算法在图像处理的应用摘要:引言1…...

第十四届蓝桥杯 2023 C/C++组 平方差

目录 题目: 题目描述: 题目链接: 思路: 核心思路: 第一种思路: 第二种思路: 坑点: 代码: 数学找规律 O(n) 50分代码详解: O(1)满分代码详解&#x…...

【数学建模】随机森林算法详解:原理、优缺点及应用

随机森林算法详解:原理、优缺点及应用 文章目录 随机森林算法详解:原理、优缺点及应用引言随机森林的基本原理随机森林算法步骤随机森林的优点随机森林的缺点随机森林的应用场景Python实现示例超参数调优结论参考文献 引言 随机森林是机器学习领域中一种…...

计算机组成与体系结构:存储器(Memory)

目录 📁 当你打开一个文件,计算机会做什么? ⚡ 越大的 memory,访问速度越快吗? 🧠 那么,我们是怎么设计存储器的呢? Primary Memory(主存)登场&#xff…...

MyBatis框架—xml映射

目录 一.为什么需要进行手动映射? 二.关联查询 1.使用resultMap进行映射 2.使用Connection进行映射 一.为什么需要进行手动映射? 当我们设计多表查询或关联查询时,表中含有相同的字段名或要进行关联查询时,MyBatis无法智能识别如何处理映射结果&…...

Vue接口平台学习十——接口用例页面2

效果图及简单说明 左边选择用例,右侧就显示该用例的详细信息。 使用el-collapse折叠组件,将请求到的用例详情数据展示到页面中。 所有数据内容,绑定到caseData中 // 页面绑定的用例编辑数据 const caseData reactive({title: "",…...

Visual Studio 2022 运行一个后台程序而不显示控制台窗口

在 Visual Studio 2022 中,希望运行一个后台程序而不显示控制台窗口(黑色命令框),可以通过以下方法实现: 修改项目输出类型为 Windows 应用程序 右键项目 → 选择 属性 (Properties)在 配置属性 → 链接器 → 系统 (…...

剑指Offer(数据结构与算法面试题精讲)C++版——day17

剑指Offer(数据结构与算法面试题精讲)C版——day17 题目一:节点值之和最大的路径题目二:展平二叉搜索树题目三:二叉搜索树的下一个节点附录:源码gitee仓库 题目一:节点值之和最大的路径 题目&am…...

opencv函数展示4

一、形态学操作函数 1.基本形态学操作 (1)cv2.getStructuringElement() (2)cv2.erode() (3)cv2.dilate() 2.高级形态学操作 (1)cv2.morphologyEx() 二、直方图处理函数 1.直方图…...

10天学会嵌入式技术之51单片机-day-3

第九章 独立按键 按键的作用相当于一个开关,按下时接通(或断开),松开后断开(或接通)。实物图、原理图、封装 9.2 需求描述 通过 SW1、SW2、SW3、SW4 四个独立按键分别控制 LED1、LED2、LED3、LED4 的亮…...

DeepSeek智能时空数据分析(二):3秒对话式搞定“等时圈”绘制

序言:时空数据分析很有用,但是GIS/时空数据库技术门槛太高 时空数据分析在优化业务运营中至关重要,然而,三大挑战仍制约其发展:技术门槛高,需融合GIS理论、SQL开发与时空数据库等多领域知识;空…...

第 7 篇:总结与展望 - 时间序列学习的下一步

第 7 篇:总结与展望 - 时间序列学习的下一步 (图片来源: Guillaume Hankenne on Pexels) 恭喜你!如果你一路跟随这个系列走到了这里,那么你已经成功地完成了时间序列分析的入门之旅。我们从零开始,一起探索了时间数据的基本概念、…...

计算机视觉中的正则化:从理论到实践的全面解析

🌟 计算机视觉中的正则化:从理论到实践的全面解析🌟 大家好!今天要和大家分享的是在计算机视觉(CV)领域中非常重要的一个概念——正则化(Regularization)。无论你是刚开始接触深度学…...

解决使用hc595驱动LED数码管亮度低的问题

不知道大家在做项目的时候有没有遇到使用hc595驱动LED数码管亮度低的问题(数码管位数较多),如果大佬们有好的方法的可以评论区留言 当时我们解决是换成了天微的驱动芯片,现在还在寻找新的解决办法(主要软件不花钱&…...

Allegro23.1新功能之4K显示器页面显示不全如何解决操作指导

Allegro23.1新功能之4K显示器页面显示不全如何解决操作指导 Allegro升级到了23.1的时候,可能会出现界面显示不全的情况,如下图 是因为4K高清显示器的原因导致的 如何解决,具体操作如下 我的电脑,右键选择属性 点击高级系统设置 …...

C++——STL——容器deque(简单介绍),适配器——stack,queue,priority_queue

目录 1.deque(简单介绍) 1.1 deque介绍: 1.2 deque迭代器底层 1.2.1 那么比如说用迭代器实现元素的遍历,是如何实现的呢? 1.2.2 头插 1.2.3 尾插 1.2.4 实现 ​编辑 1.2.5 总结 2.stack 2.1 函数介绍 2.2 模…...

网络原理——UDP

1、 与TCP的关键区别 特性UDPTCP连接方式无连接面向连接可靠性不可靠可靠数据顺序不保证顺序保证顺序传输速度更快相对较慢头部开销8字节20-60字节流量控制无有拥塞控制无有适用场景实时应用、广播/多播可靠性要求高的应用 2、UDP 报文结构 报文结构大致可以分为首部和载荷&a…...

下载pycharm遇到的问题及解决方法

下载和安装 PyCharm 时可能会遇到一些具体问题,以下是一些常见问题及其解决方法: 常见问题及解决方法 下载速度慢或下载中断 解决方法: 检查你的互联网连接,并重启路由器。尝试使用不同的网络连接(如使用移动热点&…...

微硕WSP4407A MOS管在智能晾衣架中的应用与市场分析

微硕WSP4407A MOS管在智能晾衣架中的应用与市场分析 一、引言 智能晾衣架作为一种现代化的家居设备,其核心部件之一是驱动电路,而MOS管作为驱动电路中的关键元件,其性能直接影响到智能晾衣架的运行效率和稳定性。微硕半导体推出的WSP4407A …...

Java 性能优化:如何利用 APM 工具提升系统性能?

Java 性能优化:如何利用 APM 工具提升系统性能? 在当今竞争激烈的软件开发领域,系统性能至关重要。随着应用规模的扩大和用户需求的增加,性能问题逐渐凸显,这不仅影响用户体验,还可能导致业务损失。而 APM…...

FPGA 中 XSA、BIT 和 DCP 文件的区别

在 FPGA(现场可编程门阵列)开发中,XSA、BIT 和 DCP 文件是常见的文件类型,它们在功能、用途、文件内容等方面存在明显区别,以下是详细介绍: 1. XSA 文件 定义与功能 XSA(Xilinx Shell Archiv…...

【c语言】指针进阶

目录 1.字符指针 2.指针数组 3.数组指针 3.1 数组指针的定义 3.2 数组指针的使用 4.数组参数,指针参数 4.1 一维数组传参 4.2 二维数组传参 4.3 一级指针传参 4.4 二级指针传参 5.函数指针 6.函数指针数组 6.1函数指针数组的定义 6.2 函数指针数组…...

使用FastAPI与OpenAI构建多模态分析API服务

引言 随着多模态AI模型的普及(如Qwen-Omni-Turbo),开发者可以轻松构建支持图像、音频、视频分析的API服务。本文将通过一个FastAPI示例,展示如何通过Base64编码传输媒体文件,并结合OpenAI API实现异步分析。这一方案适…...

集成学习实际案例

一、算法竞赛经典:Kaggle & 国际赛事 1. 泰坦尼克号生存预测(Random Forest) 场景:Kaggle 入门级经典赛题,基于乘客信息预测生存概率。方案: 基模型:决策树(CART)&…...

Linux421用户、组

参考...

树模型与集成学习(决策树核心算法:ID3/C4.5/CART、随机森林、GBDT/XGBoost)

树模型与集成学习 一、决策树 决策树核心算法:ID3/C4.5/CART ID3算法(基于信息增益) 核心原理 ID3(Iterative Dichotomiser 3)是最早的决策树算法之一,由Ross Quinlan于1975年提出。其核心思想是通过信…...

Netdata 监控多台服务器

一、多服务器监控方案选择 1. Netdata Cloud(官方推荐,免费) 特点:无需自建中心节点,通过 Netdata 官方云平台集中查看所有服务器。步骤: 在每台服务器上安装 Netdata(参考上一指南&#xff0…...

CTF web入门之SQL注入使用工具sqlmap

详细说明:https://blog.csdn.net/qq_41701460/article/details/146391515 web201: 查看数据库 获取不到数据库信息 https://9556eca3-d69a-40f4-b2a4-c89c2d2f8f12.challenge.ctf.show/api/?id1题目有提到 使用–user-agent 指定agent,因为对于 sqlm…...

spark–sql项目实验

数据读取与格式转换 读取JSON数据:使用Spark提供的读取接口(如 spark.read.json() ,在不同编程语言接口下使用方式类似)将给定的JSON格式数据读入Spark中,形成 DataFrame 。 格式转换:按照题目要求&…...

gnome中删除application中失效的图标

什么是Application 这一块的东西应该叫application,准确来说应该是applications。 正文 系统级:/usr/share/applications 用户级:~/.local/share/applications ying192 ~/.l/s/applications> ls | grep xampp xampp.desktoprm ~/.local…...

华为设备命令部分精简分类汇总示例

华为网络设备的命令体系庞大且复杂,不同设备系列(如交换机、路由器、防火墙)和不同操作系统版本(如VRP5、VRP8)的命令可能存在差异。以下是一个 精简分类汇总,涵盖常用配置场景和命令示例: 一、…...

Java 自动装箱与拆箱:基本数据类型与包装类的转换

在Java编程中,自动装箱(Autoboxing)和自动拆箱(Unboxing)是两个重要的概念。它们使得基本数据类型与其对应的包装类之间的转换更加方便,同时也提高了代码的可读性和可维护性。 什么是自动装箱和拆箱&#…...

论文阅读HARIVO: Harnessing Text-to-Image Models for Video Generation

h-space对比损失(DC)的设计细节 目标:确保视频的所有帧在语义上保持一致(例如,同一视频中的不同帧应描述相同的主体和场景,避免物体突变或语义漂移)。 1. h-space的定义 h-space 是U-Net最深…...

OpenCV基础函数学习4

【大纲笔记见附件pdf】 目录 一、基于OpenCV的形态学操作 二、基于OpenCV的直方图处理 三、基于OpenCV霍夫变换 四、基于OpenCV模板匹配 一、基于OpenCV的形态学操作 二、基于OpenCV的直方图处理 三、基于OpenCV霍夫变换 四、基于OpenCV模板匹配...

大数据系列 | 详解基于Zookeeper或ClickHouse Keeper的ClickHouse集群部署--完结

大数据系列 | 详解基于Zookeeper或ClickHouse Keeper的ClickHouse集群部署 1. ClickHouse与MySQL的区别2. 在群集的所有机器上安装ClickHouse服务端2.1. 在线安装clickhouse2.2. 离线安装clickhouse 3. ClickHouse Keeper/Zookeeper集群安装4. 在配置文件中设置集群配置5. 在每…...

【leetcode题解】算法练习

目录 分治-快排算法 颜色分类 移动零 排序数组 数组中的第K个最大元素 最小K个数 分治-归并排序 排序数组 交易逆序对的总数(困难) 计算右侧小于当前元素的个数(困难) 翻转对(困难) 字符串 最…...

大模型要被特定行业所用,从难到易有四种方式:重新训练或从头构建模型、微调模型、动态提示(如 RAG 技术)、简单提示工程

大模型在特定行业应用的四种方式详解 根据提供的信息,大模型要被特定行业所用,从难到易有四种方式:重新训练或从头构建模型、微调模型、动态提示(如 RAG 技术)、简单提示工程。以下是每种方式的详细解析及实际案例说明…...

[Python] 入门核心笔记

目录 一、Python简介重点 二、编程语言基础重点 三、Python安装重点 四、第一个Python程序重点 五、Python解释器重点 六、Python开发环境重点 一、Python简介重点 起源:1989年Gudio van Rossum开发,1991年诞生,名字源于电视剧《Monty Python…...

TensorFlow中使用Keras

目录 前言创建模型配置layers训练和评估配置模型训练评估和预测 前言 keras集成在tf.keras中。 创建模型 创建一个简单的模型,使用tf.keras.sequential。 model tf.keras.Sequential() # 创建一层有64个神经元的网络: model.add(layers.Dense(64, activationrelu)) # 添加…...

【Flask】Explore-Flask:早期 Flask 生态的实用指南

开源项目:explore-flask/README.rst at master rpicard/explore-flask (github.com) 一、Coding conventions Summary Try to follow the coding style conventions laid out in PEP 8. Try to document your app with docstrings as defined in PEP 257. def…...

Canvas入门教程!!【前端】

目录 canvas是什么?使用场景:canvas使用:引入:获取2D的上下文:坐标轴: 绘制:beginPath() :moveTo() :lineTo():stroke():fillRect() :strokeStyle 属性&#…...

通过规范化模型自训练增强医学图像分割中的无监督域自适应|文献速递-深度学习医疗AI最新文献

Title 题目 Enhancing source-free domain adaptation in Medical Image Segmentationvia regulated model self-training 通过规范化模型自训练增强医学图像分割中的无监督域自适应 01 文献速递介绍 深度卷积神经网络对训练数据分布(源域)和测试数…...

Linux常见指令介绍中(入门级)

1. man 在Linux中,man命令是用于查看命令手册页的工具,它可以帮助用户了解各种命令、函数、系统调用等的详细使用方法和相关信息。 用法:在终端中输入man加上要查询的命令或工具名称,例如man ls,就会显示ls命令的手册…...