【跟小嘉学 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、查看文件
文章目录
- 系列文章目录
- @[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,*.tgz、zip等: 经过打包的压缩文件。这是因为压缩软件分别为 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和普通用户所使用,例如:cat、chmod、chown、date、mv、mkdir、cp、bash等;/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、/bin、lib 统统移动到了 /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图形界面卡死,鼠标键盘失灵, 通过MAC共享网络给Ubuntu解决! 1. 尝试从卡死的图形界面切换到命令行界面2. 进入bios和grub页面3. 更改Grub中的设置,以进入命令行4. 在命令行页面解决图形界面卡死的问题5. Mac共享WI-FI网…...
ESG认证(ESG=环境、社会和治理 Environmental, Social, and Governance)
什么是ESG认证 ESG认证是指根据企业在环境、社会和治理(Environmental, Social, and Governance)方面的表现而设立的一种评价或评级体系。 环境(Environmental):这一维度关注企业如何管理其对环境的影响,包…...
Cesium Viewer 类学习
Viewer提供了创建和控制3D场景所需的所有基本功能,包括加载3D模型、添加图像覆盖物、设置相机位置和方向、处理用户输入等。 构造函数: new Cesium.Viewer(container, options) 是用来创建一个新的 Cesium 视图器(Viewer)实例的…...
第十四届省赛大学B组(C/C++)子串简写
原题链接:子串简写 程序猿圈子里正在流行一种很新的简写方法: 对于一个字符串,只保留首尾字符,将首尾字符之间的所有字符用这部分的长度代替。 例如 internationalization 简写成 i18n,Kubernetes 简写成 K8s&#…...
深入浅出 -- 系统架构之微服务架构
1.1 微服务的架构特征: 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责 自治:团队独立、技术独立、数据独立,独立部署和交付 面向服务:服务提供统一标准的接口&…...
YoloV8改进策略:下采样改进|自研下采样模块(独家改进)|疯狂涨点|附结构图
摘要 本文介绍我自研的下采样模块。本次改进的下采样模块是一种通用的改进方法,你可以用分类任务的主干网络中,也可以用在分割和超分的任务中。已经有粉丝用来改进ConvNext模型,取得了非常好的效果,配合一些其他的改进,发一篇CVPR、ECCV之类的顶会完全没有问题。 本次我…...
Python从0到100(十):Python集合介绍及运用
一、集合定义 定义: 由不同元素组成的集合,集合是一组无序排列 可hash值,可作为字典的key。 特性: 集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无须纠结于集合中的单个值。 ࿰…...
实用技巧:如何取消app的截屏禁用
因为我想要在小鹅通App做笔记,但是被小鹅通App禁用截屏了,这真是一个很糟糕的使用体验,虽然可能是为了保护商家权益…… 方法1 可以让商家设置课程可以截屏 方法2 手机root,安装Xposed框架,利用Xposed框架上面的插件我们可以对手机进行高度定制化,而安装Xposed框架的…...
【氮化镓】GaN SP-HEMT的栅极可靠性
概括总结: 本文研究了氮化镓(GaN)肖特基型p-栅高电子迁移率晶体管(GaN SP-HEMT)的栅极鲁棒性和可靠性,通过一种新的电路方法评估了在实际转换器中栅极电压(VGS)过冲波形的栅极电压应…...
Linux基础和进阶用法
Linux是一个广泛使用的开源操作系统,下面是一些Linux基础用法的详细介绍:文件和目录操作:ls:列出文件和目录的详细信息,包括权限、所有者、大小等。cd:切换到指定目录。使用cd ~返回用户主目录,…...
Linux运维-SHELL编程之正则表达式与流编辑处理器
Linux运维-SHELL编程之正则表达式与流编辑处理器 什么是正则表达式 正则表达式是一种用来描述字符序列的强大工具,通常用于字符串的匹配、搜索和替换操作。它由普通字符(例如字母、数字)和特殊字符(称为元字符)组成&…...
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之后,假设给son2添加flex:1,那么son2将会占满除son1之外的高度...
Mysql安装(命令方式安装)
下载mysql压缩包 Mysql可以使用界面安装,也可以使用命令的方式安装,今天我们使用命令的方式安装mysql。首先下载mysql压缩包(下载地址:https://dev.mysql.com/downloads/mysql/),解压到你想要安装的目录。 …...
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电脑的系统健康,我们需要定期给电脑进行全面清理,清除系统垃圾文件、软件缓存和系统内存。那么好用的Macbook文件清理软件有哪些呢?今天就给大家介绍几款好用的电脑清理软件并介绍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. 三元运算符:7…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
