Mostra tutti i file nascosti, ma nascondi alcuni

2

Sto cercando di mostrare tutti i file e nasconderne alcuni. So del comando:

defaults write com.apple.Finder AppleShowAllFiles -bool YES

Ma questo mostra anche i file che ho nascosto con chflags hidden . Voglio nascondere quei file. È possibile cambiare il suo nome in un file ._, oppure non è sicuro? Non voglio chflags nohidden manualmente uno per uno. C'è un modo per farlo?

Mac OS X 10.9.5 (Mavericks)

    
posta TheBro21 27.05.2015 - 10:19
fonte

1 risposta

5

Il .filename era inteso da unix per rappresentare nomi di file invisibili. Ancor prima che esistessero le GUI, il comando ls per impostazione predefinita non elencava questi file per gli utenti normali. Non c'è motivo per cui non è possibile aggiungere un prefisso . ai propri nomi di file.

D'altra parte, l'utilizzo di ._filename sembra essere univoco per OS X. Un uso di questi nomi di file è quello di memorizzare le informazioni aggiuntive relative ai file con lo stesso nome meno il prefisso ._ . OS X ha persino un comando speciale dot_clean per eliminare o unire questi tipi di file.

Nella mia opzione, non rischierei deliberatamente di usare il prefisso ._ nei miei nomi di file. È possibile ottenere risultati accettabili ora, ma le versioni future di OS X potrebbero interpretare tali nomi in modo diverso.

Ad esempio, supponiamo che tu crei un file chiamato ._dave . Più tardi OS X potrebbe finire per creare un file chiamato ._._dave ?

Solo FYI: È possibile creare un servizio che consente di impostare il flag di file nascosto per i file evidenziati utilizzando l'applicazione Finder. Le istruzioni sono fornite di seguito.

  1. Apri l'applicazione Automator.
  2. Dalla barra dei menu scegli "File", quindi "Nuovo".
  3. Seleziona "Servizio" e fai clic su "Scegli".
  4. Trascina l'azione "Esegui AppleScript" dove dice "Trascina azioni o file qui per creare il tuo flusso di lavoro ".
  5. Imposta "Servizio riceve text selezionato in any application " a "Il servizio riceve files or folders selezionato in Finder ".
  6. Sostituisci il codice

    on run {input, parameters}
    
        (* Your script goes here *)
    
        return input
    end run
    

    con

    on run {input, parameters}
        try
            repeat with currentfile in input
                try
                    do shell script "chflags hidden " & quoted form of POSIX path of currentfile
                end try
            end repeat
        end try
        return input
    end run
    
  7. Salva servizio come "Imposta bandiera nascosta".
  8. Chiudi tutte le finestre di Automator e chiudi l'applicazione di Automator.

Il servizio dovrebbe essere stato salvato nella cartella ~/Library/Services con il nome Set Hidden Flag.workflow . In caso contrario, spostalo lì.

Ora quando evidenzi uno o più file utilizzando l'applicazione Finder, puoi fare clic con il tasto destro e selezionare "Imposta bandiera nascosta" per nascondere dall'applicazione Finder.

Un servizio simulato denominato "Ripristina bandiera nascosta" può essere creato utilizzando gli stessi passaggi, con le seguenti due eccezioni. Al punto 6, cambia

do shell script "chflags hidden " & quoted form of POSIX path of current file

a

do shell script "chflags nohidden " & quoted form of POSIX path of current file

Al punto 7, cambia per salvare come "Ripristina file nascosti".

Naturalmente, non è possibile evidenziare i file nascosti a meno che l'applicazione Finder non li visualizzi. Per farlo vedi la mia risposta a Hotkey per mostrare file e cartelle nascosti nella finestra di dialogo Apri file?

    
risposta data 27.05.2015 - 12:05
fonte

Leggi altre domande sui tag