Я хотел бы узнать больше о том, как время доступа к файлу и время модификации файла связаны с доступом к каталогу и временем модификации.
Я прочитал "вопросы разрешены здесь", но если есть лучший сайт StackExchange для этого вопроса, пожалуйста, дайте мне знать. Это не система Ubuntu, так что askubuntu.com отсутствует.
система:
- Redhat Enterprise Linux 5.5.56. Нет, мы не можем обновить, пожалуйста, не спрашивайте об этом.
- Я стараюсь придерживаться Баш.
- найти версию 4.2.27
Проблема: я хочу создать bash-скрипт, в котором, начиная с текущего каталога, в котором выполняется скрипт, я хочу перечислить каталоги и подкаталоги, которые не были изменены в течение как минимум 300 дней. Эти каталоги, которые я проверяю, содержат файлы, которые МОГУТ иметь время модификации позже, чем время модификации каталога. Я хочу перечислить только имена каталогов, которые содержат «JOB», но не «DIV», с учетом регистра.
Примечание. Наши каталоги расположены следующим образом: каталоги CLS_xxx будут содержать много каталогов GRP_xxx. GRP_xxx dirs будет содержать много JOB_xxx dirs. JOB_dirs может содержать много DIV_xxx директорий. Поэтому, хотя я могу быть в каталоге, содержащем все каталоги CLS, я хочу показать только каталоги, содержащие JOB.
/path/to/containerdir/
CLS_xxx/
GRP_xxx/
JOB_xxx/
Files under here might be modified later than the JOB_xxx dir.
DIV_xxx/
files under DIV/ might be modified later than the JOB_xxx dir.
Ясно как грязь? :)
Вопросы:
- Если файл изменяется внутри каталога с именем JOB_1234, как это влияет на время изменения каталога?
- Влияет ли изменение файла на время доступа к каталогу? Должен ли я использовать время доступа к каталогу с помощью find?
- Есть ли даже переключатель времени доступа к каталогу, потому что я не увидел его на странице руководства моей системы.
- В какой момент время модов каталога изменилось? Когда мы изменим разрешения на это? Сменить владельцев или группу? Что-нибудь еще?
- Когда меняется время доступа к каталогу? Когда файл внутри директории доступен или изменен?
Я читал справочную страницу для поиска, но не нашел свой ответ. Я также прочитал около 8 страниц из моего поиска Google о find
и не нашел там своего ответа.
Эта команда прекрасно работает для поиска модов каталога> 300 дней.
find . -type d -print -mtime +300 | grep -v 'DIV' | grep -P 'JOB' | sort > $outfile
Но мой вопрос больше в том, что если файлы внутри директории были изменены совсем недавно? Учитывая каталог, который начинается с JOB_, как я могу найти самое последнее время изменения файла или каталога для каждого каталога JOB_ и файлов в этом каталоге JOB_?
Спасибо.