При выполнении команды linux rm для удаления файла открывается, затем выключается и перезагружается компьютер, как восстановить дисковое пространство?

3 ответа3

0

Это автоматически. Только открытый файл остается на диске до тех пор, пока они не будут закрыты (и перезагрузка приведет к закрытию программ, поэтому система закрывает эти файлы).

fschk освободит место на диске, если система внезапно остановилась (потеря электричества). Примечание: файловые системы с журналами и прочим будут делать это автоматически.

0

В работающей системе вам нужно закрыть процесс, который блокирует файл. Он помечает как свободное место, используемое удаляемым файлом.

Вы можете найти PID процесса, который блокирует ваши удаленные файлы, с помощью этой команды: lsof -nP | grep '(deleted)'

Как только вы получите список PID, вы можете попытаться закрыть соответствующую программу или убить ее.

0

Вы можете просто перезаписать данные удаленного файла пустым содержимым.

Шаг 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)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .