Удалите файлы старше одного года в Linux


18

К тому времени, многие файлы все еще находятся в моей системе, и они мне больше не нужны, так как удалить все файлы, которым исполнился хотя бы один год?

Ответы:


34

Вы можете сделать это с помощью этой команды

find /path/to/files* -mtime +365 -exec rm {} \;

Некоторые объясняют

/path/to/files* это путь к файлам.

-mtimeиспользуется для указания количества дней, в течение которого данный файл +365 найдет файлы старше 365 дней, что составляет один год

-exec позволяет передать команду, такую ​​как rm.


Редактировать Благодаря заметке @Oli -> вы можете сделать это:

find /path/to/files* -mtime +365 -delete

7
Вы всегда должны цитировать {}в -exec(так что читается -exec rm "{}" \;). Это гарантирует, что пробелы обрабатываются правильно ... И вы можете просто использовать -deleteфункцию вместо -exec.
Оли

1
@ Оли Ха? (То, что вы сказали, не может быть правильным, учитывая, что оболочка превращается "{}"в {}прежде, чем передать ее findв первую очередь; затем findзаменяет ее. Цитирование {}предлагается на тот случай, {и }иногда они могут обрабатываться специально оболочкой - которая не имеет ничего общего с делать с пробелами. И часто {}не нужно заключать в кавычки. Я не могу придумать ни одной ситуации, по крайней мере, при вызове find из оболочки в стиле Борна, когда {}, когда внутри ничего нет, он появляется как аргумент, нужно процитировать. А вы?)
Элия ​​Каган

1
@EliahKagan Да, получается, что findдескрипторы убегают сами по себе, но это не плохая привычка во время написания сценариев. Это не больно.
Оли

2
@ Оли Но это не помогает, даже в принципе. Если findне обработать экранирование, "{}"все равно будет иметь тот же эффект, что и - {}просто не будет работать, вместо того, чтобы работать оба. Это {}и "{}"ведет себя одинаково не - и не может быть - из-за какой-либо особенности поиска. Смешивать то, что расширяется оболочкой, с тем, что расширяется другой программой, - плохая привычка. Мы все время от времени совершаем эту ошибку, но это все же ошибка - не лучшая практика. (Можно по-прежнему цитировать, {}чтобы помочь людям увидеть, что это не шаблон для расширения фигурных скобок, но это не связано с разделением слов.)
Элия ​​Каган
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.