Показать ctime и atime в выводе ls

19

Могу ли я получить ctime и atime в выводе ls? Кажется, я могу передать только один --time=ctimeили --time=atimeаргумент (второй игнорируется). Есть ли другой способ?

IBZ
источник

Ответы:

13

Вы могли бы бежать stat -c '%x %z' filename.txt

weeheavy
источник
Просто обратите внимание, что stat -c '%w %x %y %z' filename.txtдает вам создание, доступ, изменение данных, изменение статуса. В удобочитаемом формате.
Меридиус
16

Если вы только анализируете значения ls, вы можете использовать statвместо:

# stat -c% x,% z,% n *
2011-01-11 06: 09: 04.000000000 -0500,2011-01-11 02: 43: 52.000000000 -0500, sqlupdate.sh
2011-01-11 06: 09: 04.000000000 -0500,2011-01-12 02: 43: 55.000000000 -0500, file.tar.gz
2011-01-11 06: 09: 04.000000000 -0500,2011-01-11 02: 43: 52.000000000 -0500, mysql_password.txt
2011-01-17 02: 43: 49.000000000 -0500,2011-01-12 13: 40: 48.000000000 -0500, public_html

Где:

 % x Время последнего доступа
 % z Время последнего изменения
 % n Имя файла
Джон Т
источник
Просто чтобы убедиться, что я понимаю ответы здесь. С помощью ls можно отображать любое время доступа, изменения и изменения, но не более одного за раз. Потому что это действительно удивительно и очень раздражает.
Мэдс Скьерн
5

с findвами очень близко к тому, что ls -lобеспечивает:

# find . -maxdepth 1 \
     -printf "%M %u %g %s\t%Ab %Ad %AH:%AM\t%Cb %Cd %CH:%CM\t%P\n"

у вас есть доступ к ctime (% C), atime (% A) и времени модификации (% T). прочитайте, man findчтобы найти больше информации.

Акира
источник