Знак @ после символической ссылки на каталог в puTTy

Знак @ после символической ссылки на каталог в puTTy

Что означает знак @ в puTTy, если он стоит сразу после каталога?

бывший.

pdf/
public_html/
video@

Это символическая ссылка, однако на другом сервере эта же символическая ссылка не имеет знака @ после себя.

решение1

Это разница между:

$ лс

и

$ ls -F

но это не замазка.

решение2

Я знаю, что на этот вопрос уже был дан ответ, но мне бы хотелось добавить некоторые подробности, а в окне комментариев сложно давать подробные объяснения.

Команда lsпринимает -Fфлаг, который украшает определенные типы файлов конечными символами. Каталоги принимают /, исполняемые файлы *, символические ссылки @. Если вы печатаете lsна двух машинах и смотрите на одну и ту же файловую систему на обеих, но видите разные вещи, я думаю, у вас есть псевдоним или функция для lsна одной из них, которая не соответствует другой. На обеих машинах введите type lsи я уверен, что вы получите разный вывод на обеих машинах.

Также в своем комментарии вы говорите о жестких ссылках и символических ссылках. Они очень разные. Символическая ссылка — это указатель на файл или каталог. Она очень похожа на ярлык в Windows (хотя UNIX делал это лучше, чем Windows, которая плохо копировала). Она может указывать куда угодно: на этот диск, на другой диск. Даже то, на что она указывает, может там быть, а может и не быть. Если у меня есть символическая ссылка, указывающая на файл/каталог, который не существует, она называется висячей символической ссылкой.

Жесткая ссылка — это имя файла. Представьте себе файл, состоящий из двух частей. Есть данные, фактическая информация, которую вы помещаете в файл. Ваш текст, песня, что угодно. Или ничего, для пустого файла. Затем подумайте о метаданных, информации о вашем файле. Каково его имя? Какой это тип файла (файл, каталог, fifo, символическая ссылка и т. д.), Когда я последний раз писал в него, каковы права доступа к файлу? Эти метаданные — это жесткая ссылка. В UNIX у них нет однозначного отношения между этим именем и другими метаданными и фактическим файлом. Я могу создать больше таких ссылок — разные имена, разные местоположения, разные права доступа. Это то, что называется жесткими ссылками. Система всегда создает одну из этих жестких ссылок, когда вы создаете файл, но hard-linkingобычно ссылается только тогда, когда вы вручную создаете другую с помощью ln. Жесткая ссылка может находиться только в той же файловой системе, что и данные, еще одно отличие от символических ссылок. Системы Linux также не позволяют создавать жесткие ссылки на каталоги, поскольку это может привести к образованию циклов в структуре каталогов и вызвать реальные проблемы (MacOSX немного смягчает это правило, поскольку использует жесткие ссылки, чтобы сделать резервные копии Time Machine(tm) более невидимыми для пользователя).

решение3

Введите man ls, чтобы прочитать о значении символов, указанных при перечислении файлов. @означает, что файл являетсясимволическая ссылка.

Связанный контент