Компилятор GCC, вызывающий ошибку незаконной ссылки для доступа noxim

Для этой цели создан инструмент:

truncate -s 0 filename

Это очистит содержимое, но оно все равно будет тем же самым (индод останется таким же).

Это важно, потому что некоторые программы содержат дескриптор файла «inode». Предположим, вы «пустили» файл, используя наивный метод удаления и воссоздания файла. Некоторые программы могут по-прежнему держать дескриптор старого файла (со старым контентом), даже если он больше не отображается в обычном виде, например ls.

Некоторые ссылки на более подробные сведения в конце этого ответа .

Другой способ, возможно, легче запомнить:

echo -n > filename

Это также сохраняет тот же индекс.

Обратите внимание, что оба truncate и echo -n не определены inode .

Для соблюдения POSIX используйте cat /dev/null:

cat /dev/null > filename

Еще один способ, больше

> filename

Если файл для обрезания требует прав root для записи, тогда следующие строки не будут работать, как ожидалось:

[ f5]

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

Обходным решением является отсрочка перенаправления в оболочку, выполненную используя привилегии sudo, такие как:

sudo sh -c "echo -n > filename"

Используя truncate, вам не нужно такое обходное решение, потому что доступ на запись не выполняется оболочкой, а truncate, который выполняется sudo, используя привилегии sudo .

sudo truncate -s 0 filename

Для некоторых подробностей о программах, в которых файл открыт, даже если файл был удален, вы можете прочитать следующее:

https: //stackoverflow.com/questions/2028874/what-happens-to-an-open-file-handler-on-linux-if-the-pointed-file-gets-moved-de https://serverfault.com/questions / 501963 / how-to-recover-free-space-on-deleted-files-without-restarting-the-referencing-pr https://unix.stackexchange.com/questions/182077/best-way-to-free- disk-space-from-deleted-files-that-are-held-open

1
задан 11 August 2015 в 17:19

0 ответов

Другие вопросы по тегам:

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