Необходимо скрыть символическую ссылку, не скрывая каталог, на который она ссылается

4743
A. L.

Я создал символическую ссылку (в частности, символическую ссылку, а не псевдоним Finder, за которой bash не может следовать) с каталогом в моей домашней папке с помощью ln -s link $HOME/directory& теперь я хочу скрыть ссылку в Finder, чтобы мне не приходилось просматривать Это. Обычно я хотел бы использовать chflags hidden linkдля этого, но, конечно, это повлияет на каталог, а не на ссылку. Я не могу использовать стандартную начальную точку, потому что имя самой ссылки важно для приложений, которые ее ищут, а ведущая точка меняет имя.

Поэтому мой вопрос: как скрыть символическую ссылку, не скрывая каталог, на который она ссылается, или не меняя его имя?

РЕДАКТИРОВАТЬ: я намеренно оставил свой вопрос неопределенным, потому что это небольшой эксперимент с Finder, но вот еще несколько деталей, чтобы уточнить, что именно я пытаюсь сделать.

Finder использует папку $ HOME / Desktop для самого рабочего стола, не имеет значения, является ли она ссылкой, псевдонимом или совершенно другой папкой с именем «Рабочий стол» (например, самой домашней папкой), если она находится в каталоге $ HOME. ,

Я сделал символическую ссылку на мой домашний каталог с именем «Рабочий стол», чтобы заполнить содержимое рабочего стола Finder содержимым моей домашней папки (если вы попробуете это, оно не вступит в силу, пока вы не войдете снова, также это было сделано на 10.6). Это также помещает саму символическую ссылку на мой рабочий стол, которую я не хочу видеть ни в окне Finder, ни на самом рабочем столе. Если бы я переименовал его в «.Desktop», чтобы скрыть его, он бы скрылся, но связь между моей домашней папкой и моим рабочим столом также была бы нарушена.

8
похоже, ты застрял между камнем и наковальней `:-)` nik 15 лет назад 0

4 ответа на вопрос

18
Lara Dougan
SetFile -P -a V имя файла

Флаг '-P' заставит его работать с символьной ссылкой, а не с тем, на что он указывает. Часть '-a V' включит невидимый атрибут, чтобы скрыть его в Finder.

Отлично, это отлично сработало для меня. Спасибо. A. L. 15 лет назад 0
3
user495470

Вы также можете использовать, chflags -hчтобы не следовать символическим ссылкам:

chflags -h hidden /path/to/symlink 
Стоит упомянуть, что `-H` является общим флагом для« символьных ссылок разыменования, данных в командной строке, но не тех, которые встречаются при обходе дерева »(поведение между` -L` (следовать всем символьным ссылкам) и `-P `(не используйте символические ссылки)). Это может быть источником некоторой путаницы. Blacklight Shining 10 лет назад 0
0
drvdijk

Переименовать ссылку на .link

0
Blacklight Shining

As drvdijk said, you can rename the symlink to .link. Items whose names start with dots are normally hidden from GUI file browsers (like the Finder) and most command-line programs. For example, ls won't show it unless you pass -a (show --all files) or -A (show --almost-all files).

Похожие вопросы