Как указано Max, Вы не можете, но файлы проверки, к которым, измененные или получают доступ, не все настолько трудно. Я записал учебное руководство об этом, уже сегодня. Сущность которого должна использовать -newerXY
и ! -newerXY
:
Пример: найти все файлы измененными 7-го июня 2007:
$ find . -type f -newermt 2007-06-07 ! -newermt 2007-06-08
Для нахождения всех файлов получил доступ 29-го сентября 2008:
$ find . -type f -newerat 2008-09-29 ! -newerat 2008-09-30
Или, файлы, которым изменили их разрешение в тот же день:
$ find . -type f -newerct 2008-09-29 ! -newerct 2008-09-30
, Если бы Вы не изменяете полномочия на файле, 'c' обычно соответствовал бы дате создания, все же.
Это - два шага, но мне нравится делать это этот путь:
Первый создают файл с конкретной датой/временем. В этом случае файл 01.10.2008 в полночь
touch -t 0810010000 /tmp/t
Теперь, мы можем найти все файлы, которые являются более новыми или более старыми, чем вышеупомянутый файл (идущий измененной датой файла. Можно также использовать -anewer для полученного доступ и измененное состояние-cnewer файла).
find / -newer /tmp/t
find / -not -newer /tmp/t
Вы могли также посмотреть на файлы между определенными датами путем создания двух файлов с касанием
touch -t 0810010000 /tmp/t1
touch -t 0810011000 /tmp/t2
, Это найдет файлы между этими двумя датами & времена
find / -newer /tmp/t1 -and -not -newer /tmp/t2
find location -ctime time_period
Примеры time_period:
больше чем 30 дней назад: -ctime +30
меньше чем 30 дней назад: -ctime -30
Точно 30 дней назад: -ctime 30
Вы могли сделать это:
find ./ -type f -ls |grep '10 Sep'
Пример:
[root@pbx etc]# find /var/ -type f -ls | grep "Dec 24"
791235 4 -rw-r--r-- 1 root root 29 Dec 24 03:24 /var/lib/prelink/full
798227 288 -rw-r--r-- 1 root root 292323 Dec 24 23:53 /var/log/sa/sar24
797244 320 -rw-r--r-- 1 root root 321300 Dec 24 23:50 /var/log/sa/sa24
Вы не можете. Переключатель-c говорит Вам, когда полномочия были в последний раз изменены,-a тестирует новое время доступа, и-m тестирует время изменения. Файловая система, используемая большинством разновидностей Linux (ext3), не поддерживает "запись" времени создания. Извините!
@Max: право относительно времени создания.
Однако, если Вы хотите вычислить прошедший дневной аргумент в пользу одного из -atime
, -ctime
, -mtime
параметры, можно использовать следующую Замену выражения
ELAPSED_DAYS=$(( ( $(date +%s) - $(date -d '2008-09-24' +%s) ) / 60 / 60 / 24 - 1 ))
"2008-09-24" с любой датой, которую Вы хотите, и ELAPSED_DAYS будет установлен на количество дней между тогда и сегодня. (Обновление: вычтите один из результата выровняться с find
округление даты.)
Так, для нахождения любого файла измененным 24-го сентября 2008 команда была бы:
find . -type f -mtime $(( ( $(date +%s) - $(date -d '2008-09-24' +%s) ) / 60 / 60 / 24 - 1 ))
Это будет работать, если Ваша версия find
не будет поддерживать эти -newerXY
предикаты, упомянутые в ответе @Arve:.
С-atime,-ctime, и-mtime переключается для нахождения, можно быть рядом с тем, чего Вы хотите достигнуть.
Я нашел этот scriplet в сценарии, который удаляет все файлы, более старые, чем 14 дней:
CNT=0
for i in $(find -type f -ctime +14); do
((CNT = CNT + 1))
echo -n "." >> $PROGRESS
rm -f $i
done
echo deleted $CNT files, done at $(date "+%H:%M:%S") >> $LOG
я думаю, что маленький дополнительный "человек находит" и поиск-ctime/-atime и т.д., параметры помогут Вам здесь.