Existem muitas situações em que é necessário visualizar ficheiros novos e recentemente criados no sistema operativo. Isto é muitas vezes necessário para um administrador de sistema que criou um ficheiro de configuração e depois simplesmente se esqueceu onde foi guardado. Além disso, a necessidade de encontrar novos ficheiros pode surgir porque é preciso ver se um ficheiro foi alterado recentemente ou não. Em geral, as situações podem ser muito diferentes. A vantagem do sistema operativo Linux é que tradicionalmente fornece várias formas de resolver um determinado problema.
A forma mais fácil e mais comum de encontrar novos ficheiros em Linux é o utilitário Find
. Dependendo das suas necessidades actuais, são-lhe passados diferentes parâmetros, por exemplo, pode procurar ficheiros apenas dentro de um determinado intervalo de meses ou dias, veja abaixo os detalhes de como isto pode ser feito.
Os ficheiros são apresentados em diretórios e subdirectórios e ordenados:
$ find /etc -type f -printf '%TY-%Tm-%Td %TT %p ' | sort –r
Mas como pode ver, o resultado é bastante impressionante, não é possível reconhecer novos ficheiros a partir de toda a lista. Por isso, temos de utilizar outro comando:
$ find /etc -type f -mmin -120
É assim que especificamos que o sistema deve ser procurado apenas por ficheiros que foram criados na última hora.
Se for necessário abranger os últimos dois dias, introduza o seguinte comando:
$ find /etc -type f -mtime -2
Por vezes, não há necessidade de investigar os subdirectórios de terceiro nível, por isso, para excluir esta ação, temos de utilizar a opção especial maxdepth
:
$ find /etc -maxdepth 3 -mtime -2 -type f
Podemos ver todos os novos ficheiros criados no sistema Linux nos últimos sete dias, mas com a exceção de que os últimos três dias não devem ser tidos em conta:
$ find /etc -type f -mtime -7 ! -mtime -3
Estes comandos mostram o caminho para o ficheiro, mas para ver os atributos temos de usar a opção especial --exec
. A seguir, vamos mostrar os atributos de cada novo ficheiro usando o utilitário ls
:
$ find /etc -type f -mmin -120 -exec ls -al {} ;
Se achar este comando demasiado confuso e complicado, pode usar outro:
$ find /etc -type f -mmin -120 | xargs ls -l
Aqui já usamos outro utilitário, o xargs
. O utilitário find também permite encontrar ficheiros mais recentes que um determinado ficheiro. Por exemplo, vamos criar um ficheiro de referência:
$ touch /tmp/test
Agora encontre todos os ficheiros mais recentes no diretório raiz que foram criados depois dele:
$ find / -type f -newer /tmp/test
Vamos passar para outro método.
Este método de procura de novos ficheiros é muito mais simples que o anterior, pelo que pode ser recomendado a principiantes em Linux. O comando ls
também pode ordenar os ficheiros de um diretório por data de criação. Para isso, só precisamos de executar ls:
$ ls -ltr
Pode haver demasiados ficheiros, por isso é aconselhável executar também este comando:
$ ls -ltr | tail
Estas não são todas as formas de encontrar novos ficheiros, mas são suficientes para fazer o trabalho de forma rápida e eficiente. Como se pode ver, os comandos básicos de pesquisa find e ls podem tornar-se ainda mais flexíveis quando combinados com sort, tail
e grep
.