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


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


1249


origem


Relacionado (não necessariamente duplicado): Unix / Linux encontrar e classificar por data modificada - Peter Mortensen


Respostas:


ls -t

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

ls -tr

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


1501



ls -halt é para human readable, show hidden, print details, sort by date. - Evgeni Sergeev
Caso alguém esteja se perguntando, tanto o -t e -r argumentos são especificados em a seção sobre ls no padrão POSIX, portanto, deve ser compatível entre Unices. - Mark Amery
ls -llt para mostrar o registro de data e hora junto com a classificação - Harshul Pandav
É possível mostrar apenas o nome do arquivo e a data de cada um? - android developer
Sim, é possível - Ashraf.Shk786


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


134





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 veja uma longa lista de arquivos.


40



Você também pode ligar source /etc/bashrc se você quiser adicioná-lo ao seu repertório durante a execução. - cwallenpoole
Você também pode adicioná-lo ~/.bash_aliases apenas para o seu usuário (pode-se criar o arquivo se ele não existir - Dinei


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

olhar 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 por não limitar a arquivos:

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

(Note o -d troque para ls por não exibir o conteúdo dos diretórios)


27



Por recursivamente você quer dizer que lista todos os arquivos em subdiretórios, não tenho um switch para fazer isso? - jiggunjer
@jiggunjer ls -Rltr irá ordenar por dir, depois por datas, find -type f -mmin -5 -exec ls -ltr {} + apenas imprimirá arquivos modificados nos últimos 5 minutos, classificados por data, independentemente da árvore de diretórios! - F. Hauri


Adicionar:

alias lt='ls -Alhtr'

dentro $homedir/.bashrc


20





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

12





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

9



isso dáls -t head -2 e ls -tr | tail -2 dá o mesmo resultado, a opção (-t / -tr) deve ser mantida fixa e modificada a cauda / cabeça ou vice-versa, modificando ambos é como modificar nada - DDS


Mnemônico

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

ls -at

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

ls -art

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

ls -alt

Para imprimir tamanhos legíveis, não ignore as entradas que começam com ., use um formato de listagem longo e classificar por data (mais novo primeiro) (nota @EvgeniSergeev):

ls -halt

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


8