Linux篇(权限管理命令)

目录

一、权限概述

1. 什么是权限

2. 为什么要设置权限

3. Linux中的权限类别

4. Linux中文件所有者

4.1. 所有者分类

4.2. 所有者的表示方法

属主权限

属组权限

其他权限

root用户(超级管理员)

二、普通权限管理

1. ls查看文件权限

2. 文件权限详解

3. 设置文件/文件夹权限

字母形式

数字形式

练习题

4. 特别说明

三、属主(zhu)与属组(zu)设置

1. 什么是属主与属组?

2. 为什么要修改属主与属组?

3. chown修改文件的属主

4. chgrp修改文件的属组

5. chown同时修改属主与属组

四、特殊权限

1. 设置位S(SetUid)

2. 沾滞位T (sticky bit)

五、ACL访问控制

1. 基本命令

2. getfacl命令

3. setfacl命令

六、umask

1. 什么是umask

2. umask值

3. 修改umask值


一、权限概述

1. 什么是权限

在多用户计算机系统的管理中,权限是指某个特定的用户具有特定的系统资源使用权利

在Linux 中分别有读、写、执行权限:

权限针对文件

权限针对目录

读r

表示可以查看文件内容;cat

表示可以(ls)查看目录中存在的文件名称

写w

表示可以更改文件的内容;vim 修改,保存退出

表示是否可以删除目录中的子文件或者新建子目录(rm/touch/mkdir)

执行x

表示是否可以开启文件当中记录的程序,一般指二进制文件(.sh)

表示是否可以进入目录中(cd)

一般给予目录读权限时,也将会给其执行权限,属于“套餐”组合

2. 为什么要设置权限

  1. 服务器中的数据价值
  2. 员工的工作职责和分工不同
  3. 应对自外部的攻击
  4. 内部管理的需要

3. Linux中的权限类别

Linux 系统一般将文件权限分为3 类:

read(读)

write(写)

execute(执行)

4. Linux中文件所有者

4.1. 所有者分类

对于文件的所有者,又分为3类:

user(属主)

group(属组)

other(其他用户)

user(属主):文件的创建者或拥有者,换句话说,某个账户对这个文件有的权限

A 一个人

B 多个人

group(属组):文件所属的用户组,换句话或,某个用户组对这个文件有的权限。

A 一个人

B 多个人

other(其他用户):除了上面提到的属主和属组之外的所有用户,对这个文件有的权限

A 一个人

B 多个人

举例:

爱情公寓拆迁,拆迁款按照政策,分配如下:一半给张伟,另一半由爱情公寓3601和3602室的其余的伙伴平分

如果把拆迁款看做一个文件,那么这个文件的权限是:

属主:张伟

属组:3601和3602的其他伙伴,他们是一个组

其他用户:没有

4.2. 所有者的表示方法

属主权限

u(the user who owns it)(属主权限)

用 u 表示,文件所有者,默认为文档的创建者

属组权限

g(other users in the file's group)(属组权限)

用 g 表示,在文件所属组(默认是创建文件的用户的主组)里的用户

其他权限

o(other user not in the file's group)(其他权限)

用 o 表示,既不是文件的创建者,也不在文件属组里的用户,称为其他人!

linux ugo权限,所谓ugo,就是User, Group,Other三个单词的首字母

就指属主,主组,其他三种权限。

ugo 等于 u + g + o

a (all) 等于u + g + o

root用户(超级管理员)

在Linux 中,root 用户,在所有用户中 root 用户 拥有最大的权限 ,可以管理着普通用户,设置文档的权

限时不必考虑 root 用户

二、普通权限管理

1. ls查看文件权限

要设置权限,就需要知道文件的一些基本属性和权限的分配规则

在Linux 中,ls 命令常用来查看文档的属性,用于显示文件的文件名和相关属性

ls命令本人之前概述过,用于查看文件信息,简写用法:ll

用法一:ll
示例代码:
# ll
含义:查看当前文件夹下的所有目录和文件的详细信息

![](media/quanxian02.png)

2. 文件权限详解

Linux 中存在三类身份:

属主(owner拥有者)

属组(group用户组)

其他用户(others)

各自有不同的权限,对于一个文档来说,其权限具体分配如下:

linux一共有7种文件类型,分别如下:

-:普通文件

d:目录文件

l: 软链接(类似Windows的快捷方式)

下面四种是特殊文件:

b:块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如猫等串口设备)

s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)

文件权限对应关系:对应数字

权限

对应数字

意义

r

4

可读

w

2

可写

x

1

可执行

前10位字符表示含义:第1位:表示文件类型第2-4位:表示文件所有者的权限情况,第2位r表示读权限,第3位w表示写权限,第4位x表示执行权限第5-7位:表示与文件所有者同组的用户的权限情况,第5位r表示读权限,第6位-表示不可写,第7位x表示执行权限第8-10位:表示除了组外的其他用户权限情况,第8位r表示读权限,第9位-表示不可写,第10位x表示执行权限简述:第1位:表示文件类型第2-4位:表示文件 属主(所有者)的权限情况第5-7位:表示与文件 属组(用户组)的用户的权限情况第8-10位:表示 其他(除了属主和属组之外的其他用户)权限情况

3. 设置文件/文件夹权限

命令:chmod

语法:# chmod [选项] 权限模式 文档

作用:增加或者减少当前文件所有者的权限(不能改变所有者,只能改变现有所有者的权限)

常用选项:-R:递归设置权限 (当文档类型为文件夹的时候)

权限模式:就是该文档需要设置的权限信息

文档:可以是文件,也可以是文件夹,可以是相对路径也可以是绝对路径。

注意点:如果想要给文档设置权限,操作者要么是root 用户,要么就是文档的所有者

字母形式

字母形式(对应前面提到的u g o,r w x的表示方法)

使用root用户登录

用法一:chmod -R 要增加的权限 文件名
示例代码:
#chmod -R u+x quanxian.txt
含义:对于quanxian.txt文件,给 属主 增加 执行 权限

用法二:chmod -R 多个要增加的权限 文件名
示例代码:
#chmod -R g+x,o+x quanxian.txt
含义:对于quanxian.txt文件,给 属组 增加 执行 权限,给 其他 增加 执行权限
注意:同时改变多个对象的权限,中间使用“逗号“分割。

用法三:chmod -R 要减少的权限 文件名
示例代码:
#chmod -R o-x quanxian.txt
含义:对于quanxian.txt文件,给 其他用户 减少 执行权限

<img src="assets/chmod03.jpg" style="width:960px" />

用法四:chmod -R 要赋予的权限 文件名
示例代码:
#chmod -R u=rwx,g=rwx,o=rwx quanxian.txt
含义:对于quanxian.txt文件,给属主,属组,其他,都 赋予 读,写,执行权限

用法五:chmod -R 要赋予的权限 文件夹
示例代码:
#chmod -R a=rwx quanxianfolder
含义:对于quanxianfolder文件夹,给所有用户(属主,属组,其他),都 赋予 读,写,执行权限

相关参数总结:

字母

选项

作用

u(谁)

user

属主

g(谁)

group

属组

o(谁)

other

其他用户

a(谁)

all

所有人(包含ugo)

+(作用)

增加作用

-(作用)

移除作用

=(作用)

等于

赋值作用

r(权限)

read

可读权限

w(权限)

write

可写权限

x(权限)

execute

可执行权限

-(权限)

-

没有任何权限

1、如果同时设置多个身份的权限时候,每个身份之间需要通过英文逗号分开:

例如:

#chmod -R u=rwx,g=rwx,o=rwx quanxian.txt

2、在权限设置中,如果有两部分权限一样则可以合在一起写

例如:
# chmod u=rwx,g=rwx
等价于:
# chmod ug=rwx

数字形式

经常会在技术网站上看到类似于# chmod 777 a.txt 这样的命令,这种形式称之为 数字形式权限

文件权限与数字的对应关系,我们会发现没有7这个数字

权限

对应数字

意义

r

4

可读

w

2

可写

x

1

可执行

权限与数字对应详解

数字

权限

作用

0

-

不能读,不能写,不能执行

1

execute

不能读,不能写,可执行

2

write

不能读,可写,不能执行

3

2+1

不能读,可写,可执行

4

read

可读,不能写,不能执行

5

4+1

可读,不能写,可执行

6

4+2

可读,可写,不能执行

7

4+2+1

可读,可写,可执行

技巧:不要背上面的表格,只要记住R,W,X对应4,2,1,之后做10以内加法

用法六:chmod -R 要赋予的权限(数字形式) 文件名
示例代码:
#chmod -R 765 quanxian.txt
含义:对于quanxian.txt文件,给属主所有权限,属组读写权限,其他读和执行权限
注意:
全部权限:7 = r+w+x = 4 + 2 + 1
读写权限:6 = r+w = 4 + 2
读和执行:5 = r+x = 4 + 1
综上所述,u=7,g=6,o=5

问题:用超级管理员设置文档的权限命令是# chmod -R 731 shop,请问这个命令有没有什么不合理的地方?

分析:

所有者权限:7 = 4 + 2 + 1 = 读 + 写 + 执行
同组用户权限:3 = 2 + 1 = 写 + 执行
其他用户权限:1 = 执行问题在权限731中的3权限,3表示写+执行权限,但是写又必须需要能打开之后才可以写,因此必须需要具备可读权限,因此此权限设置不合理。注:实际工作中,各位小伙伴在设置权限时一定不要设置这种"奇葩权限",一般情况下,单独出现2、3的权限数字一般都是有问题的权限。

一般linux系统中,不允许出现 777 的权限

练习题

1、使用root 用户设置文件夹/root/shop 的权限为:属主全部权限,属组拥有读和执行权限,其他用户没有权

限,请使用数字权限的形式设置

rwx=7,rx=4+1=5,0
# chmod -R 750 /root/shop

2、请置文件/root/readme.txt 的权限,权限要求为:

属主拥有全部权限,属组要求可以读写,其他用户只读,要求使用数字形式;

rwx=7,rw=4+2=6,r=4
# chmod 764 /root/readme.txt

3、请设置/root/email.doc权限,权限要求只有属主可以读写,除此之外任何人没有权限;

rw=6,0,0
# chmod 600 /root/email.doc

4. 特别说明

在Linux 中,如果要删除一个文件,不是看文件有没有对应的权限,

而是看文件所在的目录是否有写权限,如果有才可以删除(同时必须具备执行权限)

权限针对文件

权限针对目录

读r

表示可以查看文件内容

表示可以(ls)查看目录中存在的文件名称

写w

表示可以更改文件的内容

表示是否可以删除目录中的子文件或者新建子目录(rm/touch/mkdir)

执行x

表示是否可以开启文件当中记录的程序,一般指二进制文件(.sh)

表示是否可以进入目录中(cd)

三、属主(zhu)与属组(zu)设置

1. 什么是属主与属组?

属主:所属的用户,文档所有者,这是一个账户,这是一个人

属组:所属的用户组,这是一个组

基本语法:# ls -l查看文档属主与属组

2. 为什么要修改属主与属组?

举例:

一个财务表格,以前由胡一菲进行更新,她有读写权限,现在胡一菲去阿拉善沙漠找曾老师了,改权限没用,

需要把属主改成诸葛大力,由诸葛大力更新

3. chown修改文件的属主

基本语法:# chown [-R] 新文档拥有者名称 文档路径

作用:更改文档的所属用户(change owner)

选项:-R 代表递归修改文件的属主

示例代码1:将readme.txt文档属主更改为 zhengge

#touch readme.txt
#ll readme.txt#chown zhengge readme.txt 
将readme.txt文件的属主设置为zhengge#ll readme.txt 

示例代码2:将shop文件夹的拥有者更改为zhengge

#mkdir shop
#ll
#chown zhengge shop
将shop文件夹的属主设置为zhengge#ll

4. chgrp修改文件的属组

基本语法:# chgrp [-R] 新文档组名称 文档的路径

作用:更改文档的所属用户组(change group)

示例代码1:将readme.txt文档所属组修改为 zhengge

错误信息:invalid user: ‘zhengge’

不可用的账户"zhengge"

原因:检查是否有这个账户,如果没有,需要新建

示例代码2:将shop文档所属组修改为 zhengge

5. chown同时修改属主与属组

基本语法:语法:# chown [-R] username:groupname 文档路径

示例代码:将readme.txt文件的拥有者与所属组都更改为root

#ll readme.txt 
#chown root:root readme.txt 
将readme.txt文件的属主和属组同时设置为root#ll readme.txt 

注意:

一般来说,chown 指令只有是由系统管理者(root)所使用,

普通用户没有权限可以改变别人的档案拥有者,也没有权限可以将自己的档案拥有者改设为别人

只有系统管理者(root)才有这样的权限

四、特殊权限

1. 设置位S(SetUid)

作用:为了让一般使用者临时具有该文件所属主/组的执行权限

例如:

/usr/bin/passwd在执行它的时候需要去修改/etc/passwd和/etc/shadow等文件,

这些文件除了root外,其他用户都没有写权限,但是又为了能让普通用户修改自己的密码,该怎么办呢?

可以临时让他们具有root的权限,而这个 s 权限就是用来完成这个特殊任务的

s 权限只能应用在二进制的可执行文件上

示例代码:不想让普通用户修改自己的密码

which命令可以用于查看二进制可执行文件所在位置

去除s权限,基本语法:

#which passwd
#ll /usr/bin/passwd #chmod u-s /usr/bin/passwd 
或者
#chmod 0755 /usr/bin/passwd
去除passwd程序的s权限#ll /usr/bin/passwd 

测试普通用户:

# 查看当前用户
whoami
# 修改密码
passwd

注意:

0755最前面的0表示不使用任何特殊权限,如果想使用数字设置特殊权限,可以使用4表示设置S位

2. 沾滞位T (sticky bit)

命令:chmod

语法:# chmod [选项] 文件夹

作用:只允许文件的创建者和root用户删除文件

常用选项:

o+t 添加粘滞位

o-t 去掉粘滞位

用法:chmod o+t 目录名
示例代码:
#chmod o+t 
含义:给目录增加粘滞位权限。

举例:

公司多个部门公用一个文件夹work,为了让所有人都能访问,work文件夹赋予了777权限,

用户root新建了一个文件root.txt,发现被别人删除了,我们希望root建立的文件,只有root自己可以删。

步骤1:root用户下操作

root用户新建文件夹/work,并且新建两个文件root.txt和root1.txt,赋予/work文件夹和下面的文件777权限

#mkdir /work
#cd /work
#touch root.txt
#touch root1.txt
#chmod -R 777 /work
#ll -d /work

<img src="assets/teshu02.jpg" style="width:960px" />

步骤2: wangwu用户下操作

在没有设置粘滞位的时候,wangwu可以删除root创建的文件

cd /work
ll -d /work
ll
rm -rf root.txt
ll

<img src="assets/teshu03.jpg" style="width:960px" />

步骤3:root用户下操作:

给/work文件夹添加粘滞位

#ll -d /work/
#chmod o+t /work
#ll -d /work/

<img src="assets/teshu04.jpg" style="width:960px" />

步骤4:wangwu用户下操作

发现添加粘滞位后,无法删除root2.txt文件

#ll -d /work/
#chmod o+t /work
#ll -d /work/

<img src="assets/teshu05.jpg" style="width:960px" />

步骤5:root用户下操作

去掉/work文件夹的取消粘滞位

#ll -d /work/
#chmod o-t /work
#ll -d /work/

<img src="assets/teshu06.jpg" style="width:960px" />

步骤6:wangwu用户下操作

wangwu用户下,发现又可以删除了

<img src="assets/teshu07.jpg" style="width:960px" />

五、ACL访问控制

问题:我们学过的所有者身份包含哪些?

答案:ugo,属主,属组,其他。

问题:我们学过的文件权限包含哪些?

答案:rwx,读写执行,特殊s,t

ACL,是 Access Control List(访问控制列表)的缩写,在 Linux 系统中, ACL 可实现对单一用户设定访问文件

的权限

1. 基本命令

getfacl命令:查看文件的ACL策略及权限

setfacl命令: 给文件针对某个用户或者某个组来增加(设置)ACL策略

2. getfacl命令

3. setfacl命令

-m : 修改acl策略

-x :去掉某个用户或者某个组的权限

-b :删除所有的acl策略

-R :递归,通常用在文件夹

mask:mask定义除other和所有人(拥有者)外的最大权限

setfacl -m u:用户名:rwx /usr/local/shichangbu     给单个用户单独加权限setfacl -m g:用户组名:rwx /usr/local/shichangbu   给单个组单独加权限setfacl -x u:用户 /usr/local/shichangbu   去掉某个用户的权限
setfacl -x g:组名 /usr/local/shichangbu   去掉某个组的acl策略setfacl -b -R /usr/local/shichangbu  	删除所有的acl策略,递归子文件例如:
setfacl -m u:user01:rw   file1 针对于单个用户给可读可写权限
setfacl -m g:sysadmin:rw file1 针对于单个组给可读可写权限

示例代码1:给newuser01用户单独在市场部文件夹上增加rx权限

#mkidr /shichangbu
#cd /shichangbu
#touch file{1..5}.txt
#chown -R root:itheima shichangbu/
递归设置shichangbu文件夹的属主是root,属组是itheima
#getfacl shichangbu/#useradd newuser01
#passwd newuser01 #setfacl -m u:newuser01:rx -R /usr/local/shichangbu/
单独设置newuser01对于shichangbu文件夹的rx权限,并且递归包含所有子文件#getfacl /usr/local/shichangbu
查看/usr/local/shichangbu文件夹的ACL权限

六、umask

1. 什么是umask

umask表示创建文件时的默认权限(即创建文件时不需要设置而天生的权限)

例如:

root用户下,touch a ,文件a的默认权限是644

普通用户下,touch b ,文件b的默认权限是664 

644和664我们并没有设置,其中的关键因素就是umask

最大默认权限:

文件666

文件夹777

2. umask值

可以使用命令umask来查看umask的值:

基本语法:# umask

注:0022中第一位0代表特殊权限位,可以不设置。

umask的默认值,在root和普通用户下是不一样的,分别是022和002

分析:

结合上述的举例得知:

默认权限=最高权限-umask( 644=666-022 // 664=666-002 )

但是:

当umask为011,创建文件的默认权限应该是655,但是实际运行的时候默认权限是 666

666 -> rw-rw-rw-

011 -> -----x--x

相减得:,

666 -> -rw-rw-rw-

注意:

这个特殊情况仅出现在文件,因为文件[二进制文件除外]没有x执行权限),

所以,查看文件的umask时我们要特别注意是否有奇数位(x表示1)

3. 修改umask值

umask + 数值修改当前用户的umask 如:# umask 044

不过这样设置的umask会在用户重新登录的时候恢复原来的值,我们可以把修改的umask保存在~/.bashrc

操作步骤:

#vim ~/.bashrc
① 在文件末尾添加umask 044
② 保存退出 
③ 重新登录用户则保存成功

示例代码:

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

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

相关文章

冲压车间如何开展六西格玛管理培训

面对日益严苛的客户要求与成本控制挑战&#xff0c;传统的管理模式已难以满足高质量发展的需求。此时&#xff0c;六西格玛管理以其严谨的数据驱动、持续改进的理念&#xff0c;成为众多企业转型升级的有力工具。本文&#xff0c;天行健企业管理咨询公司将深入探讨冲压车间如何…

基于微信小程序的平安驾校预约平台的设计与实现(源码+LW++远程调试+代码讲解等)

摘 要 互联网发展至今&#xff0c;广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对高校教师成果信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&#xff0c;劳动强度大&#xff0c;费时费力…

插入排序(sort)C++

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 时间限制&#xff1a;C/C/Rust/Pascal 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C/Rust/Pascal 512 M&#xff0c;其他语言1024 M 64bit IO Format: %lld 题目描述 插入排序是一种…

卷积、频域乘积和矩阵向量乘积三种形式之间的等价关系与转换

线性移不变系统 线性移不变系统&#xff08;Linear Time-Invariant System, LTI系统&#xff09;同时满足线性和时不变性两个条件。 线性&#xff1a;如果输入信号的加权和通过系统后&#xff0c;输出是这些输入信号单独通过系统后的输出的相同加权和&#xff0c;那么该系统就…

15分钟学 Go 第 53 天 :社区资源与学习材料

第53天&#xff1a;社区资源与学习材料 目标 了解Go语言官方资源掌握社区重要学习平台学会利用开源项目学习构建个人知识体系 一、Go语言官方资源汇总 资源类型网址说明Go官网golang.org官方文档、下载、教程Go Blogblog.golang.org技术博客、最新特性介绍Go Playgroundpla…

「QT」文件类 之 QIODevice 输入输出设备类

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「QT」QT5程序设计&#x1f4da;全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定制…

timescale使用例子 - 纽约出租车

一、资料使用 在timescale的官方网站的“教程”菜单中&#xff0c;有几个不同业务场景的例子&#xff0c;其中就有运输行业的例子。我访问中文站点的时候&#xff0c;关于教程的几个步骤内容刷不出来&#xff0c;所以还是建议访问英文站点。 https://docs.timescale.com/tuto…

树(二叉查找树、平衡二叉树、红黑树)

树&#xff08;二叉树、二叉查找树、平衡二叉树、红黑树&#xff09; 二叉查找树&#xff08;二叉排序树、二叉搜索树&#xff09;添加元素查找元素遍历弊端 平衡二叉树旋转机制&#xff1a;左旋旋转机制&#xff1a;右旋需要旋转的四种情况1. 左左&#xff1a;一次右旋2. 左右…

医疗器械包装运输试验之抗压试验的条件选取及方法和设备的要求

医疗器械包装运输试验之抗压试验的试验目的&#xff1a; 抗压试验通常用来评估产品在承受外界压力时&#xff0c;包装对内装物样品的保护能力。试验通常模拟产品在运输流通过程中可能遇到的压力环境。通过试验&#xff0c;可以验证包装对内装物的保护能力、包装结构的完整性、…

C++内存池实现

1.内存池概念 内存池就和其他的池数据&#xff08;如线程池&#xff09;结构类似&#xff0c;由程序维护一个“池”结构来管理程序使用的内存&#xff0c;然后根据需要从内存池中申请使用内存或者向内存池中释放内存&#xff0c;来达到高效管理内存的目的。 在一般的内存管理的…

数据结构-二叉树

一.二叉树的定义 二叉树有左右儿子之分 完美二叉树&#xff08;满二叉树&#xff09;除了最下面的没有儿子其他结点都有两个儿子&#xff0c;叶节点比较齐的&#xff0c;完全二叉树不是满二叉数允许缺失最后的结点 满二叉树可以达到2^k-1 边的总数节点数-1 二.二叉树的存储结构…

OKR制定指南

Goal Crafting 目标制定是最基本的领导活动之一。组织绩效和团队成长依赖于精心制定的目标。没有良好的目标制定练习&#xff0c;团队可能只关注眼前的事务&#xff0c;解决看似可以快速解决的问题。良好的目标制定迫使你不忽视或推迟那些需要新思维方式、合作或克服困难的问题…

详细分析Java中FilterChain过滤器的基本知识

目录 前言1. 基本知识2. Demo 前言 基本的Java知识推荐阅读&#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09;【Java项目】实战CRUD的功能整理&#xff08;持续更新&#xff09; 从实战中学习&#xff1a; 常用在一些重复代…

TableGPT2-7B:用于表格数据分析的大规模解码器模型

TableGPT2-7B 是浙江大学开发的最先进的大规模解码器模型&#xff0c;专为涉及表格数据的数据密集型任务而设计。该模型以 Qwen2.5 架构为基础&#xff0c;包括针对表格数据的专用编码&#xff0c;其中独特的语义编码器可从行、列和整个表格中获取洞察力。 主要特点和功能 Ta…

SQL面试题——抖音SQL面试题 主播播出时长

主播播出时长 现有如下数据,主播id、房间号、播出的批次号,每个批次号进出房间的时间戳、分区时间: 每一次直播都有一个上播和下播,每个房间里,同一个批次号会有两条数据,分别记录了上播和下播时间,求每个主播的播出时长? 通过上面的数据,可以清晰的看出,同一个批次…

数字信号处理Python示例(14)生成锯齿波和三角波

文章目录 前言一、锯齿波和三角波二、生成锯齿波和三角波的Python代码三、仿真结果及分析写在后面的话 前言 因其独特的数学特性和物理表现&#xff0c;在工程和技术领域扮演着重要角色。这是生成非正弦信号的几个Python示例的其中一个&#xff0c;生成三角波与锯齿波&#xf…

HBase理论_HBase架构组件介绍

近来有些空闲时间&#xff0c;正好最近也在开发HBase相关内容&#xff0c;借此整理一下学习和对HBase组件的架构的记录和个人感受&#xff0c;付出了老夫不少心血啊&#xff0c;主要介绍的就是HBase的架构设计以及我的拓展内容。内容如有不当或有其他理解 matirx70163.com HB…

前端快速上手(一):HTML

目录 1. HTML 基础 1.1 HTML 标签 1.2 标签的结构关系 2. HTML 常见标签 2.1 标题标签: h1 - h6 2.2 段落标签: p 2.3 换行标签: br 2.4 图片标签: img 2.5 超链接: a 标签 2.5.1 外部链接 2.5.2 内部链接 2.5.3 文件资源链接 2.5.4 空链接 2.6 表格标签 2.7 表单…

QT<30> Qt中使鼠标变为转圈忙状态

前言&#xff1a;当我们在写软件时&#xff0c;在等待阻塞耗时操作时可以将鼠标变为忙状态&#xff0c;并在一段时间后恢复状态&#xff0c;可以用到GxtWaitCursor&#xff1a;Qt下基于RAII的鼠标等待光标类。 一、效果演示 二、详细代码 在项目中添加C文件&#xff0c;命名为…

Shell环境导致编译失败处理方法

在嵌入式Linux系统源码&#xff08;BSP包&#xff09;编译时&#xff0c;有可能会如现如下提示&#xff1a; [[: not found 这种提示&#xff0c;一般是Shell环境为dash而不是bash导致&#xff0c;可以通过如下命令来切换&#xff1a; sudo dpkg-reconfigure dash 执行后会…