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

9

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

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

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

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

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

Алабама
источник
похоже, что ты застрял между камнем и наковальней:-)
Ник

Ответы:

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

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

Лара Дуган
источник
Отлично, это отлично сработало для меня. Спасибо.
AL
3

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

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

Как сказал drvdijk , вы можете переименовать символическую ссылку на .link. Элементы, названия которых начинаются с точек, обычно скрыты от файловых браузеров GUI (например, Finder) и большинства программ командной строки. Например, lsне будет отображаться, пока вы не передадите -a(показать --allфайлы) или -A(показать --almost-allфайлы).

Блестящий свет
источник