Como posso verificar file2
se a última modificação foi feita depois file1
?
Neste exemplo, perl
foi modificado mais recentemente que stack
. Existe um comando bash ou Linux que pode comparar esses arquivos com base no tempo de modificação?
-rw-r--r-- 1 root root 1577 Sep 7 22:55 stack
-rwxr-xr-x 1 root root 626 Sep 7 23:10 perl
-ot
é "mais antigo que".Retirado do ' teste do homem '. Excerto:
fonte
Outra maneira de fazer isso:
retornará nulo se o arquivo2 for mais antigo ou a mesma idade do arquivo1. Ele retornará o nome (e diretório) do arquivo2, se for mais recente.
Esteja ciente de que o Linux não acompanha quando os arquivos foram criados. Esses testes serão para a data e hora da modificação mais recente.
fonte
ctime
não é hora da criação. É a hora da mudança do inode e é atualizada quando os atributos do arquivo, como proprietário ou permissões, são alterados ou quando você modifica o arquivo. Alguns sistemas de arquivos suportam a hora do nascimento, mas o kernel não. Stat mostra um tempo de nascimento vazio. Veja unix.stackexchange.com/a/91200 Observe que o OS X suporta a hora do nascimentostat -f %SB filename
debugfs
para ver o tempo de criação (nascimento) no Linux.Se você quiser informações mais detalhadas, use o
stat
comandofonte
Se o resultado for> 0, o primeiro arquivo é mais recente. (Mais recente em termos da última modificação - e não da hora da criação, que é armazenada no linux).
fonte
De acordo com este link, o unix não armazena a data de criação. http://www.issociate.de/board/post/302628/How_to_check_file_creation_date.html
Mas armazena o último acesso.
para o último acesso
ls exibe cada arquivo em uma nova linha.
então ls -t exibe o arquivo mais recente na primeira linha etc.
Você pode usar sed para escolher a primeira linha.
ls -t php.exe php.ini | sed -n '1p' php.ini
poderia fazer
-lt
que você vai ver que se você não especificar quaisquer arquivos .. e que o diretório .. então dá total na primeira linha, assim que você escolher a segunda linha como$ls -lt | sed -n '2p'
Uma boa seria
ou
exibe as 10 primeiras linhas em ordem primeiro arquivo modificado primeiro e você pode ver qual é
fonte
-t
é hora da modificação;-u
é tempo de acessoAqui está um pequeno script, eu fiz:
fonte