it-swarm-eu.dev

Comando per sbloccare i file "bloccati" su OS X

Ho copiato molti file di sola lettura da un sistema Windows sul mio Mac. Quando visualizzo le informazioni per ogni file usando "Ottieni informazioni", posso vedere che sono bloccate. Sto scrivendo uno script bash per copiare su alcuni file e ricevo un errore che dice "Operazione non consentita" Quindi, prima devo sbloccare i file. Dato che estraggo spesso file dal sistema Windows, voglio che il mio script sblocchi questi file.

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

90
Michael Prescott

Per sbloccare i file puoi usare:

chflags -R nouchg /PATH/TO/DIRECTORY/WITH/LOCKED/FILES/
  • chflags = cambia i flag su file/cartelle come "locked"
  • -R = ricorsivo o per tutto e segui le directory all'interno della directory specificata
  • nouchg = significa che il file può essere cambiato
  • /PATH/ = ovviamente è il percorso dei file che vuoi modificare. Qualcosa come: ~/Sites/mysite/directory/with/locked/files/ funziona anche.
130
Chealion

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

SetFile -a l file.ext

-a l disattiva il bit per l'attributo bloccato. Puoi installare SetFile scaricando il pacchetto Strumenti riga di comando dalle preferenze di Xcode o da developer.Apple.com/downloads .

15
John T

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

Nel terminale cd alla directory

Questo comando trova e will stampa un elenco di essi .

$ find . -flags uchg

Questo comando li sblocca .

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

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

14
Mamie McCall