Linux基础学习--linux的文件权限与目录配置
linux的文件权限与目录配置
1.用户与用户组
在Linux中,每个文件都有相当多的属性和权限,其中最重要的概念就是文件的拥有者。
1.1 文件拥有者
Linux是一个多人多任务的系统,常常有多人共用一台主机的情况出现,因此在系统中可以设置多个用户及用户组,以此来保护每个人的隐私。
对于一个文件的拥有者,他如果设置只有自己才能看和修改这个文件,其他人就无法查看和修改它。
1.2 用户组
用户组一般在团队协作时被使用。在一个用户组中,我们既可以允许组内成员查看和修改自己的文件,以便于完成团队任务,也可以私有自己的文件,保护自己的隐私,并且可以设置组外的成员对组内的文件没有任何权限。而对于一个用户来说,它可以加入多个用户组。
1.3 其他人
一个用户(User),所属群组(Group),以及不属于用户组的其他人(Others)。
一个用户的文件,同属于这个用户的用户组,组外的其他人对于这个文件都是陌生人。
在其中有个例外,就是root用户,root用户在Linux系统中拥有至高无上的权利,他可以任意查看修改任何文件,拥有相当万能和危险的力量。
Linux用户身份和用户组记录文件
Linux系统中,默认情况下,以下三个文件是Linux系统中账号,密码,用户组信息的集中地:
/etc/passwd
文件中,所有系统上的账号和一般身份用户,以及root用户的相关信息,
/etc/shadow
文件中:记录个人的密码。
/etc/group
文件中:记录Linux中所有的组名。
2.linux文件权限概念
初学Linux时常常遇到的Permission deny问题,就是权限不足的意思。
2.1 Linux文件属性
在Linux中,使用命令ls可以查看当前目录下的所有文件。使用su -
来切换到root用户,再使用ls -al
就会得到以下形式:
-rw-r--r--. 2 root root 1024 May 4 18:00 test.txt
【 权限 】【链接数】【拥有者】【用户组】【文件容量】【 修改日期 】【文件名】
-
在学习时,建议使用root用户,可以用
su -
来切换到root用户,exit来退回到原用户。 -
第一栏:代表这个文件的类型和权限 ‘’ -rw-r–r-- " 一共有十个字符
- 第一个字符 代表文件是目录,文件,还是链接文件
- 为【d】时是目录
- 为【-】时是文件
- 为【|】时是链接文件
- 为【b】时是设备文件内可供存储的周边设备
- 为【c】时是设备文件内的串行端口设备,如键盘鼠标
- 接下来的字符中,三个为一组,均为【rwx】的组合,r表示可读(read),w表示可写(write),x表示可执行(execute),无对应权限时,就用
-
代替。- 第一组表示文件拥有者可具备权限。
- 第二组表示加入此用户组的账号的权限。
- 第三组表示非本人且没有加入本用户组的其他账号的权限。
- 第一个字符 代表文件是目录,文件,还是链接文件
-
第二栏:表示有多少文件名链接到此节点
- 每个文件都会把它的权限和属性记录到文件系统的incode中
-
第三栏:表示这个文件或目录的拥有者账号。
-
第四栏:表示这个文件的所属用户组。
-
第五栏:表示这个文件的大小,默认大小为Bytes。
-
第六栏:表示文件的创建日期或者最近的修改日期。
-
第七栏:表示这个文件的文件名。如果文件名前面有【.】,表示这个文件是隐藏文件。
2.2 修改文件属性与权限
chgrp:修改文件所属用户组
chgrp即是change group
的缩写,它的一般用法为:
chgrp [-R] 新用户组名 目录名/文件名
- -R:即进行递归(recursive)修改,连同子目录下的所有文件,目录都更新为这个用户组。
其中新用户组名必须存在于/etc/group
文件中。
chown:修改文件拥有者
chown即是change owner
的缩写,它的一般用法为:
chown [-R] 新用户名[:用户组] 目录名/文件名
- 即可以只写新用户名修改文件拥有者,也可以写
新用户名:用户组名
来修改文件拥有者和用户组。
用户名必须存在于/etc/passwd
文件中
chmod:修改文件权限
chmod来修改文件的权限,有两种设置方法,分别是数字和符号:
- 数字类型修改文件权限
Linux文件的基本权限有9个,分为三组:拥有者(owner),所属群组(group),其他人(others)。每组各有自己的读(read),写(write),执行(execute)权限。整体权限字符为【-rwxrwxrwx】。
每种权限都可以用数字代替:
r:4
w:2
x:1
那么每种权限组合就可以用数字和表示出来:
rwx = 7
-wx = 3
...
r-- = 4
...
--- = 0
整体权限字符就可以直接用数字表示:
-rwxrw-r-- 表示为 764
就可以用chomd进行设置
chomd [-R] xyz 文件名或目录
- 符号类型修改文件权限
在符号类型修改中:
对象 | 操作符 | 权限类型 | 说明 | |
---|---|---|---|---|
u | 指拥有者(user) | |||
g | + | r | 为用户组添加读权限 | |
chmod | o | - | w | 为其他人移除写权限 |
a | = | x | 设置全部用户仅有执行权限 |
具体命令为
chomd u=rwx,g+rw,o-r 文件名
2.3.目录和文件的权限意义
在linux系统中,文件权限对于数据安全非常重要,而权限对于目录和文件是不同的。
- 权限对文件的重要性
文件就是实际含有数据的地方,包括一般文本文件,数据库文件,二进制可执行文件等。
权限对于文件:- r(read):可以读取此文件的实际内容,如读取文本文件的文字内容等。
- w(write):可以编辑,新增或修改该文件的内容(不包含删除该文件)。
- x(execute):该文件有可以被系统执行的权限。
- 在Linux中,一个文件是否可以被执行,仅由x权限决定,与文件名没有决定关系。
- 权限对目录的重要性
目录主要的内容在记录文件名列表,文件名和目录有强烈的关联。对于目录来说权限的意义有些不同: - r (read contects in dirctory)
表示具有读取目录结构列表的权限,具有该权限时,可以查询该目录下的文件名数据。 - w (modify contects of directory)
表示具有改动该目录结构列表的权限,也就是- 建立新的文件和目录。
- 删除已经存在的文件或目录(无视该文件或目录的权限)。
- 将已存在的文件或目录改名。
- 移动该目录内的文件或目录的位置。
- x (access directory)
表示具有用户进入该目录成为工作目录的权限,
总结一下:
组件 | 内容 | r | w | x |
---|---|---|---|---|
文件 | 详细数据data | 读取文件内容 | 修改文件内容 | 执行文件内容 |
目录 | 文件名 | 读取文件名 | 修改文件名 | 进入该目录的权限 |
2.4.linux文件种类与拓展名
文件种类
- 常规文件(regular file):第一个属性为 - ,就是一般进行读写的文件。根据文件内容还可以继续分类:
- 纯文本文件(ASC||):内容为人类可以直接读到的数据,如数字,字母等。
- 二进制文件(binary):Linux中的可执行文件,系统仅可认识并执行此类文件。
- 数据文件(data) :在程序运行过程中会读取的特定格式的文件。
- 目录(directory):第一个属性为d。
- 链接文件(link):第一个属性为l,类似于快捷方式。
- 设备与设备文件(device):与系统周边及存储等相关的一些文件,通常都集中在/dev目录下,通常又分为两种:
- 区块(block):第一个属性为b。就是一些存储数据,以提供系统随机存取的接口设备,举例来说硬盘和软盘就是。
- 字符(character):第一个属性为c,亦是一些串行端口的接口设备,如键盘,鼠标等。
- 数据输送软件(FIFO):第一个属性为p。主要目的为解决多个程序同时读写一个文件所造成的错误问题。
Linux文件拓展名
一个文件能不能被执行,与它的第一栏的十个属性有关,与文件拓展名根本一点关系都没有。
一个文件能否执行成功,只和两个要素有关:
- 文件是否是Linux可执行的类型
- 文件是否有被执行的权限
但在Linux中,为了借由拓展名来了解该文件是什么东西,通常还是会以适当拓展名来表示文件是什么种类。
以下是常用拓展名: - *.sh:脚本或批处理文件(scripts),因为批处理文件使用shell写成,所以拓展名就编成 .sh。
- Z,.tar,.tar.gz,.zip,*.tgz:经过打包的压缩文件,不同的压缩文件gunzip,tar等,产生了不同的后缀名。
- .html,.php:网页相关文件,分别代表HTML文件语法和PHP语法的网页文件。.html的文件可以使用网页浏览器直接开启。.php文件可以通过客户端的浏览器来服务端浏览,以得到运算后的网页结果。
3.linux目录配置
3.1Linux目录配置的依据——FHS
FHS的主要目的是希望用户可以了解到以安装软件通常放置与哪个目录下,所以制定了一个Linux目录配置的标准。
FHS依据文件系统使用的频繁与否与是否允许用户随意修改,而将目录定义成为四种可交互作用的形态:
可分享 | 不可分享 | |
---|---|---|
不变 | /usr (软件存放处) | /etc (配置文件) |
/opt (第三方软件) | /boot (启动与内核文件) | |
可变动 | /var/mail (用户邮箱) | /var/run (程序相关) |
/var/spool/news (新闻组) | /var/lock (程序相关) |
这四种类型为:
- 可分享:可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据,是能够分享给网络上其他主机挂载用到目录。
- 不可分享:自己机器上面运行的设备文件或是与程序相关的socket文件等,仅与自身机器有关,不适合分享给其他主机。
- 不变:有些数据是不会经常变动的,跟随着发行版而不变动。
- 可变动:经常修改的数据,例如日志文件,一般用户可自行接受的新闻组等。
事实上,FHS针对目录树架构仅定义出三层目录下该放什么: - /(root,根目录):与启动系统有关。
- /user:与软件安装/执行有关。
- /var:与系统运行过程有关。
根目录(/)的意义与内容
根目录是整个系统中最重要的一个目录,所有的目录都由根目录衍生,同时根目录也与启动,还原,系统修复有关。
因为根目录十分重要,以此根目录(/)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区。
在FHS定义下,根目录下应该有下面这些目录:
第一部分:FHS要求必须安装的目录。
- /bin:放置在单人维护模式下还能被使用的命令,可以被root与一般账号所使用,主要有:cat,chmod,chown,date,mv等
- /boot:主要放置启动会使用到的文件,包括Linux内核文件以及启动选项与启动所需配置文件等。Linux内核常用文件名为:vmlinuz。
- /dev:在Linux系统中,任何设备与接口设备都是以文件的形式存在于这个目录中。只要通过读写这个目录下的某个文件,就等于读写某个设备。
- /etc:系统主要的配置文件几乎都放置在这个目录内,例如人员的账号密码文件,各种服务的启动文件等。一般来说,这个目录下的各文件属性是可以让一般用户查看的,但是只有root用户有权力修改。FHS建议不要放置可执行文件在这个目录中。还规范了几个重要的目录最好要在/etc/目录下:
- /etc/opt(必要):这个目录在放置第三方辅助软件/opt的相关配置文件。
- /etc/X11/(建议):与X Window有关的各种配置文件都在这里,尤其是xorg.conf这个X Server的配置文件。
- /etc/sgml/(建议):与SGML格式有关的各项配置文件。
- /etc/xml/(建议):与XML格式有关的各项配置文件。
- /lib:其中放置的是在启动时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库而已。FHS要求以下目录必须存在
- /lib/modules/:这个目录主要放置可抽换式的内核相关模板(驱动程序)。
- /media:目录下放置的是可删除的设备,包括软盘,光盘,DVD等设备都暂时挂载于此。
- /mnt:放置一些想要暂时挂载的额外的设备。
- /opt:这个是给第三方辅助软件放置的目录。
- /run:放置系统启动后所产生的各项信息。
- /sbin:放置的是在系统启动过程中所需要的,包括启动,修复,还原系统所需要的命令。至于某些服务器软件程序,一般放置在/usr/sbin/中。本机自行安装的软件产生的系统执行文件,放置到/usr/local/sbin中。常见命令包括:放fdisk,fsck,ifconfig,mkfs等。
- /srv:是一些网络服务启动之后,这些服务所需要使用的数据目录。
- /tmp:这是让一般用户或是正在执行的程序暂时放置文件的地方。这个目录是任何人都可以存取的需要定时清理。FHS建议在启动时要将/tmp下的数据全部删除。
第二部分:FHS建议可以存在的目录 - home:系统默认的家目录,默认的用户家目录都会规范到这里。
* ~:代表目前这个用户的家目录。
* dmatsai:代表dmatsai的家目录。 - /lib:用来存放与/lib不同的格式的二进制函数库,例如支持64位的/lib64函数库等。
- /root:系统管理员(root)的家目录。
有些FHS标准外的目录需要注意: - lost+found:这个目录是使用ext2,ext3,ext4文件系统格式才会产生的目录,目的时当文件系统发生错误时,将一些遗失的片段放置到这个目录下,不过如果使用的是xfs系统就不会存在此目录。
- proc:这个目录本身是一个虚拟文件系统,它放置的数据都是在内存中,例如系统内核,进程信息,外接设备的状态及网络状态,所有数据都在内存中,所以本身不占任何空间。
- sys:与/proc非常类似,也是虚拟的文件系统,主要记录内核和系统硬件信息相关的内容。同样不占硬盘容量。
- usr:下文中详细讲解。
- var:下文中详细讲解。
/usr的意义与u内容
依据FHS的基本定义,/usr里面放置的数据属于不可分享与不可变动。
/usr并非user的缩写,usr为UNIX Software Resource 的缩写,也就是UNIX操作系统软件资源所存放的目录,并不是用户的数据。所有系统默认的的软件都会放置到/usr下面。一般来说/usr的子目录建议有下面这些:
第一部分:FHS要求必须存在的部分
- /usr/bin/:所有一般用户能够使用的命令都放在这里。FHS要求在此目录下不应该有子目录。
- /usr/lib/:基本上,与/lib功能相同。
- /usr/local/:系统管理员在本机安装自己下载的软件时,建议安装到此目录。
- /usr/sbin/:非系统正常运行所需要的系统命令。
- /usr/share/:主要放置只读的数据文件,也包括共享文件,在这个目录下放置的数据几乎是不分硬件架构均可以读取的数据,几乎都是文本文件。还有些常见的子目录:
- /usr/share/man:在线帮助文件。
- /usr/share/doc:软件的说明文档。
- /usr/share/zoneinfo:与时区有关的时区文件。
第二部分:FHS建议可以存在的目录
- /usr/games/:与游戏比较相关的数据存放处。
- /usr/include/:c/c++等程序语言的头文件与包含文件放置处。
- /usr/libexec/:某些不被一般用户常用的执行文件或脚本。
- /usr/lib:与/lib作用相同。
- /usr/src/:一般建议把源代码放置到这里。内核源代码放置到/usr/src/Linux/目录下。
/var的意义与内容
/var是在系统运行后会逐渐占用硬盘容量的目录。/var目录主要针对于经常性变动的文件,包括缓存(cache),日志文件(log file),以及某些软件运行所产生的文件。常见子目录有:
第一部分:FHS要求必须要存在的目录
- /var/cache/:应用程序本身运行过程中会产生的一些缓存。
- /var/lib/:程序本身执行过程中,需要使用到的数据文件所放置的目录。在此目录下的各自的软件应该要有各自的目录。
- /var/lock/:某些设备或者文件资源一次只能被一个应用程序所使用,如果同时有两个程序使用该设备时,就可能产生一些错误的情况,因此就得要将该设备上锁,以确保该设备只会给单一软件所使用。
- /var/log/:相当重要。这是日志文件放置的目录。
- /var/mail/:放置个人电子邮箱的目录。
- /var/run/:某些程序或者服务启动后,会将它们的PID放置到该目录下。
- /var/spool/:这个目录通常放置一些队列数据,所谓的队列就是需要排队等待其他进程使用的数据,这些数据使用后都会被删除。
3.2 目录树
在Linux下,所有的文件和目录都是有根目录开始,它是所有目录和源文件的源头,再一个个分支出其他节点,称这种目录配置方式为:目录树。
- 目录树的启动点为根目录(/,root)
- 每一个目录不止能使用本地分区的文件系统,也可以使用网络上的文件系统。
- 每一个文件在此目录树中的文件名都是独一无二的。
3.3 绝对路径与相对路径
根据文件名写法的不同,也可以将所谓的路径定义为绝对路径与相对路径。
-
绝对路径:由根目录(/)开始写起的文件名或目录名称,如
/home/dmtsai/.bashrc
; -
相对路径:相对于目前路径的文件名写法。
-
.:代表当前的目录,也可以用. /表示;
-
…:代表上一层目录,也可以用…/来表示;
相关文章:
Linux基础学习--linux的文件权限与目录配置
linux的文件权限与目录配置 1.用户与用户组 在Linux中,每个文件都有相当多的属性和权限,其中最重要的概念就是文件的拥有者。 1.1 文件拥有者 Linux是一个多人多任务的系统,常常有多人共用一台主机的情况出现,因此在系统中可以…...
LLM大模型中的基础数学工具—— 约束优化
Q26: 推导拉格朗日乘子法 的 KKT 条件 拉格朗日乘子法与 KKT 条件是啥? 拉格朗日乘子法是解决约束优化问题的利器。比如,想最小化函数 ,同时满足约束 ,就构造拉格朗日函数 ( 是乘子)。KKT 条件是解这类问…...
涨薪技术|0到1学会性能测试第20课-关联技术
前面的推文我们掌握了性能测试脚本开发参数化技术一系列知识,今天开始给大家分享关联技术知识,后续文章都会系统分享干货,带大家从0到1学会性能测试! 关联是LoadRunner中一个很重要的应用,对于初学者来说也是最容易犯错的地方,但是很遗憾的是,并没有任何特定的错误与关联…...
SpringAI入门示例
AI编程简介 纯Prompt模式 纯Prompt模式是AI编程中最基础的交互架构。用户通过输入自然语言文本(即Prompt)向AI模型发出指令,模型依据自身预训练所积累的知识和语言理解能力,直接生成相应的文本响应。其工作原理是,用…...
SQL 中 ROLLUP 的使用方法
ROLLUP 是 SQL 中一种分组操作,它生成多个分组集的小计行和总计行,提供层次化的汇总数据。 基本语法 SELECT column1, column2, ..., aggregate_function(column) FROM table GROUP BY ROLLUP (column1, column2, ...); 使用示例 假设有一个销售表 sal…...
Web前端:Overflow属性(超出裁剪属性)
一、什么是 Overflow? 在网页布局中,容器(如 <div>、<section> 等)通常有固定尺寸(如 width 和 height)。当容器内的内容(文本、图片等)超出容器边界时,就会…...
20250421在荣品的PRO-RK3566开发板的Android13下使用io命令控制GPIO
20250421在荣品的PRO-RK3566开发板的Android13下使用io命令控制GPIO 2025/4/21 10:44 【本文只打开了io命令。通过io控制GPIO放到下一篇了】 缘起:需要在荣品的PRO-RK3566开发板的Android13的u-boot中来控制GPIO3A1【配置以太网RTL8211F-CG】。 直接使用GPIO库函数 …...
20250421在荣品的PRO-RK3566开发板的Android13下频繁重启RKNPU fde40000.npu: Adding to iommu gr
20250421在荣品的PRO-RK3566开发板的Android13下频繁重启RKNPU fde40000.npu: Adding to iommu gr 2025/4/21 14:50 缘起:电池没电了,导致荣品的PRO-RK3566的核心板频繁重启。 内核时间4s就重启。100%复现。 PRO-RK3566 Android13启动到这里 复位&#…...
在 8MHz 的时钟电路中挂接电阻,电容
匹配电阻:在晶体振荡电路中,用于匹配晶体和振荡电路的阻抗,确保振荡的稳定性,阻值通常在几十千欧到几百千欧,例如 1MΩ、33KΩ、47KΩ 等。 在一些电子电路中,尤其是涉及到时钟信号的产生和传输时…...
卸载工具:IObit Uninstaller Pro v14.3.0 中文绿色专业便携版
IObit Uninstaller 是一种功能强大的卸载工具,可帮助您快速方便地从计算机中移除不需要的程序和文件夹。它不仅仅可以从计算机中卸载应用程序,还可以移除它们的卸载残留。可以检测和分类所有已安装的程序,并可以批量卸载,只需一键…...
【目标检测】目标检测综述 目标检测技巧
I. 目标检测中标注的关键作用 A. 目标检测数据标注的定义 目标检测是计算机视觉领域的一项基础且核心的任务,其目标是在图像或视频中准确识别并定位出预定义类别的目标实例 1。数据标注,在目标检测的语境下,指的是为原始视觉数据࿰…...
c++基础·move作用,原理
目录 一、代码结构概览 二、逐层解析实现逻辑 1. 模板参数推导 2. 返回类型设计 3. 类型转换逻辑 三、关键特性与设计思想 1. 移动语义的本质 2. 为何必须用 remove_reference 3. 万能引用的兼容性 四、边界场景与注意事项 1. 对 const 对象的处理 2. 返回值优化&a…...
考研系列-计算机网络-第四章、网络层
一、网络层的概述和功能 1.功能概述 2.SDN的基本概念...
服务器在国外国内用户访问慢会影响谷歌排名吗?
谷歌明确将“页面加载速度”和“用户体验”作为排名核心指标,但当服务器物理距离过远时,国内用户动辄3秒以上的加载延迟,可能导致跳出率飙升、爬虫抓取困难等连锁反应。 但盲目将服务器迁回国内,又会面临备案成本、运维门槛等新难…...
iFable,AI角色扮演互动平台,自动生成沉浸式故事游戏
iFable是什么 iFable 是一个以动漫角色为主题的互动角色扮演游戏平台,旨在为用户提供沉浸式的故事冒险体验。平台允许玩家通过简单的创意输入,利用AI技术生成独特的互动故事与游戏体验。iFable 的设计宗旨在于帮助玩家与虚拟角色建立情感连接࿰…...
Nginx反向代理用自定义Header参数
【啰嗦两句】 也不知道为啥,我仅仅想在Nginx的反向代理中使用自己定义的“x-api-key”做Header参数,却发现会被忽略,网上搜的资料都是说用“proxy_set_header”,却只愿意介绍最基本的几个参数,你懂的,那些资…...
Spark SQL概述(专业解释+生活化比喻)
专业解释 一、什么是Spark SQL? 一句话定义: Spark SQL是Apache Spark中专门处理结构化数据的模块,可以让你像操作数据库表一样处理数据,支持用SQL查询或编程API(DataFrame/DataSet)分析数据。 通俗理解…...
LX3-初识是单片机
初识单片机 一 什么是单片机 单片机:单片微型计算机单片机的组成:CPU,RAM(内存),flash(硬盘),总线,时钟,外设…… 二 Coretex-M系列介绍 了解ARM公司与ST公司ARM内核系列: A 高性能应用,如手机,电脑…R 实时性强,如汽车电子,军工…M 超低功耗,如消费电子,家电,医疗器械 三…...
第二章 Logback的架构(一)
Logback的架构 Logback作为一个通用框架,可以应对不同场景的日志记录。目前,Logback 被划分为三个模块:logback-core、logback-classic 和 logback-access。 Logback的core模块为其他两个模块提供基础支持。classic模块扩展了core模块&…...
开发指南:构建结合数字孪生、大语言模型与知识图谱的智能设备日志分析及生产异常预警系统
1. 引言:数字孪生、大语言模型与知识图谱在智能制造中的融合 智能制造和工业4.0的浪潮正在重塑全球制造业格局,其核心在于利用先进的数字技术实现生产过程的实时决策、效率提升、灵活性增强和敏捷性改进。在这一转型过程中,数字孪生…...
【TeamFlow】4.1 Git使用指南
以下是 Git 在 Windows 系统上的配置和使用指南,包含详细步骤和注意事项: 安装 Git for Windows 下载与安装 前往 Git 官网 下载 Windows 版安装包 双击安装,关键选项建议: 选择 Use Git from Git Bash only(推荐&…...
HADOOP 3.4.1安装和搭建(尚硅谷版~)
目录 1.配置模版虚拟机 2.克隆虚拟机 3.在hadoop102安装JDK 4.完全分布式运行模式 1.配置模版虚拟机 1.安装模板虚拟机,IP地址192.168.10.100、主机名称hadoop100、内存2G、硬盘20G(有需求的可以配置4G内存,50G硬盘) 2.hado…...
通过Docker Desktop配置OpenGauss数据库的方法(详细版+图文结合)
文章目录 通过Docker Desktop配置OpenGauss数据库的方法**一、下载Docker Desktop,并完成安装**docker官网:https://www.docker.com/ **二、下载OpenGauss压缩包**安装包下载链接:https://opengauss.obs.cn-south-1.myhuaweicloud.com/7.0.0-…...
文件有几十个T,需要做rag,用ragFlow能否快速落地呢?
一、RAGFlow的优势 1、RAGFlow处理大规模数据性能: (1)、RAGFlow支持分布式索引构建,采用分片技术,能够处理TB级数据。 (2)、它结合向量搜索和关键词搜索,提高检索效率。 …...
SystemVerilog语法之内建数据类型
简介:SystemVerilog引进了一些新的数据类型,具有以下的优点:(1)双状态数据类型,更好的性能,更低的内存消耗;(2)队列、动态和关联数组,减少内存消耗…...
TensorFlow和PyTorch学习原理解析
这里写目录标题 TensorFlow和PyTorch学习&原理解析TensorFlow介绍原理部署适用场景 PyTorch介绍原理部署适用场景 Keras模型格式SavedModelONNX格式 TensorFlow和PyTorch学习&原理解析 TensorFlow 介绍 由 Google Brain 团队开发并于 2015 年开源。由于 Google 的强…...
悬空引用和之道、之禅-《分析模式》漫谈57
DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 “Analysis Patterns”的第5章“对象引用”原文: Unless you can catch all such references, there is the risk of a dangling reference, which often has painful con…...
江湖密码术:Rust中的 bcrypt 加密秘籍
前言 江湖险恶,黑客如雨,昔日密码“123456”早被各路大侠怒斥为“纸糊轻功”。若还执迷不悟,用明文密码闯荡江湖,无异于身披藏宝图在集市上狂奔,目标大到闪瞎黑客双眼。 为护你安然度过每一场数据风波,特献上一门绝学《Rust加密神功》。核心招式正是传说中的 bcrypt 密…...
NLP高频面试题(四十八)大语言模型中的思维链(CoT)技术详解
引言 大语言模型(LLM)在近年的飞速发展,让机器在各种任务上表现出令人瞩目的能力。然而,与人类不同,传统的语言模型往往倾向于直接给出答案,而缺乏可解释的中间推理过程。这在复杂推理任务中成为瓶颈:模型可能由于一步推理不当而得出错误结论,却没有过程可供检查。为了…...
对接点餐接口需要有哪些准备?
以下是一般点餐接口对接的相关信息,包括常见的接口功能、对接步骤及注意事项等: 常见接口功能 餐厅信息查询:获取合作餐厅的基本信息,如餐厅名称、地址、营业时间、联系电话、菜单等。菜品查询:查询具体餐厅的菜品详情…...
LintCode第192题-通配符匹配
描述 给定一个字符串 s 和一个字符模式 p ,实现一个支持 ? 和 * 的通配符匹配。匹配规则如下: ? 可以匹配任何单个字符。* 可以匹配任意字符串(包括空字符串)。 两个串完全匹配才算匹配成功。 样例 样例1 输入: "aa&q…...
uv运行一个MCP Server的完整流程
uv是一个高性能的Python包管理器,专注于性能提升。与pip相比,uv利用全局模块缓存,减少磁盘空间使用,并支持Linux、Windows和macOS系统。安装uv可以通过多种方式实现,例如使用Homebrew、Pacman、pip等。 step 1 安装uv:…...
ts中的类型
在 TypeScript 中,类型是静态类型系统的核心,用于在编译阶段检查代码的正确性。TypeScript 提供了丰富的类型系统,包括基本的原始类型、复合类型、以及用户自定义的类型。以下是对 TypeScript 中各种类型的详细分类和说明: 1. 原…...
把dll模块注入到游戏进程的方法_基于文件修改的注入方式
1、概述 本文主要是介绍两种基于文件修改的注入方式,一种是“DLL劫持”,另一种是“修改导入表”。这两种注入方式都是利用操作系统加载PE时的特点来实现的,我们在实现这两种注入方式时只需专注于注入dll的实现,而不用花费额外的精力去关注注入器的实现。要想深入了解这两种…...
判断点是否在多边形内
代码段解析: const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); 第一部分:(yi > y) !== (yj > y) 作用:检查点 (x,y) 的垂直位置是否跨越多边形的当前边。 yi > y 和 yj > y 分别检查边的两个端…...
【形式化验证基础】活跃属性Liveness Property和安全性质(Safety Property)介绍
文章目录 一、Liveness Property1、概念介绍2、形式化定义二、Safety Property1. 定义回顾2. 核心概念解析3. 为什么强调“有限前缀”4. 示例说明4.1 示例1:交通信号灯系统4.2 示例2:银行账户管理系统5. 实际应用的意义三. 总结一、Liveness Property 1、概念介绍 在系统的…...
Linux——信号(2)信号保存与捕捉
一、信号的保存 上次我们说到,捕捉一个信号后有三种处理方式:默认、忽略、自定义,其中自定义我们用signal系统调用完成,至于忽略信号,也需要signal实现,比如我现在想忽略2号信号,则:…...
Vue的模板编译过程
👨 作者简介:大家好,我是Taro,全栈领域创作者 ✒️ 个人主页:唐璜Taro 🚀 支持我:点赞👍📝 评论 ⭐️收藏 文章目录 前言一、编程范式的分类1.编程范式分为声明式和命令…...
空间应用中心AI4S空间科学实验研究成果发表于《中国科学院院刊》
编者寄语: 和鲸基于旗下数据科学协同平台ModelWhale赋能,助力了中国科学院空间应用工程与技术中心系统开展了基于空间科学实验领域的AI4S创新研究。中国科学院空间应用工程与技术中心在空间科学实验领域的研究覆盖了多模态空间科学实验数据模式挖掘、领…...
【Python网络爬虫开发】从基础到实战的完整指南
目录 前言:技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块技术选型对比 二、实战演示环境配置要求核心代码实现(10个案例)案例1:基础静态页面抓取案例2:动…...
乐家桌面纯净版刷机ROM下载 乐家桌面纯净版2025官方最新下载
还在苦苦寻找一款好用的电视桌面,为智能电视焕新体验?别在乐家桌面纯净版刷机 ROM 下载和官方最新版下载上纠结啦,试试乐看家桌面,给你带来意想不到的惊喜! 乐家桌面纯净版或许曾吸引过你,但乐看家桌面在众…...
深度学习-全连接神经网络
四、参数初始化 神经网络的参数初始化是训练深度学习模型的关键步骤之一。初始化参数(通常是权重和偏置)会对模型的训练速度、收敛性以及最终的性能产生重要影响。下面是关于神经网络参数初始化的一些常见方法及其相关知识点。 官方文档参考࿱…...
n2n 搭建虚拟局域网,实现内网穿透
一、ubuntu linux系统上通过源码安装 1、下载源码 git clone https://github.com/ntop/n2n 2、 进入源码目录n2n,依次执行下列命令 ./autogen.sh # 如果提示命令不存在,需要运行命令:apt-get update && apt-get install autoconf…...
SystemVerilog语法之定宽数组
1.2定宽数组 1.2.1定宽数组的声明和初始化 Verilog要求在声明中必须给出数组的上下界。因为几乎所有数组都使用0作为索引下界,所以SystemVerilog允许只给出数组宽度的便捷声明方式。SystemVerilog的$clog2()函数可以计算以2为底的对数向上舍入值。你可以通过在变量…...
SQL 使用 UPDATE FROM 语法进行更新
UPDATE FROM 是一种常见的 SQL 语法模式,允许你基于其他表的数据来更新目标表。这种语法在不同数据库系统中有所不同,下面我将介绍几种主要数据库的实现方式。 PostgreSQL/SQL Server 语法 UPDATE target_table SET target_column source_table.source…...
如何在LangChain中构建并使用自定义向量数据库
1. 自定义向量数据库对接 向量数据库的发展非常迅速,几乎每隔几天就会出现新的向量数据库产品。LangChain 不可能集成所有的向量数据库,此外,一些封装好的数据库可能存在 bug 或者其他问题。这种情况下,我们需要考虑创建自定义向…...
极狐GitLab Git LFS 速率限制如何设置?
极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 Git LFS 速率限制 (BASIC SELF) Git LFS (Large File Storage) 是一个用于处理大文件的Git扩展。如果您在仓库中使用 Git LF…...
如何查询IP地址是否被占用?
IP地址占用查询的重要性 在当前高度发达的网络环境下,IP地址作为网络设备间通信的基础,其管理显得尤为重要。IP地址占用查询作为网络管理的一个重要环节,具有以下几点重要性: 预防IP冲突:当两个或多个设备使用相同的I…...
数字后端实现教程 | 时钟树综合IMPCCOPT-1304错误Debug思路和解决方案
今天上午有学员在做公司自己项目CTS时发现跑不下去,报了如下所示的错误IMPCCOPT-4375。 复杂时钟设计时钟树综合(clock tree synthesis)常见20个典型案例 第一次遇到这种错误,其实可以从提示信息上入手。 Term CLK_AVDD_SS is power /ground ÿ…...
AI 大模型在教育革命中的角色重塑:从知识传递者到认知伙伴
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:从“教”与“学”到“共知”时代的开启 教育的本质是什么?是教师传授知识,学生被动接受?还是引导思维、激发潜能、陪伴成长? 在过去数百年里,教育形式经历了从口述、印刷、广播到互…...