Как мне отредактировать файл в /proc, который можно просматривать с помощью cat, но который не редактируется мышью и abiword?
Как говорится в вопросе, мне нужно отредактировать /proc/acpi/wakeup
файл, но когда я открываю его в любом текстовом редакторе, он показывает пустой файл. cat
Команда, с другой стороны, отображает правильное содержимое файла в терминале. Когда я перехожу к этому файлу в файловом менеджере, он говорит, что его размер равен 0 байтов. Я использую Xubuntu 15.04. Я полностью сбит с толку.
1 ответ
/proc
( manpage, kernel docs) - это виртуальная файловая система (как /sys
- документы ядра). Файлы в /proc
это не настоящие файлы, а способы доступа к информации и настройкам из ядра. Вы не должны использовать редактор для редактирования файлов в /proc
, но напишите прямо в эти файлы:
sudo sh -c 'echo foo > /proc/some/file'
echo foo | sudo tee /proc/some/file
Когда вы пытаетесь читать или писать из него, ядро внутренне преобразует действия в системные вызовы и делает правильные вещи. Некоторые редакторы все еще могут просматривать содержимое (например, попробуйте Vim), но запись в него - это другая история.
Для специального класса файлов, те в /proc/sys
( документы по ядру, Arch Wiki), есть другая альтернатива. Вы можете использовать файлы конфигурации в /etc/sysctl.conf
а также /etc/sysctl.d/*.conf
вносить постоянные изменения в свои ценности. Файл /proc/sys/foo/bar
может быть установлен с помощью ключа foo.bar
в одном из этих файлов.
Например, /proc/sys/vm/swappiness
можно установить, добавив /etc/sysctl.d/90-swappiness.conf
содержащий:
vm.swappiness = 10
И работает:
service procps start
Вы также можете внести одноразовые изменения (которые не сохранятся при следующей перезагрузке), используя sysctl
команда напрямую:
sudo systecl -w vm.swappiness = 10