хорошо. таким образом, мы решили клавишу Backspace, не работающую.
путем добавления
:map! ^? ^H
в Ваш .exrc файл. для отображения клавиш со стрелками подобным образом можно добавить следующее к тому же .exrc файлу.
:map! ^[OA ^[ka
:map! ^[OB ^[ja
:map! ^[OC ^[la
:map! ^[OD ^[ha
Следует иметь в виду, что все эти 'управляющие коды' создаются не путем простого ввода shift+6 для '^' символ, но путем нажатия следующих клавиш:
возвратите и удалите:
стрелка вверх:
стрелка вниз:
стрелка вправо:
стрелка влево:
Любые строки комментария в Вашем .exrc файле должны быть отмечены "
, вместо #
. И Вы не можете оставить пустые строки в своем .exrc файле, иначе та первая пустая строка - то, где Ваш .exrc прекратит обрабатываться.
После того как они существуют, vi начнет чувствовать немного больше как он, был разработан для использования людьми.:)
для примера того, насколько мощный .exrc файл, проверьте этот .exrc пример Dave Capella.
Давайте забудем init.d
или rcx.d
и сохраните вещи очень простыми. Предположите программирование программы, исключительная ответственность которой состоит в том, чтобы выполнить или уничтожить другие сценарии один за другим.
Однако Ваша следующая проблема состоит в том, чтобы удостовериться, что они работают в порядке. Как Вы выполнили бы это?
И позволяет, предполагают, что эта программа смотрела внутри a scripts
папка для того, чтобы запустить скрипты. Для упорядочивания приоритета сценариев, Вы назвали бы их в, позволяет, говорит числовой порядок. Этот порядок - то, что диктует отношение между init.d
и rc
Другими словами, init.d
содержит сценарии для выполнения и rcX.d
содержит их порядок работать.
X
значение в rcX.d
уровень выполнения. Это могло быть свободно переведено в текущее состояние ОС.
Если Вы роете в rcX.d
сценарии Вы найдете это форматирование:
Xxxabcd
X
заменяется K
или S
, который обозначает то, должен ли сценарий быть killed
или started
на текущем уровне выполненияxx
номер заказаabcd
название сценария (имя не важно однако, где оно указывает, скрипт, который это запустит),Существует несколько различных init систем для Linux. Основными является SysVinit (традиционный), Выскочка (замена Ubuntu), и SystemD (продвинутый Fedora и Gnome). Каталоги /etc/init.d
и /etc/rc?.d
используются SysVinit. Книга может упоминать их относительно Ubuntu, потому что информация немного датирована (Ubuntu раньше использовала SysVinit как все остальные), или потому что те каталоги все еще существуют для совместимости.
/etc/init.d
содержит набор сценариев, каждый содержащий инструкции запустить и остановить сервис. Некоторые из этих сервисов должны быть запущены во время начальной загрузки; другие должны быть запущены в многопользовательском режиме, но не в однопользовательском режиме техобслуживания; и возможно определить различные режимы с различными наборами желаемых сервисов. SysVinit управляет этим через runlevels. Каталог /etc/rc$N.d
содержите сценарии для выполнения при вводе runlevel N (/etc/rc$N.d/S*
) и сценарии для выполнения при отъезде runlevel N (/etc/rc$N.d/K*
). Поскольку много runlevels есть общие сценарии, а не хранят копию сценариев для каждого runlevel, сценарии все хранятся в единственном месте /etc/init.d
, и runlevel-определенные каталоги /etc/rc?.d
содержите символьные ссылки. Кроме того, названия символьных ссылок указывают, должен ли сервис быть запущен (S*
) или остановился (уничтоженный, K*
) в этом runlevel и числовой префикс используются для управления порядком, в котором выполняются сценарии.
Сценарий, ответственный за то, что пересек /etc/rc$N.d
/etc/init.d/rc
(на предварительной выскочке Ubuntu и на Debian; местоположения могут варьироваться на других дистрибутивах Linux).
/etc/init.d
и /etc/rc?.d
еще, и имеет Выскочка вместо этого?
– its_me
10.01.2012, 03:16
/etc/init.d
(вместо Выскочки .conf
файлы в /etc/init
), таким образом, Выскочка все еще поддерживает /etc/init.d
и /etc/rc?.d
для совместимости.
– Gilles 'SO- stop being evil'
10.01.2012, 03:21
/etc/init.d
каталог, где init сценарии принадлежат.
etc/rcX.d
то, где управление ссылок, какие сервисы уничтожаются или запускаются при вводе runlevel X
. Файлы в rcX.d
запуск с K выполняется с параметром stop
, и файлы, запускающиеся с S
выполняются с параметром start
. Это типично для упорядочивания запуска и порядка остановки с помощью двузначного числа после K
или S
. Гарантировать надлежащий запуск и прекратить заказывать - это характерный для двух последовательностей для составления в целом 100.
Программы могут быть отключены на уровне выполнения путем удаления ссылок или изменения случая K
или S
кому: k
или s
.
Править: Администраторы обычно запускают скрипты от /etc/init.d
который может быть символьной ссылкой на другой каталог в зависимости от распределения. (Различные дистрибутивы имеют различные стандарты.)
rcX.d
используются кодом инициализации для изменения уровней выполнения.
/etc/init.d
символьная ссылка на каталог под /etc/rc.d/init.d
– Nikhil Mulley
09.01.2012, 18:41
/etc/init.d
бесполезно без /etc/rcX.d
? И с тех пор /etc/rcX.d
контроллер программ, которые запускаются при запуске, это - функция, подобно тому из /etc/init.d
, корректный?
– its_me
09.01.2012, 18:44
Хотя @BillThor имеет anwered это очень хорошо, вот мое понимание /etc/rcX.d
и /etc/init.d
:
/etc/init.d
содержит сценарии для запуска и остановки отдельных приложений во время начальной загрузки./etc/rc?.d
каталоги представляют различные уровни выполнения, и сценарии, содержавшие в, являются только символьными ссылками на фактические сценарии в /etc/init.d
каталог. Изменение уровней выполнения изменяет режим системы, как очень простой Однопользовательский режим к режиму только для консоли к усовершенствованному графическому интерфейсу.Так, там нет смысла /etc/rc?.d
каталоги без /etc/init.d
самостоятельно (и конечно, наоборот).