Para o benefício dos leitores:
Cuidado rm -rf
nesse caso! Pode criar problemas em outro lugar, caso seja um compartilhamento de rede! Você foi avisado!
Em quase todos os casos, se um directory
parecer vazio, use rmdir directory
ou talvez sudo rmdir directory
. Não use rm
(ou del
no Windows). Se isso não funcionar, você precisa descobrir o que bloqueia essa solicitação, corrigir isso e tentar novamente rmdir
.
Observe que eu não conheço o OS-X, mas acho que as coisas são muito semelhantes ao comportamento do Unix / BSD.
É muito provável que o diretório em questão fosse apenas um ponto de montagem (a partir dos encfs) ou residisse em um ponto de montagem que se tornou somente leitura ou travou em algum estado inadequado (o que impediu a remoção do diretório). Se você agora forçar a remoção do diretório, coisas muito ruins podem acontecer.
No bom caso, o diretório estava realmente vazio; portanto, removê-lo (destruindo a montagem etc.) não causou mais danos. No caso ruim, não estava vazio, apenas parecia estar, o que significa que você destruiu algo que talvez não quisesse matar. Tudo isso depende do tipo de montagem, de quais drivers estão em uso etc. pp.
Se as coisas forem implementadas razoavelmente bem, normalmente nada de ruim deve acontecer. No entanto, este não é o caso normal. As coisas já estão em um estado estranho, o que significa: Algo está errado, então é melhor não tentar misturar ainda mais! Se algo estiver quebrado, qualquer toque errado pode quebrá-lo.
Por exemplo, se você encontrar uma condição de corrida em um compartilhamento de rede, pode ser que você rm -rf
remova os dados que foram copiados para o compartilhamento por outra pessoa.
No entanto, rmdir
é garantido que nunca causará danos, além de remover diretórios realmente vazios. Isso é verdade no NFS, porque o NFS só garante um comportamento verdadeiramente atômico no , mkdir
e em rmdir
nenhum outro lugar.
PARA SUA INFORMAÇÃO:
Você pode detectar um ponto de montagem usando a ferramenta mountpoint directory
. Como alternativa, observe a saída mount
e tente localizar suas montagens lá. Mas cuidado, pelo menos no Linux isso pode estar. Usando o mountpoint
utilitário mais confiável, mas menos conveniente.
Nesse caso, você encontrou o ponto de montagem, pode desmontá-lo e remover o diretório, esta é a seguinte sequência:
umount directory
rmdir directory
Se necessário sudo
, use como de costume.
Notas:
Os compartilhamentos de rede podem negar rmdir
(e qualquer outra coisa) devido a direitos de acesso.
Sistemas de arquivos defeituosos podem negar rmdir
, dependendo da estratégia de falha. Talvez você veja uma mensagem razoável nesse caso, talvez não.
No Linux (e provavelmente em qualquer sistema operacional moderno), você também pode restringir o acesso usando diferentes meios (como montar algo somente leitura, recursos como o SeLinux, etc.). Isso significa que você não vê que é um ponto de montagem e não vê nada de errado, mas simplesmente não funciona. Nesse caso, você precisa procurar por outro motivo e ele pode estar profundamente enterrado no sistema operacional. Depende da ferramenta se você receber alguma mensagem de erro razoável. Talvez também dê uma olhada no syslog / kernel-log como dmesg
no Linux (desculpe, eu não conheço o equivalente do OS-X).
Observe que o bloqueio obrigatório de arquivos também pode ser uma fonte. Embora isso seja normal no Windows, normalmente não é o caso normal do Unix e nunca ouvi falar em diretórios. Os bloqueios de arquivos obrigatórios são cobertos pelo POSIX, mas são opcionais.
Freqüentemente, nesses casos, o diretório em questão reside em um sistema de arquivos diferente do que você pensava. Você pode descobrir qual, com o comando df directory
(acho que é o mesmo no OS-X).
Você pode inspecionar mais profundamente com ferramentas como stat
ou statfs
no diretório No entanto, estes são um nível um pouco baixo para pessoas normais, e muitas vezes essas ferramentas estão bem escondidas dos usuários normais.
Diretórios podem ter arquivos com nomes engraçados. Como um arquivo que apaga imediatamente a saída do terminal, parece que não está lá. Tente algo como ls -al | less
ou use algo como MidnightCommander mc
.
Existem muitas outras possibilidades, incluindo insetos, haxors, alienígenas ou talvez coisas mais exóticas, como fadas. Mas, geralmente, não é aconselhável começar a procurar lá; tente primeiro encontrar o erro ao seu lado, porque "errare humanum est".
rmdir
fazê - lo - mas muitas vezes é a causa pela qual não se pode desmontar um volume).