ls -al 结果中的“d”是什么意思,那个插槽叫什么?

Eri*_*ski 62 ls permissions files

在 Linux 中,d第一个位置是drwxr-xr-x什么意思?可能存在的所有可能的字母是什么,它们是什么意思?

我正在尝试了解有关 Linux 文件权限系统的更多信息,并且我想查看第一个插槽的字符含义列表。

Chr*_*own 74

这意味着它是一个目录。第一个模式字段是“特殊文件”指示符;常规文件显示为-(无)。至于可能存在哪些字母,在 Linux 上存在以下几种情况:

  • d (目录)
  • c (字符设备)
  • l (符号链接)
  • p (命名管道)
  • s (插座)
  • b (块设备)
  • D (门,在Linux系统上不常见,但已移植)


Eri*_*ski 7

在 Gentoo 上,linux 文件权限 drwxrwxrwx 中的第一个字符是什么意思:

第一个字符提示您它是什么类型的对象。

第一个字符的可能值:( -, d, c, l, p, s, b, D)

- (dash) 表示文件,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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

gpmctl 是一个套接字。使用以下命令查找套接字文件:find / -type s -print 2>/dev/null

D 表示门

在我的 Gentoo 上没有找到。