удалить файлы старше X минут

Это зависит от ОС.

Например, в GNU Hurd исполняемый файл загружается сервером exec .

В более типичной монолитной ОС это выполняется следующим образом:

  1. ядро ​​отображает исполняемый файл и динамический компоновщик в памяти;

  2. динамический компоновщик отображает разделяемые объекты в памяти.

Само ядро ​​Linux хранится в виде файла ELF: он загружается загрузчиком (например, GRUB).

2
14.03.2018, 16:50
2 ответа

Просто с помощью команды GNUfind(, если поддерживается):

find. -type f -mmin +30 -delete

Поскольку вы изменили свое состояние, вот обновленная версия:

find. -type f -cmin +15 -delete
7
27.01.2020, 21:55

У меня нет доступа к HP -UX, но в Solaris или любой системе BSD (, т.е. без использования GNU find), следующее будет работать:

find. -type f -cmin +15 -print -exec rm {} +

Это позволит найти все обычные файлы в текущем каталоге или ниже него, чье последнее изменение статуса индексного дескриптора произошло более 15 минут назад. Пути этих файлов будут отображаться, а затем файлы будут удалены.

Чтобы получить интерактивное подтверждение перед удалением чего-либо, используйте

find. -type f -cmin +15 -print -ok rm {} ';'

Большинство файловых систем Unix не отслеживают время создания файла . Предикат -cminдля findбудет сравниваться с ctime файла, т. е. «временем изменения» индексного дескриптора. Если индекс файла не изменился с момента его создания, то это будет его «время создания». Временная метка ctime обновляется при создании файла и изменении прав собственности или разрешений. Изменение содержимого файла также обновляет эту метку времени.

0
27.01.2020, 21:55

Теги

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