Arquivos criados ou modificados há menos de 48 horas
ordenados do mais recente para o mais antigo:
find / -mtime -2 -printf "%T@" -ls | sort
Encontrei %T@
de man find
: hora da última modificação (segundos desde a época)
Qual é exatamente o comando para mostrar arquivos com menos de dois dias? Eu pensei em algo assim:
$ find / -mtime -2
... mas não sei como imprimir a data dos arquivos encontrados. Meu alvo é encontrar arquivos em um sistema ntfs montado que são novos ou alterados nos últimos dias.
Além disso, seria muito útil classificar os resultados do mais recente para o mais antigo. Isso é possível?
Se você canalizar para xargs, poderá ajustar facilmente as opções de saída / formato de ls
para mostrar a data, classificar por data, etc.
find / -type f -mtime -2 -print0 | xargs -0 ls -lt
Isso é mais fácil em zsh, graças aos seus qualificadores
print -l /**/*~/(proc|dev|sys)/*(m-2om)
Isso lista todos os arquivos em /
, exceções para arquivos em /proc
ou /dev
ou /sys
, que foram modificados nos últimos dois dias ( m-2
). Os arquivos são listados em ordem cronológica inversa do tempo de modificação ( om
), um por linha ( print -l
).
Se você quiser listar os metadados do arquivo também, não é necessário classificar no shell, apenas filtrar. Você pode entrar em um limite de comprimento de linha de comando dependente da plataforma se houver muitos arquivos correspondentes.
ls -dlt /**/*~/(proc|dev|sys)/*(m-2)
Se você quiser corresponder apenas aos arquivos regulares, adicione .
dentro dos parênteses.
Com apenas as ferramentas POSIX, você pode usar ls -dlt
para classificação e find
para gerar a lista de arquivos. Novamente, você pode entrar em um limite de comprimento de linha de comando dependente da plataforma se houver muitos arquivos correspondentes. Se você deseja corresponder apenas aos arquivos regulares, adicione -type f
antes ou depois de mtime -2
.
find / -mtime -2 -exec ls -dlt {} +
(Nota: Uma frase da pergunta originalmente pedia datas, com mais de dois dias no texto, enquanto a manchete fazia o contrário. A necessidade de classificar a saída também foi introduzida mais tarde).
find / -mtime -2 -ls
Com +2, você vê arquivos com mais de dois dias, com dois a menos de dois dias e com arquivos de apenas 2: 2 dias.
Com -ls você obtém uma saída semelhante a ls, onde você pode ver a data dos arquivos.
find / -ctime -2 -ls
Com o ctime em vez do mtime, você obtém a data de criação em vez da data de modificação, mas dependendo das capacidades e configurações do sistema de arquivos no / etc / fstab, isso pode ou não funcionar.
Tags command-line bash find