Когда я впервые познакомился с командной строкой в Unix в середине 1990-х годов, я должен признать, что был напуган. Я уже некоторое время использовал DOS, но только в оперативном смысле изо дня в день.
Внезапно я столкнулся с обучением администрированию всей системы из командной строки. В частности, когда я начал изучать все тонкости использования редактора VI, все стало намного проще в обращении.
VI запускается из командной строки и может использоваться как привилегированными, так и непривилегированными пользователями. На арене веб-разработки использование экранного редактора, такого как VI, может быть удобно для редактирования файлов httpd.conf, изменения правил брандмауэра, быстрого редактирования файлов конфигурации и, конечно, работы с HTML-страницами или страницами сценариев, такими как Perl, PHP и т. Д.
Некоторые считают, что ВИ более эффективен для работы, чем визуальные редакторы. Я склонен использовать оба, однако, VI полностью функциональный и может использоваться для полного процесса редактирования, от создания новых файлов до более поздних правок. Для продвинутых файлов, которые потребуют обширного редактирования, я все еще прибегаю к своему текстовому редактору BBEdit на OS X. Однако удобно иметь терминал на расстоянии одного клика для локального или удаленного редактирования!
В VI есть два режима: команда и вставка. Командный режим позволяет вводить команды для перемещения по файлу и поиска текста. Режим вставки позволяет полностью редактировать управление и вводить ввод с клавиатуры в файл. Я включил несколько наиболее часто используемых команд при редактировании файлов.
Давайте посмотрим на httpd.conf для примера. Поскольку это файл с ограниченным доступом, если вы откроете httpd.conf как непривилегированный пользователь, он будет находиться в режиме только для чтения. Таким образом, для правок вы должны быть привилегированным пользователем root (или любым другим пользователем, которого вы установили для этой цели).
Чтобы открыть файл, выполните команду vi /etc/httpd/conf/httpd.conf. Оказавшись в файле, есть несколько инструментов для использования.
В командном режиме ввод вводит команды. Например, использование / говорит VI, что ожидать чего-то искать. Таким образом, чтобы найти все записи в файле, относящиеся к динамически загружаемым модулям SSL, я мог бы ввести ‘/ HAVE_SSL’ и нажать Enter.
VI идет к первому совпадению по этому поисковому запросу. Чтобы перейти к следующей записи и продолжить через файл, просто нажмите клавишу N (для следующего).
Чтобы перейти к определенному номеру строки, я могу использовать символ двоеточия и ввести номер, например: 900 — который идет в строку 900 файла. Это очень полезно при поиске ошибок, которые ссылаются на номер строки в файле.
Есть несколько удобных команд для удаления текста, если вам нужно удалить строки (слова), строки или абзацы. Вот некоторые общие нажатия клавиш для удаления:
- удалить текущее слово -> dw
- удалить предыдущее слово -> дб
- удалить всю строку -> дд
- удалить абзац -> d}
Одним из преимуществ удаления, вы можете использовать его для вырезания и вставки текста. Например, если вы удалили абзац, который хотите переместить со строки 10 на строку 1500 файла, вы можете сделать следующее:
Поместите курсор перед абзацем и введите d}. Текст исчезает. Затем введите: 1500, и вы перейдете к строке 1500 в файле. Просто напечатайте «p», чтобы вставить этот удаленный текст в новое место.
Если необходимы изменения, такие как добавление новой записи виртуального сервера в файл httpd.conf, необходимо перейти в режим вставки. Это достигается нажатием клавиши Insert или клавиши I на клавиатуре.
Теперь любая запись клавиатуры добавляется в файл, поэтому будьте осторожны. Вы можете перемещаться по файлу с помощью клавиш со стрелками, вводить ввод в файл и использовать клавиши удаления или возврата, как в визуальном текстовом редакторе. Чтобы выйти из режима вставки после внесения изменений, нажмите клавишу выхода (esc), и вы вернетесь в командный режим.
Если вы хотите сохранить изменения и выйти, введите: wq и нажмите ввод. Чтобы выйти без сохранения изменений (возможно, была допущена ошибка), нажмите: q !, которая отменяет изменения, сделанные в режиме вставки. Наконец, чтобы просто выйти, не внеся никаких изменений, используйте: q.