Você pode usar o comando stat
para ver informações relacionadas ao horário de arquivos & diretórios.
Exemplo
$ mkdir a b
$ ll
total 8
drwxrwxr-x 2 saml saml 4096 Aug 31 00:08 a
drwxrwxr-x 2 saml saml 4096 Aug 31 00:08 b
$ ls -ltu
total 8
drwxrwxr-x 2 saml saml 4096 Aug 31 00:08 a
drwxrwxr-x 2 saml saml 4096 Aug 31 00:08 b
Saída do stat
Agora vamos ver esses diretórios com o comando stat
:
$ stat a b
File: 'a'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd02h/64770d Inode: 5643285 Links: 2
Access: (0775/drwxrwxr-x) Uid: ( 500/ saml) Gid: ( 501/ saml)
Access: 2013-08-31 00:08:03.621936538 -0400
Modify: 2013-08-31 00:08:03.621936538 -0400
Change: 2013-08-31 00:08:03.621936538 -0400
File: 'b'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd02h/64770d Inode: 5643286 Links: 2
Access: (0775/drwxrwxr-x) Uid: ( 500/ saml) Gid: ( 501/ saml)
Access: 2013-08-31 00:08:03.621936538 -0400
Modify: 2013-08-31 00:08:03.621936538 -0400
Change: 2013-08-31 00:08:03.621936538 -0400
Acessando a
Agora vamos acessar o diretório a
:
$ ls a
Agora vamos verificar novamente os diretórios com stat
:
$ stat a b
File: 'a'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd02h/64770d Inode: 5643285 Links: 2
Access: (0775/drwxrwxr-x) Uid: ( 500/ saml) Gid: ( 501/ saml)
Access: 2013-08-31 00:08:33.221267791 -0400
Modify: 2013-08-31 00:08:03.621936538 -0400
Change: 2013-08-31 00:08:03.621936538 -0400
File: 'b'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd02h/64770d Inode: 5643286 Links: 2
Access: (0775/drwxrwxr-x) Uid: ( 500/ saml) Gid: ( 501/ saml)
Access: 2013-08-31 00:08:03.621936538 -0400
Modify: 2013-08-31 00:08:03.621936538 -0400
Change: 2013-08-31 00:08:03.621936538 -0400
Podemos ver que realmente afetamos as informações de estatísticas do diretório com ls a
:
antes
Access: 2013-08-31 00:08:03.621936538 -0400
depois
Access: 2013-08-31 00:08:33.221267791 -0400
Acessando b
Agora, se acessarmos o diretório b
, ls b
:
$ ls b
$ ls -ltu
total 8
drwxrwxr-x 2 saml saml 4096 Aug 31 00:17 b
drwxrwxr-x 2 saml saml 4096 Aug 31 00:08 a
Saída do stat
Podemos ver que o tempo de acesso foi alterado e a saída acima do ls -ltu
está como deveria:
$ stat a b
File: 'a'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd02h/64770d Inode: 5643285 Links: 2
Access: (0775/drwxrwxr-x) Uid: ( 500/ saml) Gid: ( 501/ saml)
Access: 2013-08-31 00:08:33.221267791 -0400
Modify: 2013-08-31 00:08:03.621936538 -0400
Change: 2013-08-31 00:08:03.621936538 -0400
File: 'b'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd02h/64770d Inode: 5643286 Links: 2
Access: (0775/drwxrwxr-x) Uid: ( 500/ saml) Gid: ( 501/ saml)
Access: 2013-08-31 00:17:15.279776957 -0400
Modify: 2013-08-31 00:08:03.621936538 -0400
Change: 2013-08-31 00:08:03.621936538 -0400
Podemos ver novamente que um ls b
simples fez com que o tempo de acesso fosse atualizado:
antes
Access: 2013-08-31 00:08:03.621936538 -0400
depois
Access: 2013-08-31 00:17:15.279776957 -0400
Resumo
Ao analisar a análise acima, não vejo nenhum motivo pelo qual ls -ltu
não mostre os diretórios classificados pelos tempos de acesso esperados.
Então, o que está acontecendo?
Talvez você tenha o diretório montado de forma que os horários de acesso não estejam sendo rastreados? Isso explicaria por que não há mudança.
Se você olhar na man page do comando mount, verá essas duas opções definidas:
atime Update inode access time for each access. See also the
strictatime mount option.
noatime Do not update inode access times on this filesystem (e.g,
for faster access on the news spool to speed up news servers).
Você pode verificar como seu sistema de arquivos é montado usando o comando mount
. Se um dispositivo for montado de forma que a opção noatime
apareça, ele estará sendo montado de forma que o tempo de acesso (tempo) não esteja sendo rastreado. Isso é feito normalmente para aumentar o desempenho.
Exemplo
$ mount
/dev/mapper/vg_grinchy-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda5 on /boot type ext4 (rw)
/dev/mapper/vg_grinchy-lv_home on /home type ext4 (rw)
gvfs-fuse-daemon on /home/saml/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=saml)