Как найти файл на Ubuntu, которая не получает доступ для недавно? Я хочу удалить все файлы, к которым не получали доступ в течение долгого времени. Если я сделаю это вручную, то это использует много времени. Есть ли какая-либо команда для этого?
Команда 'находки' имеет опцию, названную '-atime' для точно этого использования. Если Вы хотите найти все файлы рекурсивно в соответствии с каталогом, к которым не получили доступ для использования 30 дней:
find /directory/path/ -type f -atime +29
я думаю, что это всегда использует эту первую команду для списка, какими файлами Вы управляете на перед удалением. Если Вы хотите удалить их использование:
find /directory/path/ -type f -atime +29 -delete
, Как упомянуто Amias в комментариях, не все файловые системы используют atime. Можно также искать к измененному времени (модификации к содержанию файла) с -mtime
, или измененное время (изменяется на полномочия/владение файла и т.д.) с ctime
.
стоит отметить, что find
временная структура необычна в этом, это ищет в единицах с 24 часами в течение многих дней, поэтому что можно думать, 3 дня, находка может думать, только 2 дня. Следовательно использование +29 в течение 30 дней. Эти +
используется для определения, больше, чем количество дней, -
может использоваться для определения меньше, чем.
, Если Вы не хотите, чтобы поиск был рекурсивным, можно ограничить, как далеко он убывает в дерево каталогов с -maxdepth n
, где n является количеством каталогов для понижения через.
Это походит на задание для find
Пример:
find -atime +1
Это возвратит все файлы в Вашем текущем каталоге (рекурсивно), к которым получили доступ больше чем 1 день назад
, См. man find
для получения дополнительной информации о возможных аргументах для нахождения.