2009-09-14 02:15:23 +0000 2009-09-14 02:15:23 +0000
102
102

Comando per sbloccare i file "bloccati" su OS X

Ho copiato molti file di sola lettura da un sistema Windows al mio Mac. Quando visualizzo le informazioni per ogni file usando “Get Info”, posso vedere che sono bloccati. Sto scrivendo uno script bash per copiare alcuni file e sto ottenendo un errore che dice “Operazione non consentita” Quindi, prima ho bisogno di sbloccare i file. Dato che estrarrò spesso i file dal sistema Windows, voglio che il mio script sblocchi questi file.

Qual è il comando del terminale per sbloccare i file “bloccati” su OSX?

Risposte (4)

144
144
144
2009-09-14 02:26:55 +0000

Per sbloccare i file potete usare:

chflags -R nouchg /PATH/TO/DIRECTORY/WITH/LOCKED/FILES/
  • chflags = cambiare i flag sui file/cartelle come “locked”
  • -R = ricorsivo o per tutto e seguire le directory all'interno della directory specificata
  • nouchg = significa che il file può essere cambiato
  • /PATH/ = naturalmente è il percorso dei file che vuoi cambiare. Qualcosa come: ~/Sites/mysite/directory/with/locked/files/ funziona anche.
15
15
15
2013-09-20 03:23:10 +0000

Questo è utile se volete cercare un'intera directory e sbloccare tutti i file.

Nel terminale cd alla directory

Questo comando trova e ne stampa una lista.

$ find . -flags uchg

Questo comando sblocca i file.

$ find . -flags uchg -exec chflags nouchg {} \;

Potete usare il primo comando per controllare che tutti i file siano sbloccati dopo aver eseguito il secondo comando, voilà !

15
15
15
2009-09-14 02:30:00 +0000

Potete anche usare SetFile -a l, anche se fa la stessa cosa di chflags nouchg:

SetFile -a l file.ext

-a l annulla il bit per l'attributo bloccato. Potete installare SetFile scaricando il pacchetto Command Line Tools dalle preferenze di Xcode o da developer.apple.com/downloads .

2
2
2
2019-05-15 08:32:33 +0000

Ci sono in realtà due flag di blocco che possono essere impostati su un file: uchg e schg. Un file che ha il flag uchg impostato è immutabile dagli utenti normali ma è mutabile dal sistema. Un file che ha il flag schg impostato è immutabile da chiunque. Entrambi i flag possono essere impostati allo stesso tempo.

Per vedere quali flag sono impostati su un file, usate

ls -lO FILE

Questa è una lettera maiuscola o, non zero.

Per sbloccare definitivamente un file, dovreste eseguire

chflags nouchg,noschg FILE

poiché se entrambi i flag sono impostati e ne rimuovete solo uno, sarà ancora bloccato.