Мне нужно открыть необходимые файлы в режиме чтения (только для чтения), чтобы избежать случайного редактирования таких файлов, как /etc/resolv.conf или большой файл конфигурации или файл программирования на производственном сервере. Как открыть файлы в режиме только для чтения в текстовом редакторе vim в Linux или Unix-подобной системе?
Вы можете запустить текстовый редактор vim или vi в режиме только для чтения. Вы будете защищены от написания файлов. Существуют различные способы достижения режима защиты от записи в vim.
Как открыть файл в режиме только для чтения:
- Используйте команду view в vim. Синтаксис выглядит следующим образом: view {file-name}
- Используйте опцию командной строки vim/vi. Синтаксис выглядит следующим образом: vim -R {file-name}
- Изменения невозможны с помощью опции командной строки: Синтаксис выглядит следующим образом: vim -M {file-name}
Понимание вариантов
Самый простой синтаксис выглядит следующим образом:
$ view my-important.file
Если вы попытаетесь что-либо написать, вы получите ошибку, которая выглядит следующим образом:
E45: 'readonly' option is set (add ! to override)
Таким образом просто добавьте ! , чтобы заставить перезаписать файл:
:w!
ИЛИ
:x!
Опция -R устанавливает режим только для чтения. Будет установлен параметр «только для чтения». Вы все равно можете редактировать буфер, но вам будет запрещено случайно перезаписывать файл. Если вы хотите перезаписать файл, добавьте восклицательный знак в команду Ex, как в «: w!» Или «: x!».
# vim -R /etc/httpd/httpd.conf
Если вы внесли некоторые изменения и действительно хотите сохранить его, просто введите:
:w!
Опция -m принудительно изменяет файлы. Она сбрасывает опцию ‘write‘. Вы все равно можете изменить буфер, но запись файла вообще невозможна:
$ vim -m mycode.py
Опция -M заставляет опции «modifiable» и «write» отменяться, поэтому изменения не допускаются, и файлы не могут быть записаны.
$ vim -M my-service.sh
Если вы попытаетесь вставить или изменить текст, вы получите сообщение об ошибке на экране: «E21: Cannot make changes, ‘modifiable’ is off»:
Примечание об открытии вкладки в режиме только для чтения в vim / vi
Если вы захотите открыть новую вкладку, синтаксис будет выглядеть следующим образом:
:tab sview file
ИЛИ открыть в одной области экрана:
:view file
Например, отредактируйте /etc/nginx/nginx.conf в режиме только для чтения:
$ sudo vim -M /etc/nginx/nginx.conf
Теперь откройте файл с именем /etc/nginx/conf.d/cyberciti.biz.conf или /etc/nginx/conf.d/default.conf в режиме только для чтения на новой вкладке, для этого используйте:
:tab sview /etc/nginx/conf.d/default.conf
Чтобы перейти к следующему типу вкладок:
:tabn
Чтобы перейти к предыдущему типу вкладок:
:tabp
Чтобы перечислить все вкладки, введите:
:tabs
Примеры возможных выводов данных:
Перевод: Анна Давыдова
Источник: cyberciti.biz
Это интересно: