Formas de pagamento Abuse

Como encontrar novos ficheiros num sistema Linux

27.02.2021, 20:44

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.

Usando o utilitário Find

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

Файлы измененные или созданные за последние 60 минут

É 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

Файлы измененные за последние 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

Исключить последние 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

Утилита xargs

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.

Utilizar o LS

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

Команда ls тоже умеет сортировать файлы в директории по дате создания

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.