Потрібно приховати символічне посилання, не приховуючи каталог, на який він посилається


9

Я створив символічне посилання (конкретно символічне посилання & не псевдонім Finder, який баш не може слідувати) до каталогу в моїй домашній папці, використовуючи ln -s link $HOME/directory& тепер я хочу приховати посилання в Finder, тому мені не потрібно дивитись це. Зазвичай я б використовував це chflags hidden linkдля досягнення, але, звичайно, це вплине на каталог, а не на посилання. Я не можу використовувати стандартну провідну крапку, оскільки саме ім'я посилання важливе для програм, які шукають його, а провідна точка змінює ім'я.

Отже, моє запитання полягає в тому, як приховати символічне посилання, не приховуючи каталог, на який він посилається, або змінивши його ім'я?

EDIT: Я навмисно тримав своє питання розпливчастим, оскільки це невеликий експеримент із Finder, але ось ще кілька деталей, щоб уточнити, що саме я намагаюся зробити.

Finder використовує папку $ HOME / Desktop для самого робочого столу, не має значення, чи це посилання, псевдонім або зовсім інша папка під назвою "Desktop" (наприклад, сама домашня папка), якщо вона знаходиться в каталозі $ HOME .

Я створив символічне посилання на свій домашній каталог під назвою «Настільний», щоб заповнити вміст робочого столу Finder вмістом моєї домашньої папки (якщо ви спробуєте це, воно не набере чинності, поки ви знову не ввійдете в систему, також це було зроблено на 10.6). Це також розміщує символічне посилання на моєму робочому столі, звичайно, яке я не хочу бачити ні у вікні Finder, ні на самому робочому столі. Якби я перейменував його на ".Desktop", щоб приховати його, він буде прихований, але зв'язок між моєю домашньою папкою та моїм робочим столом також буде порушений.


схожий на те, що ти застряг між скелею і важким місцем:-)
nik

Відповіді:


18
SetFile -P -a V ім'я файлу

Прапор '-P' змусить його працювати на симпосилання, а не на те, на що вказує. Частина '-a V' включить невидимий атрибут, щоб сховати його у Finder.


Відмінно, це прекрасно працювало для мене. Дякую.
AL

3

Ви також можете використовувати, chflags -hщоб не переходити до посилань:

chflags -h hidden /path/to/symlink

Можливо, варто згадати, що -Hце загальний прапор для "посилань на відмінність", вказаних у командному рядку, але не тих, що зустрічаються в обході дерева "(поведінка між ними -L(дотримуйтесь усіх посилань) та -P(не дотримуйтесь жодних символьних посилань)". Це може бути джерелом певної плутанини.
Blacklight Shining


0

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.