权限字符串 lrwxrwxrwx 是什么意思?

ida*_*ngh 13 permissions

当我 cd 到/并输入命令时:

ls -ls
Run Code Online (Sandbox Code Playgroud)

对于某些文件/文件夹,它会提供类似的输出

0 lrwxrwxrwx.   1 root   root         7 Jan 30  2018 bin -> usr/bin
Run Code Online (Sandbox Code Playgroud)

那么这究竟是lrwxrwxrwx什么呢?

Zan*_*nna 19

前导l表示此文件是symlink,相比之下,-它表示常规文件,d表示目录,以及其他不太常见的前缀

符号链接是仅包含指向另一个文件的链接的文件类型。读取符号链接读取真实文件。写入符号链接会写入真实文件。cd指向指向目录的符号链接会导致行为几乎与cd进入真实目录时发生的情况相同

许可位显示为rwxrwxrwx。所有符号链接都显示这些位,但它们是“虚拟权限”。符号链接的实际(或有效)权限是它链接到的真实文件的权限。您可以通过stat在符号链接上运行来获得真正的权限(和文件类型),例如:

$ stat -Lc '%a %A' /initrd.img
644 -rw-r--r--
Run Code Online (Sandbox Code Playgroud)
  • stat 读取文件元数据
  • -L 取消引用(跟随)符号链接
  • -c 根据指定的字符串选择输出
  • %a 八进制权限
  • %A “人类可读”权限

  • `ls` 也有一个 `-L` 选项来跟随链接。 (2认同)