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

Comando para desbloquear ficheiros "Bloqueados" no OS X

Copiei muitos ficheiros só de leitura de um sistema Windows para o meu Mac. Ao ver as Informações para cada ficheiro usando “Obter Informações”, posso ver que estão bloqueadas. Estou a escrever um guião para copiar sobre alguns ficheiros e estou a receber um erro que diz “Operação não permitida” Portanto, primeiro preciso de desbloquear os ficheiros. Uma vez que vou puxar ficheiros do sistema Windows frequentemente, quero que o meu guião desbloqueie estes ficheiros.

Qual é o comando do terminal para desbloquear ficheiros “Bloqueados” no OSX?

Respostas (4)

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

Para desbloquear ficheiros pode utilizar:

chflags -R nouchg /PATH/TO/DIRECTORY/WITH/LOCKED/FILES/
  • chflags = mudar bandeiras em ficheiros/pastas tais como “locked”
  • -R = recursivo ou para tudo e seguir directórios dentro do directório especificado
  • nouchg = significa que o ficheiro pode ser alterado
  • /PATH/ = é claro que é o caminho para os ficheiros que pretende alterar. Algo do género: ~/Sites/mysite/directory/with/locked/files/ também funciona.
15
15
15
2013-09-20 03:23:10 +0000

Isto é útil se quiser pesquisar um directório inteiro e desbloquear todos os ficheiros.

No terminal cd para o directório

Este comando encontra e irá imprimir uma lista deles.

$ find . -flags uchg

Este comando desbloqueia-os.

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

Pode usar o primeiro comando para verificar se todos os ficheiros estão desbloqueados após executar o segundo comando, voilà !

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

Também pode usar SetFile -a l, embora faça a mesma coisa que chflags nouchg:

SetFile -a l file.ext

-a l desajusta o bit para o atributo bloqueado. Pode instalar o SetFile descarregando o pacote de Ferramentas de Linha de Comando a partir das preferências do Xcode ou a partir de developer.apple.com/downloads .

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

Na realidade, existem duas bandeiras de bloqueio que podem ser colocadas num ficheiro: uchg e schg. Um ficheiro que tem o conjunto uchg é imutável por utilizadores normais, mas é mutável pelo sistema. Um ficheiro que tem o conjunto de schg e bandeiras é imutável por qualquer pessoa. Ambas as bandeiras podem ser configuradas ao mesmo tempo.

Para ver quais as bandeiras que estão colocadas num ficheiro, usar

ls -lO FILE

Isso é uma letra maiúscula o, não zero.

Para desbloquear definitivamente um ficheiro, teria de executar

chflags nouchg,noschg FILE

como se ambas as bandeiras estivessem configuradas e se removesse apenas uma delas, a mesma continuaria bloqueada.