При выполнении команды linux rm для удаления файла открывается, затем выключается и перезагружается компьютер, как восстановить дисковое пространство?
3 ответа
Это автоматически. Только открытый файл остается на диске до тех пор, пока они не будут закрыты (и перезагрузка приведет к закрытию программ, поэтому система закрывает эти файлы).
fschk
освободит место на диске, если система внезапно остановилась (потеря электричества). Примечание: файловые системы с журналами и прочим будут делать это автоматически.
В работающей системе вам нужно закрыть процесс, который блокирует файл. Он помечает как свободное место, используемое удаляемым файлом.
Вы можете найти PID процесса, который блокирует ваши удаленные файлы, с помощью этой команды: lsof -nP | grep '(deleted)'
Как только вы получите список PID, вы можете попытаться закрыть соответствующую программу или убить ее.
Вы можете просто перезаписать данные удаленного файла пустым содержимым.
Шаг 1: определить процесс, занимающий место на диске
Здесь PID 7995
Шаг 2: определить дескриптор файла, указывающий на удаленный файл, здесь fd # 13
$ lsof -p 7995 | grep deleted
ksh 7995 jlliagre 13w REG 252,0 353831 72794942 /tmp/foo1 (deleted)
Шаг 3: перенаправить на него пустую команду
$ : > /proc/7995/fd/13
Шаг 4: убедитесь, что пространство восстановлено:
$ lsof -p 7995 | grep deleted
ksh 7995 jlliagre 13w REG 252,0 0 72794942 /tmp/foo1 (deleted)