在Linux中,d
第一个位置的 是什么意思drwxr-xr-x
?那里可能出现的所有字母是什么,它们的含义是什么?
我正在尝试了解有关 Linux 文件权限系统的更多信息,并且我想查看第一个插槽的字符含义列表。
答案1
这意味着它是一个目录。第一个模式字段是“特殊文件”指示符;常规文件显示为-
(无)。至于可能存在哪些字母,在 Linux 上存在以下字母:
d
(目录)c
(字符设备)l
(符号链接)p
(命名管道)s
(插座)b
(块设备)D
(门,在Linux系统上不常见,但已被移植)
答案2
在 Gentoo 上,linux 文件权限 drwxrwxrwx 中的第一个字符的含义是:
第一个字符会提示您该对象的类型。
第一个字符的可能值:( -
, d
, c
, l
, p
, s
, b
, D
)
- (破折号) 表示文件,d 表示目录。
el@angeliqe ~/tmpdir $ mkdir my_empty_directory
el@angeliqe ~/tmpdir $ touch myfile.txt
el@angeliqe ~/tmpdir $ ls -al
total 16
drwxrwxr-x 3 el users 4096 Dec 21 13:06 .
drwx--x--x 9 el users 4096 Dec 21 11:47 ..
drwxrwxr-x 3 el users 4096 Dec 21 11:54 my_empty_directory
-rw-rw-r-- 1 el users 182 Dec 21 11:45 myfile.txt
my_empty_directory
有一个“d”,是一个目录,myfile.txt
有一个“-”,是一个普通的文本文件。
c表示字符设备文件
el@angeliqe /dev $ ls -al
total 4
drwxr-xr-x 12 root root 4080 Dec 19 21:18 .
drwxr-xr-x 20 root root 4096 Nov 3 19:00 ..
crw-rw---- 1 root tty 7, 133 Nov 24 10:13 vcsa5
vcsa5是一个字符设备文件。使用以下命令查找字符设备文件:find / -type c -print 2>/dev/null
b 表示块设备
el@angeliqe /dev $ ls -al
total 4
drwxr-xr-x 12 root root 4080 Dec 19 21:18 .
drwxr-xr-x 20 root root 4096 Nov 3 19:00 ..
brw-rw---- 1 root disk 8, 0 Nov 24 10:13 sda
sda是块设备。使用以下命令查找块设备文件:find / -type b -print 2>/dev/null
l 表示链接
el@angeliqe ~/tmpdir $ touch myfile.txt
el@angeliqe ~/tmpdir $ ln -s myfile.txt myfile2.txt
el@angeliqe ~/tmpdir $ ls -al
total 8
drwxrwxr-x 2 el users 4096 Dec 21 13:23 .
drwx--x--x 9 el users 4096 Dec 21 13:22 ..
-rw-rw-r-- 1 el users 0 Dec 21 13:23 myfile.txt
lrwxrwxrwx 1 el users 10 Dec 21 13:23 myfile2.txt -> myfile.txt
myfile2.txt
是到 的符号链接myfile.txt
。使用以下命令查找符号链接文件:find / -type l -print 2>/dev/null
p 表示命名管道
el@angeliqe /dev $ ls -al
total 4
drwxr-xr-x 12 root root 4080 Dec 19 21:18 .
drwxr-xr-x 20 root root 4096 Nov 3 19:00 ..
prw------- 1 root root 0 Nov 24 10:13 initctl
initctl 是一个命名管道。使用以下命令查找管道文件:find / -type p -print 2>/dev/null
s 是一个套接字
el@angeliqe /dev $ ls -al
total 4
drwxr-xr-x 12 root root 4080 Dec 19 21:18 .
drwxr-xr-x 20 root root 4096 Nov 3 19:00 ..
srwxrwxrwx 1 root root 0 Nov 24 10:13 gpmctl
gpmctl 是一个套接字。使用以下命令查找套接字文件:find / -type s -print 2>/dev/null
D表示门
在我的 Gentoo 上没有找到。