Mostra arquivos dos últimos 2 dias em um sistema ntfs montado?

8

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?

    
por Bevor 07.02.2012 / 22:09

4 respostas

10

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)

    
por 07.02.2012 / 22:21
2

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

    
por 22.01.2014 / 00:46
1

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 {} +
    
por 08.02.2012 / 01:28
1

(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.

    
por 07.02.2012 / 22:38