20 out

Como encontrar um arquivo no Unix

Revivendo uma postagem de 05/10/2010, que vira e mexe eu preciso relembrar pois esqueço fácil rs. Tinha postado neste mesmo blog, mas tive problemas com o BD e perdi ela, mas felizmente consigo recuperar através do Internet Archive. Vamos a ela:

Eu, como bom usuário de Windows antes de 95, convivi muito com o DOS e seus comandos que lembro até hoje. Um deles era o dir/s, muito usado para saber quantos MB eram usados por meus jogos ou para procurar algum arquivo no disco.

Pois bem, o tempo passou e novamente me vejo querendo saber onde está um arquivo no disco, ou querendo saber quanto meu diretório home está usando de espaço do disco. Até aí tudo bem, o problema é que agora estou num ambiente Unix. E agora?

Depois de algumas pesquisas, vi que não é tão difícil assim também não.

ESPAÇO UTILIZADO

Para saber quanto de espaço foi utilizado no diretório home (~), basta usar o comando du:

Este comando mostra o espaço em disco utilizado, os parâmetros h e s são para mostrar os resultados de maneira fácil de ler e apenas do arquivo/diretório em questão, respectivamente. Sem o s ele mostra o espaço usado por cada arquivo no diretório.

PROCURANDO UM ARQUIVO

Para procurar um arquivo, o comando utilizado é o find. Este comando é muito poderoso, consegue encontrar arquivos e diretórios por nome, por data e hora de modificação, e muitas outras maneiras. Por exemplo, se eu quero encontrar o .jar do oracle, que eu sei o nome (ojdbc14.jar), a linha de comando é a seguinte:

Porém, no meu caso, as mensagens de erro ficam poluindo muito a tela (muitos diretórios sem permissão para leitura), e também como demora demais o processo para encontrar arquivos na máquina inteira, eu direciono a saída padrão para um arquivo, a saída de erro para /dev/null e faço rodar em segundo plano, tudo isso com esta linha de comando aqui:

Bacana né? O > redireciona a saída padrão, o 2> a saída de erro e o & faz o processo rodar em 2º plano.

Fonte: http://linuxgazette.net/issue54/tag/15.html