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を含む説明のみを挿入します。