ls
当我在目录中执行操作时,/proc/PID
文件名旁边会显示许多@符号。通常我会认为这意味着扩展属性,但是当我使用长形式时,ls
它们不会出现在我期望的地方,并且输出看起来与平常不同。我尝试谷歌搜索,但只找到了扩展属性描述。到底是怎么回事?
root@hashcat:/proc/29286/ns# l
ipc@ mnt@ net@ pid@ user@ uts@
root@hashcat:/proc/29286/ns#
root@hashcat:/proc/29286/ns# ls -l
total 0
lrwxrwxrwx 1 dylan dylan 0 Mar 21 21:09 ipc -> ipc:[4026531839]
lrwxrwxrwx 1 dylan dylan 0 Mar 21 21:09 mnt -> mnt:[4026531840]
lrwxrwxrwx 1 dylan dylan 0 Mar 21 21:09 net -> net:[4026531956]
lrwxrwxrwx 1 dylan dylan 0 Mar 21 21:09 pid -> pid:[4026531836]
lrwxrwxrwx 1 dylan dylan 0 Mar 21 21:09 user -> user:[4026531837]
lrwxrwxrwx 1 dylan dylan 0 Mar 21 21:09 uts -> uts:[4026531838]
答案1
默认情况下ls
不打印这些分类器。您很可能正在使用引用的别名ls -F
。 (您可以使用type ls
或type l
来检查。)
该-F
选项记录在info ls
:
‘-F’
‘--classify’
‘--indicator-style=classify’
Append a character to each file name indicating the file type.
Also, for regular files that are executable, append ‘*’. The file
type indicators are ‘/’ for directories, ‘@’ for symbolic links,
‘|’ for FIFOs, ‘=’ for sockets, ‘>’ for doors, and nothing for
regular files. Do not follow symbolic links listed on the command
line unless the ‘--dereference-command-line’ (‘-H’),
‘--dereference’ (‘-L’), or
‘--dereference-command-line-symlink-to-dir’ options are specified.
因此带有 a 的条目@
是符号链接。实际上,符号链接仅存储任意字符串,通常是另一个文件的名称,但在您的情况下,内核只是插入包含内部 id 的描述。