当我 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 “人类可读”权限