È necessario nascondere un collegamento simbolico senza nascondere la directory a cui si collega


9

Ho creato un link simbolico (in particolare un link simbolico e non un alias Finder che bash non può seguire) a una directory nella mia cartella home usando ln -s link $HOME/directory& ora desidero nascondere il link nel Finder in modo da non dover guardare esso. Normalmente userei chflags hidden linkper realizzare questo, ma ovviamente ciò influenzerebbe la directory, non il link. Non riesco a usare il punto iniziale standard perché il nome del collegamento stesso è importante per le applicazioni che lo cercano e un punto iniziale cambia il nome.

Quindi la mia domanda è: come posso nascondere il collegamento simbolico senza nascondere la directory a cui si collega o cambiando il suo nome?

EDIT: Ho intenzionalmente mantenuto vaga la mia domanda perché è un piccolo esperimento con il Finder, ma ecco alcuni dettagli per chiarire esattamente cosa sto cercando di fare.

Finder utilizza la cartella $ HOME / Desktop per il desktop stesso, non importa se si tratta di un collegamento, di un alias o di una cartella completamente diversa chiamata "Desktop" (come la cartella home stessa) purché sia ​​nella directory $ HOME .

Ho creato un collegamento simbolico alla mia directory home denominata "Desktop" per popolare i contenuti del desktop di Finder con i contenuti della mia cartella home (se provi questo, non avrà effetto fino a quando non accedi di nuovo, anche questo è stato fatto il 10.6). Ciò colloca naturalmente anche il collegamento simbolico sul mio desktop che non voglio vedere né in una finestra del Finder né sul desktop stesso. Se dovessi rinominarlo in ".Desktop" per nasconderlo, si nasconderebbe, ma anche il collegamento tra la mia cartella home e il mio desktop verrebbe interrotto.


sembra che tu sia bloccato tra una roccia e un luogo difficile:-)
Nik

Risposte:


18
SetFile -P -a V nomefile

Il flag '-P' lo farà funzionare sul collegamento simbolico e non su ciò a cui punta. La parte '-a V' attiva l'attributo invisibile per nasconderlo nel Finder.


Eccellente, questo ha funzionato perfettamente per me. Grazie.
AL

3

Puoi anche usare chflags -hper non seguire i symlink:

chflags -h hidden /path/to/symlink

Potrebbe valere la pena ricordare che -Hè una bandiera comune per "collegamenti simbolici di dereference forniti nella riga di comando, ma non quelli riscontrati nell'attraversamento degli alberi" (il comportamento tra -L(seguire tutti i collegamenti simbolici) e -P(non seguire collegamenti simbolici)). Potrebbe essere la fonte di un po 'di confusione.
Blacklight Shining


0

Come diceva drvdijk , puoi rinominare il link simbolico in .link. Gli elementi i cui nomi iniziano con punti sono normalmente nascosti dai browser di file GUI (come il Finder) e dalla maggior parte dei programmi da riga di comando. Ad esempio, lsnon lo mostrerà a meno che non passi -a(mostra --allfile) o -A(mostra --almost-allfile).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.