Como listar o atime para arquivos?

4

De acordo com esta postagem pode stat ser usado para dar o atime no Linux, mas o FreeBSD 10.1 não não tem o% GNUstat.

Como faço para listar o atime para arquivos?

    
por Jasmine Lognnes 07.09.2015 / 17:11

3 respostas

5
ls -lu

em que -l fornecerá um formato de listagem longo e -u classificarão por tempo de acesso.

    
por 07.09.2015 / 17:45
2

Com o stat do FreeBSD :

stat -f '%Sa' file

%Sa significa que você deseja arquivar a tempo de acesso como S tring.

    
por 07.09.2015 / 17:41
2

Eu sempre usei:

ls -l -u

Alternativamente - talvez sair do perl?

O Perl pode usar o stat syscall diretamente

#!/usr/bin/env perl
use strict;
use warnings;
foreach my $filename ( @ARGV ) {
    print "$filename =>", (stat($filename))[8],"\n";
}

Você pode fazer isso como:

perl -e 'print "$_ ",(stat($_))[8],"\n" for @ARGV' <filename(s)>

Se você quiser fazer um registro de data e hora mais bonito (em vez de época, o que é o stat ):

perl -MTime::Piece -e 'print "$_ ",Time::Piece->new((stat($_))[8]),"\n" for @ARGV'

ou

perl -MTime::Piece -e 'print "$_ ",Time::Piece->new((stat($_))[8])->strftime("%F %T"),"\n" for @ARGV'

Que usa strftime e %F %T para fornecer:

2015-09-06 01:02:33

Expandindo o script:

#!/usr/bin/env perl
use strict;
use warnings;
use Time::Piece; 
foreach my $filename ( @ARGV ) {
    my $epoch_time = (stat($filename))[8];
    my $time_string = Time::Piece -> new ( $epoch_time ) -> strftime ( "%F %T" );
    print "$time_string => $filename\n";
}
    
por 07.09.2015 / 17:37