Как удалить файл, к которому недавно не получили доступ?

Как найти файл на Ubuntu, которая не получает доступ для недавно? Я хочу удалить все файлы, к которым не получали доступ в течение долгого времени. Если я сделаю это вручную, то это использует много времени. Есть ли какая-либо команда для этого?

2
задан 5 October 2016 в 13:47

2 ответа

Команда 'находки' имеет опцию, названную '-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 является количеством каталогов для понижения через.

6
ответ дан 2 December 2019 в 01:32

Это походит на задание для find

Пример:

find -atime +1

Это возвратит все файлы в Вашем текущем каталоге (рекурсивно), к которым получили доступ больше чем 1 день назад

, См. man find для получения дополнительной информации о возможных аргументах для нахождения.

2
ответ дан 2 December 2019 в 01:32

Другие вопросы по тегам:

Похожие вопросы: