como você encontra todos os arquivos e diretórios sem sticky bit?

6

como você encontra todos os arquivos e diretórios sem o sticky bit?

Eu tenho um monte de arquivos antigos que eu preciso excluir, então eu uso: find . -mtime +3 -a \( -type f -o -type d \)

Mas, em seguida, esse comando find ainda encontrará arquivos com permissão de bit-sticky: drwxrwxrwt

Quero garantir que minhas expressões de localização não encontrem esses arquivos. Ou ... eu deveria ser apenas preguiçoso e ignorar erros de "operação não permitida" (talvez esta seja a intenção / propósito do bit pegajoso ... vamos excluir arquivos sem nos preocuparmos com a exclusão acidental de arquivos que você precisa)?

    
por Trevor Boyd Smith 12.01.2016 / 21:59

1 resposta

12

Se você quiser encontrar coisas com um conjunto de bits pegajoso, você precisa do parâmetro -perm , versão com verificações de barra para qualquer um dos bits - mas nós vamos apenas fornecer um bit, que é a versão octal do sticky bit :

find . -perm /1000

Agora, você quer fazer o contrário, negar a condição:

find . \! -perm /1000

E ajustado para seu comando:

find . -mtime +3 -a \( -type f -o -type d \) \! -perm /1000
    
por 12.01.2016 / 22:16