Skip to content
XiaoTuPo
Go back

Linux 中的“文件模式”学习笔记

xiaotupo

Linux 中的“文件模式”,就是我们用 ls -al 命令在终端查看文件信息时,在最左侧看到的一串字符如:“-rw-r—r—” ,这个就是文件的模式。

当然除了“文件模式”这个名字外,还可以叫做如下:

下面就详细讲解下“文件模式”中每一位的作用。

文件类型位

文件模式字符串的第一位位文件类型,下面是 Linux 中常见的文件类型及其显示字符:

显示字符类型名称说明常见示例
-普通文件(regular file)最常见的文件类型test.txt
d目录(directory)存放文件名的特殊文件src/
l符号链接(symbolic link)指向另一个路径link → test.txt
c字符设备(character device)串口、终端等/dev/ttyUSB0
b块设备(block device)硬盘等块设备/dev/sda
p管道(FIFO)进程间通信mkfifo 创建
s套接字(socket)进程通信 socket 文件/var/run/docker.sock

权限位

文件模式符号一共有 10 位,第一位为文件类型,剩余的 9 位位权限位,10位文件模式字符划分如下:

[文件类型][用户权限][组权限][其他人权限]

- rwx rwx r-x

   └── 其他人(others)
   └────── 组(group)
 └────────── 用户(owner)
└──────────── 文件类型

后9位分为3组,每一组 3 位固定顺序:r w x,分别对于:

字符含义数值
r读权限4
w写权限2
x执行权限1
-没有该权限0

chmod 修改文件模式的命令

基本用法:

chmod [选项] 模式 文件名

两种模式:“数字模式”和“符号模式”。

数字模式

chmod 755 file

表示当前用户用于读写和执行的权限,组用户和其它用户拥有读和执行的权限。

符号模式(更灵活)

格式:

chmod [u/g/o/a][+/-/=][rwx] file

含义:

字母代表
u用户(owner)
g组(group)
o其他人(others)
a所有人(all)

操作符:

符号含义
+添加权限
-删除权限
=重新设置

例子

添加执行权限:

chmod +x script.sh

等价于:

chmod a+x script.sh

只给用户添加执行权限:

chmod u+x file

删除组写权限:

chmod g-w file

设置用户位 rw,其它清空:

chmod u=rw file

递归修改目录

chmod -R 755 folder

⚠️注意: 目录执行权限(x)非常重要,没有 x 无法进入目录。

和 chown 的区别

很多人容易混淆:

命令修改内容
chmod修改权限
chown修改所属用户
chgrp修改所属组

以上就是关于“文件模式”的相关说明。


Share this post on:

Previous Post
记录自己常用的 Docker 命令
Next Post
Hugo 静态建站笔记