Назад | Перейти на главную страницу

Список файлов с последней датой доступа в linux

Я хочу навести порядок на сервере, который мой веб-мастер позволил превратить в беспорядок.

Я знаю, как перечислить все файлы, к которым не осуществлялся доступ в течение последних x дней, с помощью find и -atime, но я ищу список с датой последнего доступа для файлов на один уровень ниже в каталоге /foo:

/foo/bar1.txt Dec 11, 2001
/foo/bar2.txt Nov 12, 2008
/foo/bar3.txt Jan 12, 2004

Для папок на один уровень ниже в каталоге /foo, перечислить дату последнего доступа к файлу в каталоге (без ограничения глубины для определения даты последнего доступа)

/foo/bar1/ Feb 13, 2012
/foo/bar2/ Oct 11, 2008

куда /foo/bar1/ имеет файл, измененный 1 января 1998 г. и 13 февраля 2012 г. и /foo/bar2/ содержит 30 файлов, последний из которых был доступен 11 октября 2008 г.

Этот вопрос похож на: https://stackoverflow.com/questions/5566310/how-to-recursively-find-and-list-the-latest-modified-files-in-a-directory-with-s но вместо даты изменения интересующей является дата последнего доступа.

find /foo/* \( -type d ! -name . -prune \) -exec ls -lu {} \;


find /foo/* \( -type d ! -name . -prune \) | 
while read dir
do
    find $dir -type f -exec  stat -c "%X %n %x" {} \; |
          sort -rn | head -1 | awk '{print $2, $3, $4}'
done 

Попробуйте те.