Limpar o diretório $ HOME

15

Durante alguns anos, no meu diretório $HOME , muitos arquivos ocultos e diretórios apareceu.

Eu gostaria de excluir continuamente os desnecessários.

Como posso descobrir quais aplicativos criaram esses arquivos ocultos e diretórios.

Como posso ter certeza de que é seguro remover os arquivos e diretórios ocultos? e nada importante será perdido e nada dependendo deles não será parar de trabalhar?

    
por xralf 08.10.2015 / 17:04

3 respostas

14

Você pode apenas deslocá-los temporariamente.

cd ~
mkdir .trash
find . ! -name . -prune ! -type d -atime +365 -exec \
    sh -c 'touch -a -- "$@"
           mv -- "$@" ~/.trash
    ' --   {} +

Isso localizará todos os arquivos no diretório $HOME - sem recursão em diretórios filhos - que não foram acessados por um ano. Ele atualizará o tempo de acesso para todos eles agora e, em seguida, moverá todos eles para um diretório chamado .trash . Se você encontrar algum problema entre a hora em que você o executa e a hora que você decidir começar a deletar arquivos antigos em ~/.trash , então você pode tentar mover alguns deles de volta e ver se algum deles você colocou no lixo foi a causa. / p>     

por 08.10.2015 / 18:02
6

Se você é a raiz do seu sistema, você pode usar o recurso de kernel audit para ter o máximo de informações sobre quem / quando / o que acessou / criou / modificou arquivos. veja este tutorial para exemplos com sabor de debian

Se você não tiver acesso root, poderá usar um crontab ou um script com loop infinito + sleep para executar lsof & arquivos grep no seu homedir. Veja manpage of lsof . No entanto, ele só exibirá seus aplicativos que possuem um filodescriptor aberto no momento em que você inicia o lsof. Se um aplicativo abrir um arquivo, editá-lo e fechá-lo, você não verá essa alteração no lsof.

um one-liner como este deve fazer o trabalho: lsof -u $(id -u) 2>/dev/null |grep -P $HOME'/[^\s]*$'

Outra forma é usar a inotify API do kernel para verificar quando um arquivo está sendo acessado. Infelizmente, é um sistema assíncrono, e você não terá detalhes como "qual app", "precisamente quando", "qual usuário". Você só terá um retorno de chamada sobre "este arquivo foi modificado / acessado ...". Alguns aplicativos (Inotify, FAM, gamin) fornecem acesso simples à API

    
por 13.10.2015 / 12:41
3

Você pode procurar por atime e remover arquivos não usados por muito tempo (desde que você não tenha configurado seu sistema para não usar o atime), mas isso é bastante arriscado (veja tmpreaper se você quiser seguir esse caminho) .

Em vez disso, eu sugiro Bleachbit , um programa gráfico interativo para remover o lixo.

    
por 08.10.2015 / 17:41