Использование sed
,
$ echo "ab^cd^ef" | sed 's,\^, ,g'
ab cd ef
Уже , прокомментированный @jasonwryan , вы можете использовать замену строки встроенной оболочки,
$ str="ab^cd^ef"
$ echo "${str//^/ }"
ab cd ef
Другой вариант, предложенный @someonewithpc
$ echo "ab^cd^ef" | sed 'y,^, ,'
ab cd ef
(Примечание: y
используется для преобразования символов.)
По умолчанию файловые системы ext2, ext3 и ext4 резервируют 5% своей емкости для использования пользователем root. Это уменьшает фрагментацию и снижает вероятность того, что у пользователя root или любых демонов с root-правами закончится дисковое пространство для выполнения важных операций. Более подробную информацию о причинах этой оговорки можно найти в ответах на этот связанный вопрос .
Вы можете проверить размер резервирования с помощью команды tune2fs
:
tune2fs -l /dev/md2 | grep "Reserved block count:"
Процент резервирования можно изменить с помощью параметра -m
в tune2fs
] команда:
tune2fs -m 0 /dev/md2
Количество зарезервированных зарезервированных блоков можно изменить с помощью параметра -r
команды tune2fs
:
tune2fs -r 0 /dev/md2
Зарезервированное пространство наименее полезно в больших файловых системах со статическим контент, не связанный с операционной системой. Для таких файловых систем разумно уменьшить резервирование до нуля.Файловые системы лучше оставить с 5% резервированием по умолчанию, включая те, которые содержат каталоги /
, / root
, / var
и / tmp
которые часто используются демонами и другими операционными системными службами для создания временных файлов или журналов во время выполнения.
Чаще всего причиной этого являются удаленные открытые файлы.
Ядро освобождает дисковые блоки удаленного файла только в том случае, если он не используется во время его удаления. В противном случае это откладывается до закрытия файла или перезагрузки системы.
Распространенный прием в мире Unix, чтобы гарантировать, что не осталось временных файлов, заключается в следующем:
Такое поведение гарантирует, что процессам не придется иметь дело с файлами, которые внезапно выдернуты из-под ног, а также что процессам не придется консультироваться друг с другом, чтобы удалить файл. Однако это неожиданное поведение для тех, кто работает с системами Windows, поскольку там вам обычно не разрешается удалять используемый файл.
Команда lsof, запущенная от имени пользователя root, покажет все открытые файлы и конкретно укажет на удаленные файлы, которые были удалены:
# lsof 2>/dev/null | grep deleted
bootlogd 2024 root 1w REG 9,3 58 917506 /tmp/init.0W2ARi (deleted)
bootlogd 2024 root 2w REG 9,3 58 917506 /tmp/init.0W2ARi (deleted)
Остановка и перезапуск виновных процессов или просто перезагрузка сервера должны решить эту проблему.
Удаленные файлы также могут оставаться открытыми ядром, если, например, это смонтированный образ файловой системы. В этом случае нужно размонтировать файловую систему или перезагрузить сервер.
В вашем случае, судя по размеру «недостающего» места, я бы поискал любые ссылки на файл, который вы использовали для настройки VPS, например образ DVD Centos, который вы удалили после установки.