Archive for the ‘Linux’ Category

Получение root привелегий при сохранении файла

Sunday, September 20th, 2009

В очередной раз редактировав конфигурационный файл в /etc директории при сохранении обнаружил что забыл вызвать vim через sudo и как следствие – permission denied.
Понятно что можно извратиться – сохранить в другое место, потом переписать и пр. но оказывается есть способ намного элегантнее.
Основан на использовании команды tee, о которой до этого не подозревал.
Ну и само решение:

:w !sudo tee %

% заменяется на имя редактируемого файла, остальное все должно понятно.
vim обнаружит что файл был изменен и выдаст соответсвующее предупреждение:
Warning: File “file.name” has changed and the buffer was changed in Vim as well
и сразу можете спокойно выходить – изменения сохранены.