Что означает символ @ в именах файлов

Когда я делаю ls в каталоге /proc/PID рядом с именами файлов появляется несколько символов @. Обычно я считаю, что это означает расширенные атрибуты, но когда я делаю длинную форму ls они не появляются в том месте, которое я ожидал бы, и результат выглядит иначе, чем обычно. Я попробовал поиск по Google, но нашел только расширенное описание атрибутов. Что происходит?

 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] 

  • Как вы можете группировать символические ссылки с каталогами в выводе `ls`, но сказать разницу?
  • Что касается идентичных копий файлов gedit
  • Почему «ls -l» сообщает физический размер для каталога, когда он сообщает логический размер файла?
  • Как искать и заменять текст во всех php-файлах в каталоге и в его подкаталогах
  • ls -ld / dir, Solaris
  • Листинг номера числа результатов в `find` и` ls`
  • Найти список каталогов на один уровень в глубину от соответствующего каталога
  • Вопросительные знаки вместо национальных букв в консоли
  • echo * | xargs -n1 echo, есть ли более короткий, более элегантный способ линейного перечисления?
  • Настройка цветов LS с человеко-читаемым скриптом в tcsh
  • Опция ls -e недоступна в linux
  • Разный вывод `find | xargs ls` для той же команды в разных версиях Ubuntu
  • One Solution collect form web for “Что означает символ @ в именах файлов”

    По умолчанию 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. 

    Поэтому записи с @ являются символическими ссылками. На самом деле символическая ссылка хранит только произвольную строку, которая обычно является именем другого файла, но в вашем случае ядро ​​просто вставляет описание, содержащее внутренний идентификатор.

    Linux и Unix - лучшая ОС в мире.