Comando para desbloquear arquivos "bloqueados" no OS X

83

Copiei muitos arquivos somente leitura de um sistema Windows para o meu Mac. Ao visualizar as informações de cada arquivo usando "Obter informações", posso ver que elas estão bloqueadas. Eu estou escrevendo um script bash para copiar alguns arquivos e estou recebendo um erro que diz "Operação não permitida" Então, primeiro eu preciso desbloquear os arquivos. Como vou coletar arquivos do sistema Windows com frequência, quero que meu script libere esses arquivos.

Qual é o comando do terminal para desbloquear arquivos "Bloqueados" no OSX?

    
por Michael Prescott 14.09.2009 / 04:15

3 respostas

122

Para desbloquear arquivos, você pode usar:

chflags -R nouchg /PATH/TO/DIRECTORY/WITH/LOCKED/FILES/
  • chflags = alterar sinalizadores em arquivos / pastas, como "bloqueado"
  • -R = recursivo ou para tudo e siga os diretórios dentro do diretório especificado
  • nouchg = significa que o arquivo pode ser alterado
  • /PATH/ = claro, é o caminho para os arquivos que você deseja alterar. Algo como: ~/Sites/mysite/directory/with/locked/files/ funciona como bem.
por 14.09.2009 / 04:26
15

Você também pode usar SetFile -a l , mesmo que faça o mesmo que chflags nouchg :

SetFile -a l file.ext

-a l desinstala o bit do atributo bloqueado. Você pode instalar o SetFile baixando o pacote de ferramentas de linha de comando das preferências do Xcode ou de developer.apple.com/downloads .

    
por 14.09.2009 / 04:30
12

Isso é útil se você quiser pesquisar um diretório inteiro e desbloquear todos os arquivos.

No terminal cd para o diretório

Este comando encontra e irá imprimir uma lista deles .

$ find . -flags uchg

Este comando desbloqueia-os .

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

Você pode usar o primeiro comando para checar se todos os arquivos estão desbloqueados depois de executar o segundo comando, voilà!

    
por 20.09.2013 / 05:23