ls -l
mostra apenas os carimbos de data e hora de modificação dos arquivos até o segundo. Se dois arquivos tiverem o mesmo timestamp até segundo, mas foram modificados não exatamente ao mesmo tempo, irá ls -lt
ordenar os arquivos na ordem dos mtimes precisos ou apenas os mtimes aproximados até o segundo (e, portanto, a ordem entre os arquivos pode ser arbitrário)?
Isso depende muito da
ls
implementação. Desses 4 encontrados em um sistema GNU/Linux aqui:GNU
ls
, aquele do projeto GNU (da coleção GNU coreutils ). Esse é o normalmente encontrado em sistemas GNU como Debian (kernels Linux ou kFreeBSD), Cygwin ou Fedora.O
ls
do Heirloom Toolchest , uma porta de ferramentas do OpenSolaris:O
ls
da coleção AT&T Open Source , possivelmente integrado aoksh93
. Outro com algumas extensões sofisticadas:busybox (conforme encontrado (ou derivado) na maioria dos sistemas baseados em Linux (geralmente incorporados):
Então, desses, GNU e ast
ls
consideram a segunda parte fracionária. Os outros recorrem à comparação lexical para arquivos modificados pela última vez no mesmo segundo. Só o busyboxls
homenageia o-r
lá.Em meus testes, o FreeBSD
ls
também suporta precisão de subsegundos (desde que estejam habilitados no nível VFS, consultevfs.timestamp_precision
sysctl).zsh
's globs (com oom
qualificador glob para pedir no tempo de modificação,Om
para ordem inversa) também levam o tempo integral:[ file1 -nt file2 ]
, onde suportado também geralmente oferece suporte a granularidade abaixo do segundo .Com relação à implementação do GNU
ls
, a execuçãols -l
ordenará os arquivos em ordem alfabética els -lt
ordenará os arquivos em ordem de hora de modificação, os mais novos primeiro, com a maior precisão suportada pelo sistema de arquivos subjacente. Você pode verificar isso usando a--full-time
opção.Portanto, para responder à sua pergunta, sim, na medida do possível, mas apenas quando você usar
-t
(caso contrário, o padrão será alfabético) e estiver usando uma implementação que suporte isso (consulte a resposta de Stéphane para obter mais detalhes). Por exemplo,ext4
pode oferecer suporte à precisão de nanossegundos, com inodes grandes o suficiente para armazenar os dados de registro de data e hora necessários.você pode verificar isso se comparar a saída de
e
não há nada arbitrário sobre a classificação.
Sim vai.
Para testar, crie dois arquivos com uma pequena diferença de tempo:
Confira os tempos de modificação:
A lista usará tal diferença:
Com
--full-time
a diferença ficará claro.