파일 이름의 @ 기호는 무엇을 의미합니까? [중복]

파일 이름의 @ 기호는 무엇을 의미합니까? [중복]

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가 포함된 설명만 삽입합니다.

관련 정보