Como posso classificar a saída de 'ls' pela data da última modificação?

1276

Como posso classificar a saída de ls pela data da última modificação?

    
por Garrett 09.04.2009 / 15:17

9 respostas

1529

ls -t

ou (para reverso, mais recente na parte inferior):

ls -tr

A página ls man descreve isso com mais detalhes e lista outras opções.

    
por 09.04.2009 / 15:20
140

Tente isto: ls -ltr . Ele vai te dar o mais recente até o final da lista

    
por 06.04.2010 / 16:44
42

Para uma resposta completa, aqui está o que eu uso: ls -lrth

Coloque isso no seu script de inicialização /etc/bashrc e atribua um alias como este: alias l='ls -lrth' Reinicie seu terminal e você poderá digitar l e ver uma longa lista de arquivos.

    
por 15.04.2012 / 22:23
28

Eu uso em algum momento isso:

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -tr

ou

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -ltr

para procurar recursivamente sobre quais arquivos foram modificados nos últimos 5 minutos.

... ou agora, com a versão recente do GNU find :

find . -type f -mmin -5 -exec ls -ltr {} +

... e até mesmo para não limitar os arquivos :

find . -mmin -5 -exec ls -ltrd {} +

(observe a -d mudar para ls por não exibir o conteúdo dos diretórios)

    
por 19.07.2013 / 13:01
20

Adicionar:

alias lt='ls -Alhtr'

em $homedir/.bashrc

    
por 15.04.2012 / 20:41
12

Encontre todos os arquivos no sistema de arquivos que foram modificados no máximo 3 * 24 horas (3 dias) atrás até agora:

find / -ctime 3
    
por 11.11.2013 / 17:11
10

Mnemônico

Não ignore as entradas que começam com . e classificam por data (as mais recentes primeiro):

ls -at

Para não ignorar as entradas que começam com . e inverter classificar por data (o mais antigo primeiro):

ls -art

Para não ignorar as entradas que começam com . , use um formato de listagem longo e classifique por data (o mais recente primeiro):

ls -alt

Para imprimir tamanhos legíveis, não ignore entradas iniciadas com . , use um formato de listagem longo e classifique por data (a mais nova primeiro) (nota @EvgeniSergeev):

ls -halt

mas tenha cuidado com o último , porque um simples digitação pode causar uma falha no servidor ... (nota @Isaac)

    
por 26.07.2017 / 09:21
9

Para mostrar 10 mais recentes classificados por data, eu uso algo assim:

ls -t ~/Downloads | head -10

ou para mostrar o mais antigo

ls -tr ~/Downloads | tail -10
    
por 06.03.2016 / 19:21
7

Usando apenas comandos Unix muito básicos:

ls -nl | sort -k 8,8n -k 6,6M

Isso funcionou no Linux; coluna 8 é "n" (numérico), coluna 6 é "M", mês.

Eu sou novo em sort , então essa resposta provavelmente poderia ser melhorada. Para não mencionar, ele precisa de opções adicionais para ls e sort para usar registros de data e hora exatos, mas nem todos precisarão disso.

    
por 15.06.2014 / 23:47