Удаление среды рабочего стола

Why not just move the pointer that points to the first line of the file and move it to the line that we want?

Потому что не существует такого понятия, как «указатель, указывающий на первую строку файла».

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

Большинство файловых систем хранят файлы в блоках фиксированного -размера, за исключением того, что последний блок может быть частичным. Невозможно изменить данные на месте, если модификация изменит размер того, что модифицируется, если только изменение не будет в конце или модификация не сдвинет данные на целое число блоков. Сдвиг данных на целое число блоков будет работать только по совпадению, и для этого нет широко распространенного интерфейса¹.

Самый эффективный способ удалить данные в начале файла — скопировать данные, которые необходимо сохранить, в новый файл. Именно это и делают tail -n +42или sed '41,$p'.

¹ Современные системы Linux имеют системный вызов для удаления части файла :fallocate(fd, FALLOC_FL_COLLAPSE_RANGE, …), который можно вызвать с помощью утилитыfallocate --collapse-range=…. Также есть FALLOC_FL_INSERT_RANGEи --insert-range. Но они ограничены блоками, что делает их практически бесполезными для текстовых файлов, и они доступны не для всех файловых систем.

1
05.05.2019, 15:18
1 ответ

Не будет конфликтов файлов при установке KDE Plasmaи ГНОМ; однако, если вы хотите сэкономить место:

Используйте эту команду для удаления Gnome Desktop:

yum remove @gnome-desktop 
1
28.01.2020, 00:51

Теги

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