Como encontrar o arquivo que foi atualizado pela última vez na minha caixa Linux?

0

Estou executando um comando que atualiza um arquivo em um local desconhecido no meu sistema. Qual é o comando find / locace / whatever que vai me dizer, qual arquivo foi o último a ser atualizado no sistema? Esse comando precisa saber para não procurar proc ou qualquer outro local que não seja relevante.

    
por e271p314 11.11.2013 / 15:43

2 respostas

1

Isso é alguma ajuda para você?

find / -mtime -5 | head -1

Isso informa quais arquivos foram alterados nos últimos 5 minutos e gera a primeira linha.

Você pode, naturalmente, especificá-lo para procurar apenas por arquivos png, por exemplo:

find / -name "*.png" -mtime -5 | head -1

Em que / é o diretório em que a pesquisa é iniciada - neste caso, raiz do sistema, -name "*.png" é um filtro para sua pesquisa, -mtime -5 é um filtro usado para selecionar apenas arquivos modificados nos últimos 5 minutos e | head -1 pega a saída de tudo antes do pipe e imprime apenas a primeira linha.

Lembre-se de que, sem o primeiro filtro, ele também verifica os diretórios, portanto, o uso do filtro de nome de arquivo é recomendado.

referência de horário de verão

Edit: Se você quiser excluir algumas pastas, provavelmente seria melhor escrever um script bash que tem N pastas especificadas para pesquisa e, em seguida, faz o comando para cada uma delas.

Isso significa que seu script seria executado:

find /your/first/folder -name "*.png" -mtime -5 | head -1

então

find /your/second/folder/location -name "*.png" -mtime -5 | head -1

e assim por diante.

    
por 11.11.2013 / 15:46
0

você pode ver quais arquivos estão atualmente sendo alterados com o comando inotifywait .

inotifywait -rme modify /folder/to/monitor/

isto listará todos os arquivos e diretórios modificados em /folder/to/monitor/ e todos os seus subdiscos.

-r : recursivo

-m : monitora o sistema de arquivos até ser morto pelo usuário

-e : especifique tipos de eventos para monitorar

e você também pode dizer ao comando para ignorar alguns diretórios

inotifywait --exclude '^/proc/' -rme modify /

Esteja ciente de que definir esse monitoramento no sistema de arquivos inteiro levará algum tempo para ser configurado e você também precisará aumentar o user_watches limit (8k por padrão).

Please increase the amount of inotify watches allowed per user via '/proc/sys/fs/inotify/max_user_watches'

Esse comando pode ser mais apropriado ao usar locais específicos.

    
por 11.11.2013 / 16:18

Tags