Видалення файлів, старших одного року в Linux


18

На той момент у моїй системі все ще багато файлів, і вони мені вже не потрібні, тож як видалити всі файли, які мають річний рік?

Відповіді:


34

Ви можете зробити це за допомогою цієї команди

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

Деякі пояснюють

/path/to/files* це шлях до файлів.

-mtimeвикористовується для визначення кількості днів, у яких цей файл. +365 знайде файли старше 365 днів, що становить один рік

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


Редагувати Завдяки @Oli note -> ви можете це зробити:

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

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

1
@Oli Huh ??? (Те , що ви сказали , не можуть мати рацію, вважаючи , що оболонка витки "{}"в {}перед передачею його findв першу чергу, а потім findзамінниками для нього Цитування. {}Пропонується в разі {і }самі можуть іноді бути оброблені спеціально оболонкою - яка не має ніякого відношення до І це часто {}не потрібно цитувати. Я не можу придумати жодної ситуації, принаймні тоді, коли виклик знахідки з оболонки в стилі Борна, коли {}, не маючи всередині себе, не з'явившись як аргумент, треба цитувати. Ви можете?)
Елія Каган

1
@EliahKagan Так, виявляється, findручки рятуються для себе, але це не погана звичка бути під час створення сценаріїв. Це не боляче.
Олі

2
@ Oli Але це не допомагає навіть в принципі. Якби findне впоралися з втечею, "{}"все одно матимуть такий же ефект, як - {}просто б і не працювало, замість того, щоб обидва працювали. Та {}й "{}"поводитись так само не - і не може бути - через якусь особливість знаходження. Плутати те, що розширюється оболонкою, і те, що розширюється якоюсь іншою програмою, - це погана звичка. Ми всі робимо цю помилку періодично, але все ж помилка - не найкраща практика. (Можна все-таки цитувати, {}щоб допомогти людям зрозуміти, що це не зразок для розширення дужок, але це не пов'язане з розщепленням слів.)
Елія Каган
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.