Могу ли я получить ctime и atime в выводе ls? Кажется, я могу передать только один аргумент --time=ctime
или --time=atime
(второй игнорируется). Есть ли другой путь?
3 ответа
14
Если вы разбираете значения только из 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 Time of last access %z Time of last change %n Name of file
12
Вы можете запустить stat -c '%x %z' filename.txt
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
чтобы найти больше информации.