Если Вы хотите вставить вывод команды энергии (в противоположность возвращаемому значению вызова функции), необходимо получить его. Это выполняется через :redir
команда, которая позволяет Вам перенаправлять эквивалент энергии стандартного вывода в переменную, файл, регистр или другую цель.
:redir
вид крайне неудобных для использования; я записал бы функцию для инкапсуляции ее функциональности более удобным способом, чем-то как
funct! Exec(command)
redir =>output
silent exec a:command
redir END
return output
endfunct!
После того как Вы объявили такую функцию, можно использовать регистр выражения (как объяснил Chris Johnsen) для вставки вывода команды в позиции курсора. Так, от нормального режима, хита i^R=Exec('ls')
вставить список текущих буферов энергии.
Знайте, что команда выполнится в пространстве имен функций, поэтому при использовании глобальной переменной, у Вас будет к явно пространству имен он путем добавления префикса его g:
. Также отметьте это Exec()
, как записано выше, добавит завершающуюся новую строку даже к короткому выводу. Вы могли бы хотеть добавить вызов к substitute()
в функцию для предотвращения этого.
Также см. https://stackoverflow.com/questions/2573021/vim-how-to-redirect-ex-command-output-into-current-buffer-or-file/2573054#2573054 для большего количества болтовни на приблизительно redir
и ссылка на связанную команду.
Можно заскочить в единственный режим от Личинки. Во время начальной загрузки нажимают Esc на экране начальной загрузки Личинки, когда это предлагает Вам к. Это может просто показать Вам, Личинка со списками каждого ядра - если это так, не нажимает Esc.
Отсюда выберите первую запись и нажмите e для редактирования той записи. Страница вниз к строке, которая запускается с kernel
и нажмите e снова.
Это позволит Вам редактировать всю строку. Прокрутите направо, пока Вы не достигнете конца и удалите splash quiet
от строки, заменяя его single
. Нажмите Enter, чтобы принять изменения и нажать b для начальной загрузки в измененную строку ядра. Это загрузит Вас в однопользовательский режим и должно бросить Вас в корневую оболочку, после того как начальная загрузка завершилась.
Отсюда можно добавить пользователей к системе, изменить пароли пользователя и т.д.
Вы могли бы сделать как предложенный Marco, но его не будет работать над всеми дистрибутивами. Более точно это не будет работать без потребности предоставления пароля root в системах с помощью openrc.
Более универсальный путь, не используя никакие другие загрузочные медиа, состоит в том, чтобы добавить init=/bin/bash
или init=/bin/sh
к параметрам загрузки (это - то, куда Вы поместили single
ответ следующего Marco).
Другая опция, возможно, последнее средство, состоит в том, чтобы загрузиться от съемные носители (как livecd), смонтировать корневой раздел Вашей системы и или chroot к нему или сделать грязное задание на /etc/shadow
. Этим я означаю редактировать его и удалять поле хэша пароля. Но это - грязное (чтение: опасный) метод: Во-первых, /etc/shadow
жизненный файл защиты, и ошибка в ее структуре может создать нарушение защиты или просто повредить много вещей. Для предотвращения ошибок это должно только быть отредактировано с помощью vipw -s
команда - но это только возможно когда Вы chroot в систему. Другие проблемы могли быть вызваны конфликтом/ошибкой, обнаруженным механизмами повышенной безопасности, работающими над системой. Но я не использовал такой до сих пор, так не может сказать, каковы те проблемы могли бы быть.
/etc/shadow
вручную опасно: можно легко испортить систему или возможно даже создать конфликт в некотором механизме повышенной безопасности. Хорошо, я обновлю ответ.
– rozcietrzewiacz
13.08.2011, 13:43
] Это было давно, я не использовал Ubuntu 12.04 Linux коробку. Забыл его логин. Попробовал следующий подход и получил идентификатор логина.[
] []Остановился на загрузчике Grub, поискал опции для редактирования и вернулся в командную строку. В моем случае для редактирования было 'e', а для командной строки - 'c'. После нажатия клавиши 'e' редактируйте опции загрузки и опции изменения командной строки в []F10[] и []Ctrl[]+[]C[] или []F2[].[
] []Используйте любой метод и выпадайте в командную оболочку системного загрузчика (grub). Затем введите ls. Это покажет разделы на диске.[
] [#grub> ls
(hd0) (hd0,msdos5) (hd0,msdos1)
#grub>ls << (the partition of your boot kernel, u can see in the grub list against root option. it will be " root = (hd0,msdos1) >>
]
[]Иначе вы просто проверите ls и /etc/issue или любые соответствующие файлы для информации.[
] []В моем случае мой linux был установлен в (hd0,msdos1). Проверьте passwd в файле etc[
] [#ls (hd0,msdos5)/etc/passwd
]
[]затем[
] [#cat (hd0,msdos5)/etc/passwd
]
[]Проверьте конец фрагмента файла на имя пользователя. Загрузитесь нормально и используйте имя пользователя для входа в систему.[
].
chroot
в него. Можно затем выйтиpasswd
управляйте для сброса корня, пользователя, и т.д. – laebshade 13.08.2011, 18:40