Linux指令与权限

news2024/11/25 8:18:59

本期我们来学习Linux的权限内容

目录

Linux权限

1.认识Linux下用户的分类

2.什么是权限

3.没有权限是什么现象

4.权限的修改问题

chmod

 chown

chgrp 

umask

粘滞位

file指令


我们在使用xshell登录后,会有下面的东西

 我们来介绍一下,以我的登录为例

前面的bai是用户名,@iZ2ze5efragbpzbk87kkvkZ是主机名,~是当前目录,最后的$是命令行提示符,这一行我们统称为bash命令行

我们输入指令的过程,本质就是输入字符串,我们暂时先不管字符串是如何转换为指令的

而指令的本质,就是编译好的程序和脚本,一定在特定的路径下存放

我们所有的指令,最终都要在OS(操作系统)内部运行,但是我们直接使用OS难度太高,比如我们现在的图形化界面这些都不能用了,那难度可太高了,所以我们是不会直接使用OS的

所以我们需要有一个图形化界面或者命令行解释器,上面的bash命令行就是命令行解释器 

所以我们和操作系统的关系就是

 举个例子,这三者的关系就像是一对相亲的人和媒婆,其中用户是我们,操作系统是我们的相亲对象,我们可能由于各种原因,比如不善于表达感情等等而没有直接去找相亲对象,就需要一个媒婆来帮助我们,这里的媒婆就是命令行解释器

命令行解释器( command Interpreter )主要包含:
将使用者的命令翻译给核心( kernel )处理。
同时,将核心的处理结果翻译给使用者。

 命令行解释器的存在意义是:

1.进行命令行解释

2.保护操作系统,对于用户的非法请求直接拦截

第一个意义我们上面解释了,第二个意义我们继续用例子来解释,假设我们上面的相亲对象叫小红,我们的用户叫做小明,可是小红并不喜欢小明,小红喜欢隔壁家的高富帅小帅,当媒婆去访问小红家里时,正好看到了小帅和小红一家人在一起其乐融融的吃饭,这时媒婆就会回去告诉小明,你还是死心吧,你和小红是不可能的。如果这里媒婆在小帅和小红一家人一起吃饭时再进行说媒,就有点破坏别人家庭了,所以媒婆这里就相当变相的保护了小红的家庭

比如我们这里cd了一个不存在的路径,这里就是有bash进行拦截

 我们经常可以听到什么命令行解释器,命令行,bash,sh,shell,那这些是什么呢?我们来简单介绍一下

命令行解释器是一个统称,其实在Linux下就叫做命令行,或者bash,sh,shell

在Windows下就叫做图形化界面

我们上面的例子中,我们把为我们说媒的媒婆叫做王婆,那么bash就是王婆,而shell是媒婆,sh就是李婆,也就是shell是所有命令行的统称,bash和sh是不同种类的解释器

Linux里有各种Linux应用,命令行解释器,Linux内核等等,我们宏观上把这些整体叫做Linux,而当我们后面学习时,我们将Linux内核叫做Linux(只是叫法的区别)

Linux 严格意义上说的是一个操作系统,我们称之为 核心( kernel ,但我们一般用户,不能直接使用 kernel 。 而是通过kernel 外壳 程序,也就是所谓的 shell ,来与 kernel 沟通

 对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。

shell 对于 Linux ,有相同的作用,主要是对我们的指令进行解析,解析指令给 Linux 内核。反馈结果在通过内核运行出结果,通过shell 解析给用户。

Linux权限

1.认识Linux下用户的分类

我们在Linux下可以将用户分为两类,一类是root用户,即超级用户,在Windows下也是有的

这个管理员就是超级用户

第二类就是我们的普通用户,我们可以在root账号下通过adduser来添加普通用户

那他们的差别是什么呢?

root基本不受权限的约束,而普通用户会受到权限的约束

Linux的root是比Windows的root权限要大很多的,基本就是真的管理员

下面我们来看这两个用户间是如何切换的

我们先来看普通用户如何切换为root用户

我们直接su即可,然后输入root账号的密码即可切换为root账号(这里建议root密码和自己账号的密码设置为不同的)

 

另外,这里的切换只是身份的变化,而我们所处的位置是不变的,比如我们之前就处于家目录下,切换为root后仍然在家目录下

如果我们想要退回到普通用户的话

我们只需exit或者ctrl+D即可 

 如果我们su - 的话,就是重新登录,路径就变为了/root,退回普通用户仍然是exit或者ctrl+D

那如果我们是root,如果切换为普通呢?

 我们直接su + 用户名即可,而且是不需要输入密码的(所以说root权限非常大),退回与之前相同

如果我们是普通用户,比如上面有两个,一个是admin,另一个是bai,假设我们是bai,要切换为admin,我们一样可以su + 用户名,不过这里切换是需要有admin的密码的

如果我们是普通用户,想暂时对一条命令提权,比如yum安装时是需要root权限的,普通用户是不可以的,我们就可以

sudo+指令,我们就可以让该指令以root的权限跑了,这里的密码是自己当前的用户,我这里失败的原因是我这个账号现在不在root的白名单里,如果在白名单的话,这里就会显示出root 

如何添加到白名单,我们在vim的时候来讲

Linux 下有两种用户:超级用户( root )、普通用户。
超级用户:可以再 linux 系统下做任何事情,不受限制
普通用户:在 linux 下做有限的事情。
超级用户的命令提示符是 “#” ,普通用户的命令提示符是 “$”
命令 su [ 用户名 ]
功能 :切换用户。
例如,要从 root 用户切换到普通用户 user ,则使用 su user 。 要从普通用户 user 切换到 root 用户则使用 su
root root 可以省略),此时系统会提示输入 root 用户的口令。

2.什么是权限

什么是权限?比如我们在视频网站上想看一部电影,发现要vip,当我们充值成为vip后,就可以看了,这就是一种权限,权限就是一件事情是否允许被你做

权限认证的是身份,比如学校的校长叫做张三,张三可以进校长办公室是因为他是校长,而不是因为他叫张三

权限也和事物的属性有关,比如我们平时访问各种磁盘,但是我们不可能把磁盘像面包一样咬一口,因为磁盘本身不具备那样的属性

 我们ls -l或者ll会显示出很长的一行,我们之前简单介绍过,下面我们重点来看最前面的

这里我们数一下,一共有10个符号,其中第一列的第一个字符叫做文件的类型,如第一行的d,第二行的 - 

文件的类型在Windows下是通过文件的后缀来确定的,比如.txt ,.doc等等,而Linux中文件名后缀是没有直接的意义(当然,不代表不用)

文件类型:

d :文件夹
- :普通文件
l :软链接(类似 Windows 的快捷方式)
b :块设备文件(例如硬盘、光驱等)
p :管道文件
c :字符设备文件(例如屏幕等串口设备)
s :套接口文件

 其中,普通文件就是文本,各种可执行程序,库等等

块设备文件是磁盘之类的

我们看到,这里就是以b开头的(这是虚拟机的磁盘,所以是vda1) 

字符设备就是键盘,显示器文件等等

 为什么叫字符设备呢?因为在输入输出时,是按字符一个一个喂给内容或者进程的

下面我们再看看管道文件

 这种管道文件是用来通信的,后面我们会详细讲解

此时我们再回过头来看看什么是Linux文件名的后缀没有直接意义

我们写一段代码,然后用gcc编译,会出现a.out的文件,我们就可以运行代码了

而当我们把a.out的名字随意修改后,代码仍然可以运行 

而当我们把test.c改为test.txt后再使用gcc编译,发现不能通过了 

这里是不是冲突了呢?

其实不是,我们说的是Linux中后缀没意义,而gcc是一款软件,Linux不管,不代表在Linux下运行的软件也不需要

所以我们在Linux中对后缀的态度是取决于用户的

3.没有权限是什么现象

我们再回过头来看,文件类型的后面是有很多字母的,我们看到基本都是rwx-

 r是可读,w是可以写,x是可执行,-是对应的权限位置没有权限

权限是和人有关的,这里的人是一种权限身份,Linux将角色划分为三种,第一种是文件的拥有者,第二种是所属组,第三种是其他人

举个例子,张三和李四是一个小组的,张三研发了一个软件,张三就是这个软件的拥有者,李四

和张三都是所属组,而又有一个外人王五,王五就是其他人

 我们看上面这张图,就可以解释一行的内容是什么了

我们举个例子,比如这张图里的drwxr-xr-x,就代表文件的拥有者可读可写可执行,而所属组的人可读,可执行,不能写,其他人也一样,不能写

读,写,执行,这三个权限的位置是确定的,每一个位置只有是或者否,具有指定的权限

如果是---,那就是不能读,不能写,不能执行,rwx就是可读可写可执行

另外,root是不受权限约束的,想干啥就干啥

我们接着往下看

 我们使用chmod,然后减去所有的权限,u是用户,g是所属组,o是其他人,使用加减号即可

当权限变为---时,我们即使是拥有者,也无法查看 ,无法写入,这就叫我疯起来连我自己也打

不过root仍然不受影响(这里就不演示了,大家只要明白root对于这些玩意就是降维打击即可)

我们使用chmod给拥有者加上读权限,就可以读了 

4.权限的修改问题

修改权限的一般有两种人,一种是文件的拥有者,另一种就是root

简单的加减权限我们已经介绍了,使用加减号即可,下面我们看一些不一样的

 我们想要给所有人减去权限,就可以a-权限,加权限同理,a+权限即可

a是所有人的意思 ,这就是对权限的修改,这是第一种对权限的修改,下面我们再看第二种

我们上面说rwx以及三种角色的位置是固定的,而且只有是和否,对应的rwx或者-,是两种状态

所以我们可以把这个序列看作二进制序列,比如111,表示可读可写可执行,010表示不可读,可写,不可执行,我们使用8进制即可表示拥有者的权限,推而广之,111 110 110就可以写成766

直接chmod 000 即可把所有权限都去掉 

100的8进制是4,所以我们444可以给所有人加上读权限,其他权限去掉 

777是所有人所有权限都添加,这就是第二种的权限修改方式 

这两种方案,大家自行选择

文件的拥有者,以及所属组也是可以修改的,下面我们来详细看看

我们可以使用chown,但是此时我们发现,这个操作是不允许的,我们把一个东西给别人,或者把一个东西从别人那里拿过来,都是需要征得别人的允许的

我们把东西给别人,除了征得同意,还可以强制给

有root的权限即可,下面我们换成root账号来试一试

此时,test.txt这个文件的拥有者就变成了张三

拥有者是张三,而我就是此时的所属组 

而当我们此时再修改文件的权限时,发现不让修改了,因为我们并不是拥有者 

那我们想把组也给张三呢?

我们只需chgrp即可,此时bai就变成了相对这个文件的其他人

如果我们想要同时修改拥有者和所属组呢?

我们只需chown 用户:所属组 文件 即可 

另外,所属组是可以添加很多用户的,毕竟一个小组里一般是会有很多人的

下面总结一下这几条指令

chmod

功能: 设置文件的访问权限
格式: chmod [ 参数 ] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和 root 才可以改变文件的权限
chmod
① 用户表示符 +/-= 权限字符
+: 向权限范围增加权限代号所表示的权限
-: 向权限范围取消权限代号所表示的权限
=: 向权限范围赋予权限代号所表示的权限
用户符号:  
u :拥有者
g :拥有者同组用
o :其它用户
a :所有用户
②三位 8 进制数字
实例:
chmod 664 /home/abc.txt
chmod 640 /home/abc.txt

 chown

功能 :修改文件的拥有者
格式 chown [ 参数 ] 用户名 文件名

chgrp 

功能 :修改文件或目录的所属组
格式 chgrp [ 参数 ] 用户组名 文件名
常用选项 -R 递归修改文件或目录的所属组

下面我们再来看一些奇怪的例子

我们是这个文件的拥有者和所属组,但是拥有者权限是没有写权限的,所属组有,于是我们试一试看能不能写入,结果是不可以

 我们将角色分为拥有者,所属组和其他人,在一个角色权限认证时,只能认证一个,所以这里是认证了拥有者,而其他两个是不会再看的,所以,如果我们把文件的拥有者改为张三,那就可以写入了,三个权限,优先认证拥有者,其次是所属组,最后是其他人

我们接着往下看

umask

 我们创建两个普通文件,我们发现权限都是rw-rw-r--,对应的8进制是664

我们再创建两个目录,权限都是rwxrwxrwx,对应的8进制是775

为什么是这样呢?

在Linux中,默认给普通文件的其实权限的666,默认给目录文件的是777

但这和我们上面的不一样,下面我们来进行讲解

在Linux中,存在一个umask,我们叫做权限掩码

 第一个0我们不管,我们看后三位,这就是一个8进制

权限掩码:凡是是umask中出现的权限,不会在最终文件权限中出现

umask就相当于漏斗,先获得默认权限,再根据某种计算,去掉权限

我们先看普通文件,默认权限是666,写成2进制是110 110 110,而umask是002,写成2进制是000 000 010

然后通过某种计算,就变成了110 110 100,也就是664

再看777的,写成2进制是111 111 111,所以就变成了111 111 101,也就是775

我们直观的看,这个某种运算好像是减法,但其实不是

我们验证一下,我们把umask改成001,如果是减法的话,666会变成665

 此时的权限是666,说明并不是减法

其实是先对umask按位取反,然后按位与起始权限,最终权限 = 起始权限 & (~umask),大家简单试试就行了,这里我就不演示了

有了umask,我们就可以完成很多事,比如我们想要让我们创建文件都没有读,没有写

我们就可以umask 0555,这样我们创建的文件或者目录都不会具有读写权限

umask
功能
查看或修改文件掩码
新建文件夹默认权限 =0666
新建目录默认权限 =0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是 mask ,则实际创建的出来的文件权限是 : mask & ~umask
格式 umask 权限值
说明 :将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为 0022 ,普通用户默认为0002

我们接着看

我们创建目录后,发现目录相比普通文件有有很多的权限,但是普通文件的读写可执行我们都明白,但是目录的读写可执行是什么呢?

 

我们可以进入dir这个目录里

我们减去所有的读权限,还是可以进入,但是此时我们再ls -al,就不能查看了 

 

我们再touch一个文件,然后ls,发现他不让我们看 

所以,读权限并不是影响是否进入这个目录,而是影响查看文件下面,文件列表的操作

我们再把写权限去掉,然后我们进入dir,此时我们创建文件都是不允许的

我们清空一下

我们用root在这个目录下创建一个文件 ,并修改拥有者和所属组为我自己

切换回账号,我们对这个文件进行mv或者删除也是不允许的 

我们再看可执行

 我们把目录的权限改成666,发现我们现在都不能进目录了,但是我们仍然可以ls看到里面有test.txt

这就相当于我们没钱进游乐园玩,但我们可以在外边看,有一种奇怪的感觉

总结一下

目录文件的读:是否允许我们查看指定目录下的内容

目录文件的写:是否允许我们在当前目录下进行创建,更改,删除

目录的可执行:是否允许用户进入对应的目录

从这里也可以明白为什么默认权限为什么是666和777了,因为普通文件一般不需要可执行,而目录是需要进入的

我们再看新的知识

 这是home下的目录,我们发现,用户的目录除了拥有者外,其他权限都是没有的,所以其他人想要来你的目录下建一个文件或者干什么操作都是不可能的

普通用户的家目录权限是700,所以我在我的家目录下创建的文件,别人都是看不到的

但是在实际中,我们多个用户是需要进行数据共享的,所以我们建立的目录是不能在任何一个人的家目录下

所以我们在根目录下建立一个shared的目录,然后我们chmod 777 将这个目录的权限放开

然后我们就可以通过各种操作来完成数据共享 

有一天我们把这个文件的权限改为700

张三再看的时候发现他不能读也不能写,一看权限是700,一气之下就把我的这个文件给删除了 

一个文件不是我建立的,但是在共享目录下被我删除了,这是不合理的

一个文件能否被删除,并不由文件本身决定,而是有文件所属的目录决定

这里有人就会想到,我们把这个目录的写权限去掉不就好了吗?但是写权限去掉后,我们自己也什么都干不了了,所以是不行的

我们想要的是共享的,但是不属于自己的是不能删除的,但我们又不能通过修改目录权限来解决

所以我们引入一个新的权限位,叫做粘滞位

粘滞位

通过chmod o+t来完成,我们就可以看到,shared的权限最后一位就由x变为了t 

我们再创建一个文件

此时张三就不能删除我们的文件了 

粘滞位:给目录设置,一般是共享目录,大家可以在目录中进行各自的增删查改,只允许文件拥有者或者root能删除这个文化,其他人不能删除,t是一种特殊的x权限

另外,上面这些各种权限对root来说都是摆设,无任何作用,还和之前一样,所以说root对于其他来说是降维打击

另外,在根目录下有一个文件叫做tmp,这个文件是唯一一个带t的

最后再补充一个file指令

file指令

功能说明 :辨识文件类型。
语法 fifile [ 选项 ] 文件或目录 ... 
常用选项
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容

 以上即为本期全部内容,希望大家可以有所收获

如有错误,还请指正

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

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

相关文章

19. WebGPU —计算着色器(compute shader)

WebGPU 是即将推出的 Web API,可提供对GPU的底层控制并用于通用目的计算任务 。 我对计算机图形不是很有经验。我通过阅读有关如何使用 OpenGL 构建游戏引擎的教程了解了 WebGL 的点点滴滴,并通过观看 Inigo Quilez 在 ShaderToy 上仅使用着色器而不使用…

最长连续序列

题目链接 最长连续序列 题目描述 注意点 0 < nums.length < 100000不要求序列元素在原数组中连续 解答思路 要想实现时间复杂度为 O(n) 的算法解决此问题&#xff0c;关键是数字不能多次遍历&#xff0c;所以首先要对数组进行去重&#xff1b;然后为什么防止某个元素…

NSS [HNCTF 2022 WEEK2]ez_ssrf

NSS [HNCTF 2022 WEEK2]ez_ssrf 先拿dirsearch扫一下。 访问/flag.php 访问/index.php 应该是从index.php传参,ssrf然后访问到flag.php。 因此构造poc.php: <?php $out "GET /flag.php HTTP/1.1\r\n"; $out . "Host: 127.0.0.1\r\n"; $out . "…

网络关键设备和网络安全专用产品目录-2023年7月

2023年7月3日&#xff0c;网络关键设备和网络安全专用产品目录&#xff08;一级&#xff09;终于更新了&#xff0c;增加到38类&#xff0c;大家想了解每类产品对应哪家检测机构、以及涉及相关的标准、分解的二级产品目录&#xff0c;可以联系龙域认证客服。 一、网络关键设备…

01_面向对象的设计原则

面向对象的设计原则 参考资料&#xff1a; 视频书籍 《设计模式&#xff1a;可复用面向对象软件的基础》 简介 面对复杂问题如何解决&#xff1f; 分解&#xff1a;分而治之&#xff0c;大问题分解成小问题。抽象&#xff1a;忽视非本质的细节&#xff0c;处理泛化和理想化…

交换排序--冒泡排序和快速排序

交换&#xff0c;是指根据序列中两个元素关键字的比较结果来对换这两个记录在序列中的位置 一&#xff0c;冒泡排序 1.基本思想&#xff1a;从后往前&#xff08;或从前往后&#xff09;两两比较相邻元素的值&#xff0c;若为逆序&#xff08;A[i-1] > A[i]&#xff09;&a…

Vivado创建IP核步骤

0、创建一个LED IP核 1、打开Vivado&#xff0c;点击Tasks栏的Manage IP&#xff0c;在弹出的选项框中选中New IP Location... 2、在弹出的界面选择Next 3、在弹出的界面中进行IP核的属性配置&#xff0c;修改系所属的器件和保存路径&#xff0c;其他的保持默认就行&#xff0…

Java(117):读取properties配置文件中文乱码问题解决

1、Edit展示properties后缀文件时乱码 2、读取properties配置文件中文乱码问题解决 2.1、文件存储为UTF-8格式 2.2、读取时设置为UTF-8格式 String enconding "UTF-8"; BufferedReader br new BufferedReader(new InputStreamReader(new FileInputStream(fileP…

VMware安装win10系统(超详细)

目录 一、创建虚拟机 二、选择自定义安装 三、根据自己的主机选择虚拟机的配置 四、光盘映像可以选择稍后安装​编辑 五、 根据自己的光盘映像选择操作系统和版本&#xff0c;因为我的装的是win10 x64&#xff0c;所以安装如下图所示 六、选择存放路径 七、 选择BIOS&#x…

java阻塞队列/kafka/spring整合kafka

queue增加删除元素 增加元素 add方法在添加元素的时候&#xff0c;若超出了度列的长度会直接抛出异常&#xff1a;put方法&#xff0c;若向队尾添加元素的时候发现队列已经满了会发生阻塞一直等待空间&#xff0c;以加入元素offer方法在添加元素时&#xff0c;如果发现队列已满…

FPGA实验三:状态机的设计

目录 一、实验目的 二、实验要求 三、实验代码 1.design source文件部分代码 2.测试文件代码 四、实验结果及分析 1、引脚锁定 2、仿真波形及分析 &#xff08;1&#xff09;设计好序列检测器 &#xff08;2&#xff09;仿真波形&#xff08;检测11010&#xff09; 3…

Linux-vim与gdb与make/makefile

三个模式&#xff1a;命令模式 文本模式 底行模式 yum :instell 安装 remove 卸载 gcc -o执行后生成文件命名 gcc 1.c -o fst.out -E预编译 -S汇编 -c生成机器码 Linux 中 静态库&#xff1a;.a&#xff1b;动态库&#xff1a;.so Linux默认动态库&#xff0c;…

Redis的安装,启动,关闭

一&#xff0c;redis安装linux 1&#xff0c;安装gcc环境 yum -y install gcc-c2,上传压缩包到/usr/soft目录&#xff0c;并解压 cd /soft tar -xvf redis-3.2.11.tar.gz3&#xff0c;进入redis-5.0.7目录&#xff0c;使用make命令编译redis [rootlocalhost soft]# cd re…

【DBA课程-笔记】第1章:MongoDB数据库入门

一、MongoDB 概览及新特性 1. MongoDB 简介 目前最流行的NoSQL数据库&#xff08;NO.1&#xff09;MongoDB是一个基于分布式文件存储的数据库&#xff0c;由C语言编写&#xff0c;特点是高性能、易部署、易使用、存储数据非常方便&#xff0c;旨在为Web应用提供可扩展的高性能…

企业该如何防止数据泄漏问题

关键词&#xff1a;企业网盘、知识文档管理系统、群晖NAS、数据安全 根据Verizon《2022 数据泄露调查报告》显示&#xff0c;2022年数据泄露事件中82%的违规行为涉及人为因素&#xff0c;勒索软件泄露事件增加了13%&#xff0c;超过过去五年的总和&#xff0c;数据安全已变成关…

【JUC-7】ReentrantLock (可重入锁)基础

ReentrantLock (可重入锁) ReentrantLock实现了Lock接口, 内部通过继承AQS, 实现了一个同步器. 可以通过同步器来创建Condition条件变量, 可以用作容器, 存放不同条件的等待线程. 说明ReentrantLock与AQS的关系 类图: 相对于synchronized, 都支持可重入. 它还具备如下特点: …

【算法练习】24:凯撒密码

一、凯撒密码介绍&#xff1a; 采用替换的方式对英文字母进行处理&#xff0c;将每一个英文字符循环替换为字母表序列中该字符的后面的第三个字符&#xff0c;即循环右移3位。 明文字母表&#xff1a;ABCDEFGHIJKLMNOPQRSTUVWXYZ 密文字母表&#xff1a;DEFGHIJKLMNOPQRSTUV…

微信小程序如何读取本地云存储txt数据,避免乱码

第一步 找到你的txt文件&#xff0c;重命名为json文件 第二步 上传到云存储中&#xff0c;获取File ID 第三步 编写js代码 相关技术文档&#xff1a; https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html onShow(){wx.cloud.d…

《Redis 核心技术与实战》课程学习笔记(三)

高性能 IO 模型&#xff1a;为什么单线程 Redis 能那么快&#xff1f; Redis 是单线程&#xff0c;主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的&#xff0c;这也是 Redis 对外提供键值存储服务的主要流程。但 Redis 的其他功能&#xff0c;比如持久化、异步删…

CDS Core Data Services S4 CDS view--2

7.2 怎么加注释 首先要看懂注释&#xff0c;comparefilter 一般都是true,这样在association 里的join只被验证一次&#xff0c;如果是FALSE就会不停的被验证。 preservekey, 验证和数据库表的key是否一致。 authorizationcheck, 需要验证权限。不过我们没有设access control…