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

【跟小嘉学 Linux 系统架构与开发】四、文件和目录的权限

系列文章目录

【跟小嘉学 Linux 系统架构与开发】一、学习环境的准备与Linux系统介绍
【跟小嘉学 Linux 系统架构与开发】二、Linux发型版介绍与基础常用命令介绍
【跟小嘉学 Linux 系统架构与开发】三、如何查看帮助文档
【跟小嘉学 Linux 系统架构与开发】四、文件和目录的权限

文章目录

  • 系列文章目录
    • @[TOC](文章目录)
  • 前言
  • 一、使用者(owner)、用户组(group)、其他(others)
  • 二、文件权限的概念
    • 2.1、文件属性
    • 2.2、如何修改文件的属性和权限
      • 2.2.1、修改文件所属用户组(chgrp)
      • 2.2.2、修改文件的所有者(chown)
      • 2.2.3、修改文件的权限(chmod)
        • 2.2.3.1、使用数字来修改权限
        • 2.2.3.2、使用符号来修改文件权限
      • 2.2.4、权限的意义
        • 2.2.4.1、权限对文件的意义
        • 2.2.4.2、权限对目录的意义
  • 三、文件类型
    • 3.1、正规文件(regular file)
      • 3.1.1、纯文本文档(ASCII)
      • 3.1.2、二进制文件(binary)
      • 3.1.3、数据格式文件(data)
    • 3.2、目录(directory)
    • 3.3、 连接文件(link)
    • 3.4、设备与装置文件(device)
    • 3.5、 数据接口文件(sockets)
    • 3.6、数据传输文件(FIFO,pipe)
  • 四、文件的扩展名
  • 五、Linux 文件的限制
    • 5.1、Linux文件名限制
      • 5.1.1、文件名长度限制
      • 5.1.2、Linux文件名的限制
    • 5.2、文件大小限制
      • 5.2.1、FAT32 文件系统
      • 5.2.2、ex3/ext4
      • 5.2.3、xfs
      • 5.2.4、exFAT
  • 六、目录配置
    • 6.1、Filesytem Hierarchy Standard(FHS)
    • 6.2、第一部分:FHS要求必须要存在的目录
    • 6.3、第二部分:FHS 建议可以存在的目录
    • 6.4、放置的内容
    • 6.5、`/usr` 目录存放的内容
      • 6.5.1、第一部分:FHS 要求必须要存在的目录
      • 6.5.1、第二部分:FHS 建议可以存在的目录
    • 6.6、`/var` 目录存放的内容
      • 6.6.1、第一部分:FHS 要求必须要存在的目录
    • 6.7、目录树(directory tree)
    • 6.8、绝对路径和相对路径
  • 七、Linux Standard Base(LSB)
    • 7.1、LSB 简介
    • 7.2、如何查看
      • 7.2.1、uname
      • 7.2.2、lsb_release
      • 7.2.3、查看文件

前言

Linux的文件或者目录的使用者分为三类:owner、group、others、且三种使用者各有read、write、execute等权限。

参考资料

  • 《鸟哥的Linux私房菜繁体版》
  • 《鸟哥的Linux私房菜简体版》
  • Filesystem Hierarchy Standar

一、使用者(owner)、用户组(group)、其他(others)

  • 所谓的使用者就是文件的拥有者
  • 所谓的用户组,就是用户所在的组;
  • 所谓的其他,除了所有者以及用户组所在的用户的用户都是其他用户

所有和用户相关的信息都存放 /etc/passwd/etc/shadow/etc/group 文件之中。
详细的用户和用户组,我们会在用户管理章节详细介绍。

二、文件权限的概念

我们讲解文件的权限就是以后大家能够在遇到 Permission deny 的时候,能够知道事权限设置不正确导致的问题。

2.1、文件属性

raojiamin@192 ruoyi_radius % vagrant ssh
[vagrant@10 ~]$ su -
Password: 
[root@10 ~]# 
[root@10 ~]# ls -al
total 36
dr-xr-x---.  2 root root  137 Dec  4  2020 .
dr-xr-xr-x. 18 root root  255 Apr  2 17:12 ..
-rw-------.  1 root root 5207 Dec  4  2020 anaconda-ks.cfg
-rw-r--r--.  1 root root   18 May 11  2019 .bash_logout
-rw-r--r--.  1 root root  176 May 11  2019 .bash_profile
-rw-r--r--.  1 root root  176 May 11  2019 .bashrc
-rw-r--r--.  1 root root  100 May 11  2019 .cshrc
-rw-------.  1 root root 5006 Dec  4  2020 original-ks.cfg
-rw-r--r--.  1 root root  129 May 11  2019 .tcshrc

我们可以看到 ls -al 这个命令以列表形式写出当前目录下的所有文件(包括隐藏文件)的信息。

  • 第一行:total 36 是公共文件大小之和,默认单位是k
  • 第一列:-rw-r--r--. 代表了文件的类型与权限属性(permission),第一个字符表示的文件的类型
    • d:表示目录;
    • -:表示普通文件;
    • l :表示连接文件;
    • b:表示可存储的设备
    • c:表示字符设备,例如键盘、鼠标等;
      接下来三个字符一组,都是rwx等组合,其中 r 代表可读(read)、w 代表可写 wite、x 代表可执行 execute,- 代表没有权限;
    • 第一组代表文件所有者拥有的权限;
    • 第二组代表那个文件的所属群组;
    • 第三组代表其他用户的权限;
  • 第二列:链接数(links),表示有多少文件连接到此节点(i-node),关于i-node,我们在讲解内核原理和文件系统的时候会具体在详细讲解
  • 第三列:表示文件或目录的所有者用户;
  • 第四列:表示文件或目录的所属用户组;
  • 第五列:表示文件的容量大小
  • 第六列:表示文件的创建时间或更新时间,格式为月、日、时间,如果时间较久了,那么就会仅仅显示年份而已,如果想要显示完整的时间,可以使用 ls -l --fulltime命令
  • 第七列:表示是文件的名称,文件如果以.开头则是Linux系统的隐藏文件;

2.2、如何修改文件的属性和权限

2.2.1、修改文件所属用户组(chgrp)

使用 chgrp(change group ownership的缩写) 命令可以用来修改文件的所有组

chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
  • 用法1:修改用户组
  • 用法2:参考 RFILE 来修改用户组

2.2.2、修改文件的所有者(chown)

其用法和chgrp 差不多

chown:可以修改文件的所有者

2.2.3、修改文件的权限(chmod)

使用 chmod 可以 修改用户的权限,我们可以用 o(other)、g(group)、u(user)来表示用户信息,用read(r、4)、write(w、2)、execute(x、1)来表示权限。

2.2.3.1、使用数字来修改权限
chmod 644 .bashrc
2.2.3.2、使用符号来修改文件权限
chmod  u=rwx,go=rx  .bashrc
chmod  a+w  .bashrc
chmod  a-x  .bashrc
  • = 表示设置
  • - 表示减去
  • + 表示加上

2.2.4、权限的意义

2.2.4.1、权限对文件的意义
  • r(read):表示可以读取文件的内容信息;
  • w(write):表示可以编辑、新增文件或修改文件的内容,但不包括删除文件;
  • x(execute):表示文件可以被系统执行;
2.2.4.2、权限对目录的意义
  • r(read contents in directory):表示拥有可以读取目录的结构权限,例如 ls 命令;
  • w(modify contents in directory):表示有如下权限
    • 创建新的文件或目录的权限
    • 删除已经存在的文件或目录;
    • 将已存在的文件和目录进行重命名;
    • 移动目录内的文件、目录位置;
  • x(access directory):表示使用者是否拥有进入该目录的作为工作目录(work directory)的权限,例如 cd(change directory) 命令

三、文件类型

3.1、正规文件(regular file)

3.1.1、纯文本文档(ASCII)

3.1.2、二进制文件(binary)

例如我们 c、cpp 或 rust 编译出来的可执行程序,默认都是 a.out文件。

3.1.3、数据格式文件(data)

3.2、目录(directory)

3.3、 连接文件(link)

相当于超链接

3.4、设备与装置文件(device)

- 区块设备文件(block):例如硬盘、软盘等
- 字符设备文件(character):例如鼠标、键盘、 

3.5、 数据接口文件(sockets)

3.6、数据传输文件(FIFO,pipe)

四、文件的扩展名

Linux 文件是否能够被执行看是否有可执行的权限,不像 Windows 系统对文件有扩展名的区分,例如.exe.com.bat等等。

但是我们通常也会借助扩展名来了解文件是什么东西,例如

  • *.sh: shell 脚本文件;
  • *Z, *.tar, *.tar.gz, *.zip, *.tgzzip等: 经过打包的压缩文件。这是因为压缩软件分别为 gunzip, tar 等等的,由于不同的压缩软件,而取其相关的扩展名啰
  • *.php*.c*.cpp*.py*.css*.js*.rs*.html*.java等编程语言编写的文件等

五、Linux 文件的限制

5.1、Linux文件名限制

5.1.1、文件名长度限制

  • ext2、3
    如果你使用的是 ex2、3xt3文件系统
  • 那么文件或目录的最大容许文件名为255个字符
  • 包含完整路径名称及目录(/)之完整名为4096个字符;

5.1.2、Linux文件名的限制

最好不要使用下面这些字符,因为这些字符都是有特殊含义的,

* ? > < ; & ! [ ] | \ ' " ` ( ) { }

5.2、文件大小限制

5.2.1、FAT32 文件系统

单个文件大小限制为 4GB

5.2.2、ex3/ext4

在ext3 中,单个文件大小为16GB
在ext4 中,单个文件大小限制为16TB,如果启用啦 largefile4 可以提升到256 TB

5.2.3、xfs

理论上没有限制,实际上受到资源限制

5.2.4、exFAT

最大文件大小为16EB,但是linux支持可能受限

六、目录配置

我们可以发现不同的Linux发行版的目录的设置、软件的位置、目录的内容都大差不差呢,因为他们都遵守一套标准的依据。

6.1、Filesytem Hierarchy Standard(FHS)

由于利用 LInux 来开发产品和发行版的社区的公司和个人实在太多了,如果每个人都按照自己的想法来防止目录和文件,会造成很多困扰。

FHS一句文件系统的使用的频率、是否允许随意变动将目录分为了如下几种类型

可分享的(shareable)不可分享的
不可变的(static)/usr/etc
不可变的(static)/opt/boot
不可变的(variable)/var/mail/var/run
不可变的(variable)/var/spool/news/var/lock
  • 可分享的:可以分享给其他系统挂载使用的目录;
  • 不可分享的:不必刻意分享给其他主机;
  • 不变的:不会经常变动,例如函数库、文件说明、系统管理员所管理的主机服务配置等
  • 可变的:经常改变的资料,例如登录信息、新闻等‘

6.2、第一部分:FHS要求必须要存在的目录

  • /bin:系统有很多放置可执行文件的目录,/bin 放置的是担任维护模式下还能够被操作的命令,在 /bin 目录下的命令可以被 root 和普通用户所使用,例如:catchmodchowndatemvmkdircpbash等;
  • /boot:目录主要放置开机会使用的文件,包括 Linux 内核文件、开关机菜单等配置,Linux 内核常见的文件名为 vmlinuz,如果使用 grub2 这种开机管理程序,则还会存在/boot/grub2目录
  • /dev:在Linux系统上,任何设备都是以文件的形式存在的这个目录之中的,例如:/dev/null, /dev/zero, /dev/tty, /dev/loop*, /dev/sd*等等
  • /etc:系统的主要配置文件都在这个目录,例如用户账号和密码,服务的配置文件,一般情况下这个目录的文件属性都是使用者可以查看,但是只有root才有权力修改,FHS建议不要放置可执行程序在这个目录之中。
  • /lib:系统的函数库非常,/lib 放置的则是开机会用的函数库,以及/bin/sbin底下的命令会调用的函数库。另外 FHS 还要求底下的目录必须存在 /lib/modules
  • /media:这个目录下放置的是可以移除的设备,例如光盘、DVD等设备暂时挂载在这,例如 /media/floppy/media/cdrom等等;
  • /mnt:这个目录用途和 /media类似,这个目录用来暂时挂载使用
  • /opt:这个目录是第三方软件安装的目录,例如KDE等,不过以前的 Linux 喜欢放置在 /usr/local目录下
  • /sbin:Linux 很多命令是用来设置系统环境的,只有 root 命令才可以来设置,其他用户只能查询,放在/sbin 目录下都是为开机过程所需要的,包括开机、修复、还原系统所需要的命令。自行安装的软件所所产生的系统可执行程序会安装到 /usr/sbin 之中
  • /srv:srv 可以看作 service 的缩写,一些网络服务启动之后,这些服务所需要的资料等目录,例如某些http服务,不过现在apache服务等www目录一般在 /var/www/html
  • /tmp:这个目录一般使用者或正在执行的程序暂时存放的非地方,任何人都可以存取,这个额目录不可以放置资料。

6.3、第二部分:FHS 建议可以存在的目录

  • /home: 这是系统预设的用户主目录(home directory),一般情况下,新增账号的时候都会在这个目录下创建
    • ~: 代表当前用户的主目录
    • ~dmtsai:代表 dmtsai 的主目录
  • /lib<qual>:用来存放 /lib 不同格式的二进制函数库,例如 64位的函数库 /lib64
  • /root:系统管理员的主目录,因为担任模式下挂载跟目录时,就能够拥有root的主目录;

6.4、放置的内容

下面目录不是 FHS 所定义的标准,不过这些目录也是需要了解一下的。

  • /lost+found:这里放置的是 ext2/ext3/ext4 文件系统才会产生的目录,该目录目的是文件系统发生错误时,讲一些丢失的片段放置到该目录下,如果使用 xfs 文件系统就不会存在该目录了
  • /proc:这个目录是虚拟文件系统(virtual filesystem),这里的文件是系统核心、进程信息、设备状态、网络状态等等,不会占用任何硬盘空间,例如/proc/cpuinfo/proc/dma/proc/interrupts/proc/ioports/proc/net/*
    - /sys:该目录与 /proc非常类似,也是虚拟文件系统,最主要记录与系统硬件信息相关的内容,包括已经载入的内核模块、硬件配置等

在 Centos 7.x 已经将 /sbin/binlib 统统移动到了 /usr

6.5、/usr 目录存放的内容

/usr 目录是 Unix Software Resource 的缩写,是Unix软件资源的目录,就像 windows的 Program files 目录类似;

6.5.1、第一部分:FHS 要求必须要存在的目录

  • /usr/bin:普通用户所能够使用的指令都存在在,目前 Centos7 已经将素有使用者的命令都放置在这个目录下,而使用连接文件方式链接到 /bin 目录
  • /usr/lib:基本上与 /lib 目录功能相同,/lib就是链接到此目录的
  • /usr/lcoal:系统管理员在本机自行安装下载的软件,建议安装到这个目录,该目录也会有bin、etc、include、lib等目录
  • /usr/sbin:非系统正常运行所需要的系统的命令,最常见的就是服务器命令,不过基本上与 /sbin也差不多;
  • /usr/share:放置共享文件,例如 man、doc、zoneinfo等等

6.5.1、第二部分:FHS 建议可以存在的目录

  • /usr/games:游戏相关的目录
  • /usr/include: c/cpp 的头文件
  • /usr/libexec:某些不被普通使用者惯用的软件或脚本,大部分是X window 下的操作命令
  • /usr/lib<qual>:与 /lib<qual> 功能相似
  • /usr/src/:一般源代码都放在该目录,Linux 核心代码一般建议放置 /usr/src/linux 目录下

6.6、/var 目录存放的内容

/var 目录包括 缓存、登录日志、软件产生的日志,程序锁文件、运行文件等等都存在该目录

6.6.1、第一部分:FHS 要求必须要存在的目录

  • /var/cache: 应用程序运行过程中产生的缓存
  • /var/lib:程序本身运行过程中需要用到的文件,例如 mysql 的文件放置在 /var/lib/mysql
  • /var/lock: 一些文件或设备只能被一个程序所使用,就需要上锁,就会生成文件咋i这个目录之中;
  • /var/log: 这里放置的登录日志:/var/log/messages/var/log/wtmp
  • /var/mail: 这里放置个人邮件的目录,也被放置到 /var/spool/mail,这两个目录互为链接有时候
  • /var/run/ :某些程序会将他们的 PID 放置在该目录下,至于PID 位们会在后面章节详细讲解到,这个目录连接到 /run 目录
  • /var/spool:这个目录放置等待其他程序使用的资料,通常使用后就会被删除

不同发行版的差异

  • Centos 的网络配置文件 /etc/sysconfig/network-scripts/目录
  • SuSE 的网络配置文件 /etc/sysconfig/network 目录

目前 Centos 7 的情况

  • /bin --> /usr/bin
  • /sbin --> /usr/sbin
  • /lib --> /usr/lib
  • /lib64 --> /usr/lib64
  • /var/lock --> /run/lock
  • /var/run --> /run

6.7、目录树(directory tree)

目录树的特征

  • 目录树的开始为 根目录(/, root)
  • 每一个目录不止能使用本地分区的文件系统,也可以使用网络的文件系统,也就是说可以利用 Network File System(NFS)服务挂载目录
  • 每个文件在此目录树的文件名都是独一无二的;

6.8、绝对路径和相对路径

文件的路径分为了 绝对路径(absolute)和相对路径(relative)。

  • 绝对路径(absolute):使用 / 开始的文件名或目录名。例如 /root
  • 相对路径(relative):相对路径相对当前路径。例如 ./home 或者 ../../home

两个特殊的目录

  • .:代表当前目录,也可以使用 ./来表示
  • ..:代表上一级目录,也可以使用 ../来表示

七、Linux Standard Base(LSB)

7.1、LSB 简介

Linux Standard Base(LSB) 目前是 FSG(Free Standards Group) 的最为活跃的工作组,使命就是开发一系列的标准来增强 Linux 发行版的兼容性,使得各个软件都可以很好地在兼容LSB标准的系统上运行;

LSB 以 POSIX 和 SUS 标准为基础,并对其他领域中的源代码进行了扩充;

LSB 制定了应用程序与运行环境之间的二进制接口

  • Single UNIX Specification(SUS)
  • System V Interface Definition(SVID)
  • compilers for the Intel Itanium processor
  • C++ ABI
  • System V Application Binary Interface(ABI)

LSB目前支持7种体系结构:IA32、IA64、X86_64、PPC32、PPC64、S390、S390x

7.2、如何查看

我们可以使用 uname 命令 或者 lsb_release 命令来查看

7.2.1、uname

[root@10 ~]# uname -a. # 查看所有信息
Linux 10.0.2.15 4.18.0-240.1.1.el8_3.x86_64 #1 SMP Thu Nov 19 17:20:08 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@10 ~]# uname -r # 查看内核版本
4.18.0-240.1.1.el8_3.x86_64
[root@10 ~]# uname -m # 查看当前系统的体系结构
x86_64。
[root@10 ~]# 

7.2.2、lsb_release

[root@10 ~]# yum install redhat-lsb -y
[root@10 ~]# lsb_release -a
LSB Version:	:core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID:	CentOS
Description:	CentOS Linux release 8.5.2111
Release:	8.5.2111
Codename:	n/a

7.2.3、查看文件

[root@10 ~]# cat /etc/redhat-release 
CentOS Linux release 8.5.2111

相关文章:

【跟小嘉学 Linux 系统架构与开发】四、文件和目录的权限

系列文章目录 【跟小嘉学 Linux 系统架构与开发】一、学习环境的准备与Linux系统介绍 【跟小嘉学 Linux 系统架构与开发】二、Linux发型版介绍与基础常用命令介绍 【跟小嘉学 Linux 系统架构与开发】三、如何查看帮助文档 【跟小嘉学 Linux 系统架构与开发】四、文件和目录的权…...

ubuntu18.04图形界面卡死,鼠标键盘失灵, 通过MAC共享网络给Ubuntu解决!

ubuntu18.04图形界面卡死&#xff0c;鼠标键盘失灵&#xff0c; 通过MAC共享网络给Ubuntu解决&#xff01; 1. 尝试从卡死的图形界面切换到命令行界面2. 进入bios和grub页面3. 更改Grub中的设置&#xff0c;以进入命令行4. 在命令行页面解决图形界面卡死的问题5. Mac共享WI-FI网…...

ESG认证(ESG=环境、社会和治理 Environmental, Social, and Governance)

什么是ESG认证 ESG认证是指根据企业在环境、社会和治理&#xff08;Environmental, Social, and Governance&#xff09;方面的表现而设立的一种评价或评级体系。 环境&#xff08;Environmental&#xff09;&#xff1a;这一维度关注企业如何管理其对环境的影响&#xff0c;包…...

Cesium Viewer 类学习

Viewer提供了创建和控制3D场景所需的所有基本功能&#xff0c;包括加载3D模型、添加图像覆盖物、设置相机位置和方向、处理用户输入等。 构造函数&#xff1a; new Cesium.Viewer(container, options) 是用来创建一个新的 Cesium 视图器&#xff08;Viewer&#xff09;实例的…...

第十四届省赛大学B组(C/C++)子串简写

原题链接&#xff1a;子串简写 程序猿圈子里正在流行一种很新的简写方法&#xff1a; 对于一个字符串&#xff0c;只保留首尾字符&#xff0c;将首尾字符之间的所有字符用这部分的长度代替。 例如 internationalization 简写成 i18n&#xff0c;Kubernetes 简写成 K8s&#…...

深入浅出 -- 系统架构之微服务架构

1.1 微服务的架构特征&#xff1a; 单一职责&#xff1a;微服务拆分粒度更小&#xff0c;每一个服务都对应唯一的业务能力&#xff0c;做到单一职责 自治&#xff1a;团队独立、技术独立、数据独立&#xff0c;独立部署和交付 面向服务&#xff1a;服务提供统一标准的接口&…...

YoloV8改进策略:下采样改进|自研下采样模块(独家改进)|疯狂涨点|附结构图

摘要 本文介绍我自研的下采样模块。本次改进的下采样模块是一种通用的改进方法,你可以用分类任务的主干网络中,也可以用在分割和超分的任务中。已经有粉丝用来改进ConvNext模型,取得了非常好的效果,配合一些其他的改进,发一篇CVPR、ECCV之类的顶会完全没有问题。 本次我…...

Python从0到100(十):Python集合介绍及运用

一、集合定义 定义&#xff1a; 由不同元素组成的集合&#xff0c;集合是一组无序排列 可hash值&#xff0c;可作为字典的key。 特性&#xff1a; 集合的目的是将不同的值存放在一起&#xff0c;不同的集合间用来做关系运算&#xff0c;无须纠结于集合中的单个值。 &#xff0…...

实用技巧:如何取消app的截屏禁用

因为我想要在小鹅通App做笔记,但是被小鹅通App禁用截屏了,这真是一个很糟糕的使用体验,虽然可能是为了保护商家权益…… 方法1 可以让商家设置课程可以截屏 方法2 手机root,安装Xposed框架,利用Xposed框架上面的插件我们可以对手机进行高度定制化,而安装Xposed框架的…...

【氮化镓】GaN SP-HEMT的栅极可靠性

概括总结&#xff1a; 本文研究了氮化镓&#xff08;GaN&#xff09;肖特基型p-栅高电子迁移率晶体管&#xff08;GaN SP-HEMT&#xff09;的栅极鲁棒性和可靠性&#xff0c;通过一种新的电路方法评估了在实际转换器中栅极电压&#xff08;VGS&#xff09;过冲波形的栅极电压应…...

Linux基础和进阶用法

Linux是一个广泛使用的开源操作系统&#xff0c;下面是一些Linux基础用法的详细介绍&#xff1a;文件和目录操作&#xff1a;ls&#xff1a;列出文件和目录的详细信息&#xff0c;包括权限、所有者、大小等。cd&#xff1a;切换到指定目录。使用cd ~返回用户主目录&#xff0c;…...

Linux运维-SHELL编程之正则表达式与流编辑处理器

Linux运维-SHELL编程之正则表达式与流编辑处理器 什么是正则表达式 正则表达式是一种用来描述字符序列的强大工具&#xff0c;通常用于字符串的匹配、搜索和替换操作。它由普通字符&#xff08;例如字母、数字&#xff09;和特殊字符&#xff08;称为元字符&#xff09;组成&…...

openGauss学习笔记-256 openGauss性能调优-使用Plan Hint进行调优-优化器GUC参数的Hint

文章目录 openGauss学习笔记-256 openGauss性能调优-使用Plan Hint进行调优-优化器GUC参数的Hint256.1 功能描述256.2 语法格式256.3 参数说明 openGauss学习笔记-256 openGauss性能调优-使用Plan Hint进行调优-优化器GUC参数的Hint 256.1 功能描述 设置本次查询执行内生效的…...

flex:1的作用是什么?

占满剩余的高度 <div classfather><div classson1></div><div classson2></div> </div>当给father添加display:flex之后&#xff0c;假设给son2添加flex:1&#xff0c;那么son2将会占满除son1之外的高度...

Mysql安装(命令方式安装)

下载mysql压缩包 Mysql可以使用界面安装&#xff0c;也可以使用命令的方式安装&#xff0c;今天我们使用命令的方式安装mysql。首先下载mysql压缩包&#xff08;下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/&#xff09;&#xff0c;解压到你想要安装的目录。 …...

Vben Admin实战-系统管理之用户管理-(第12节)

系列文章目录 第一节:Vben Admin介绍和初次运行 第二节:Vben Admin 登录逻辑梳理和对接后端准备 第三节:Vben Admin登录对接后端login接口 第四节:Vben Admin登录对接后端getUserInfo接口 第五节:Vben Admin权限-前端控制方式 第六节:Vben Admin权限-后端控制方式 第七节…...

Oracle常规操作

1、查看用户和密码 select username,password from dba_users; --修改用户和密码 alter user system identified by manager; alter user system identified by values 2D594E86F93B17A1; --解锁用户 alter user system account unlock; -- 用SYSDBA身份进入数据库,然…...

「33」如何让你的直播场景增加透视感?

「33」模糊滤镜增强背景画面透视感 在直播中,背景一直是作为一种陪衬而存在的,位于主场景的后面,其实,说得更直白一些,背景的存在就犹如“绿叶”,是为了衬托红花更加艳丽。所以…… 你通过画面背景的调整,可以从整体上对视频或图片的画面进行装饰,有助于增加画面的空间…...

Macbook文件清理软件 Mac电脑清理垃圾文件怎么清理

为了维护Macbook电脑的系统健康&#xff0c;我们需要定期给电脑进行全面清理&#xff0c;清除系统垃圾文件、软件缓存和系统内存。那么好用的Macbook文件清理软件有哪些呢&#xff1f;今天就给大家介绍几款好用的电脑清理软件并介绍Mac电脑清理垃圾文件怎么清理。 一、Macbook…...

【Java基础】Java基础知识整合

文章目录 1. 转义字符2. 变量2.1 字符串与整型相加2.2 byte和short的区别2.3 float和double的区别2.4 char类型2.5 boolean类型2.6 自动类型转换及运算2.7 强制类型转换2.8 String的转换2.9 除法运算2.10 取模规则 3. 自增4. 逻辑运算符5. 赋值运算 6. 三元运算符&#xff1a;7…...

构建集创建、售卖、转让于一体,且基于ERC721 token的NFT平台,从编写智能合约开始(Web3项目四实战之一)

NFT 全称是 non-fungible token(非同质化代币或不可篡改代币)是记录在区块链上的唯一数字标识符,用于证明所有权和真实性。NFT 的所有权记录在区块链中,所有者可以转让,从而允许 NFT 出售和交易。任何人都可以创建 NFT,创建 NFT 几乎不需要任何编码技能。NFT 通常包含对艺…...

跨境金融区块链服务平台

跨境金融服务是因企业及个人跨境经营、交易、投资、往来等活动而产生的资金使用、调拨、配置等需求&#xff0c;而提供的金融服务。近年来&#xff0c;随着我国经济的快速稳步增长和全球化经济一体化的不断深入发展&#xff0c;跨境金融业务增长迅速&#xff0c;监管也开始转化…...

运筹学经典问题(八):CVRP和VRP-TW

文章目录 问题描述问题建模决策变量数学建模基于容量的消除子环的约束 &#xff08;load-based SECs&#xff09; CVRP完整的数学模型加上时间窗限制的CVRP 问题描述 给定一个图&#xff0c;图上的点代表客户&#xff0c;边代表客户之间的路线&#xff0c;边的权重代表客户之间…...

AI与技术美术(TechArt)

AI技术与TA 人工智能&#xff08;AI&#xff09;技术在技术美术&#xff08;TechArt&#xff09;领域的应用&#xff0c;为创业者开辟了一片新的天地。技术美术作为一个跨学科领域&#xff0c;融合了传统美术和现代技术&#xff0c;特别是AI技术&#xff0c;以创造新型的艺术表…...

二叉树层序遍历 及相关题目

1&#xff0c;力扣102 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]]示例…...

【前端面试3+1】11 http和https有何不同及https的加密过程、数组有哪些方法及作用、tcp三次握手四次挥手、【分发饼干】

一、http和https有何不同&#xff1f;https的加密过程 1、不同&#xff1a; HTTP和HTTPS的主要区别在于安全性。HTTP是超文本传输协议&#xff0c;是一种用于传输数据的协议&#xff0c;但是传输的数据是明文的&#xff0c;容易被窃听和篡改。而HTTPS是在HTTP基础上加入了SSL/T…...

替代 Redis 和 Memcached:25 倍吞吐量! | 开源日报 No.213

dragonflydb/dragonfly Stars: 22.4k License: NOASSERTION Dragonfly 是一个内存数据存储&#xff0c;适用于现代应用工作负载&#xff0c;可替代 Redis 和 Memcached。与传统的内存数据存储相比&#xff0c;Dragonfly 提供了 25 倍的吞吐量、更高的缓存命中率和更低尾部延…...

Qt与OpenCV实现图像模板匹配

在 Qt 中使用 OpenCV 实现模板匹配可以通过集成 OpenCV 库和使用其相关函数来完成。以下是一般的步骤&#xff1a; 安装 OpenCV&#xff1a;首先&#xff0c;确保你已经安装了 OpenCV 库&#xff0c;并将其配置到你的开发环境中。 创建 Qt 项目&#xff1a;使用 Qt creator 或…...

OpenHarmony实战:CMake方式组织编译的库移植

以double-conversion库为例&#xff0c;其移植过程如下文所示。 源码获取 从仓库获取double-conversion源码&#xff0c;其目录结构如下表&#xff1a; 表1 源码目录结构 名称描述double-conversion/cmake/CMake组织编译使用到的模板double-conversion/double-conversion/源…...

Linux云计算之Linux基础3——Linux基本认识操作

1、终端 终端(terminal)&#xff1a;人和系统交互的必要设备&#xff0c;人机交互最后一个界面&#xff08;包含独立的输入输出设备&#xff09; 物理终端(console)&#xff1a;直接接入本机器的键盘设备和显示器虚拟终端(tty)&#xff1a;通过软件方式虚拟实现的终端。它可以…...

企业网站怎么搭建/信息流广告投放流程

对于 Python 是一门优雅的语言&#xff0c;这一点应该不会有太多人反对&#xff0c;随着我们对 CPython 实现的研究&#xff0c;不得不说 Python 的优雅一直渗透到它的底层&#xff0c;在 Python 的 C 实现这一层&#xff0c;几乎全部以 Python C API 实现&#xff0c;函数之间…...

网站规划作品/营销网站设计

海尔笔记本X3超级本拆机增加内存图文教程&#xff08;解决后盖开不了问题&#xff09;参考文章&#xff1a; &#xff08;1&#xff09;海尔笔记本X3超级本拆机增加内存图文教程&#xff08;解决后盖开不了问题&#xff09; &#xff08;2&#xff09;https://www.cnblogs.co…...

医疗行业网站备案/清远今日头条新闻

摘要 mongo 的索引非常强大&#xff0c;和关系型数据库索引没什么区别。这里主要介绍mongo索引基本知识和mongo本人在索引上的犯的错。 索引种类 单字段索引 复合索引 复合索引各个字段的顺序应该是精确匹配字段(xxx),排序字段(避免在内存中排序&#xff0c;使用index排序)&am…...

网站建设案例简介怎么写/seo优化网站推广全域营销获客公司

Qt安装Windows调试器 1. 打开网址&#xff1a;https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk&#xff0c;选择“下载安装程序”&#xff0c;下载“winsdksetup.exe”&#xff1b; 2. 打开“winsdksetup.exe”&#xff0c;按下述步骤操作&#xff…...

360免费建站永久免费/疫情二十条优化措施

时常想对工作&#xff0c;技术上的知识做一些总结&#xff0c;囿于工作繁杂&#xff0c;思路又常常信马由缰&#xff0c;总是虎头蛇尾。后来看到阮一峰老师的每周分享&#xff0c;感觉这种形式挺好&#xff1a;形式不受拘泥&#xff0c;题材灵活可以涉及技术生活各方面。 成功就…...

仿网站的ppt怎么做/网上有免费的网站吗

不是狗托不是狗托不是狗托&#xff01; 只是用着Nice&#xff0c;推荐一波 这是官网链接&#xff0c;直接点这里 敲黑板&#xff0c;看重点 1、极致的时间管理&#xff0c;值得拥有 2、独立下载安装&#xff0c;没有全家桶的捆绑 先来介绍一下它的主要功能 1、 一键自动文件…...