Ubuntu зайти в консоль при загрузке

Обновлено: 02.07.2024

Для работы в Ubuntu пользователь может выбрать один из двух возможных вариантов интерфейса: графический либо интерфейс командной строки. Графический интерфейс (GUI - Graphical user interface) знаком большинству пользователей, в нем для выполнения действий нужно использовать различные элементы рабочего стола. Он имеет свои преимущества, которые выражаются главным образом в удобном и привычном формате подачи информации, а также в отсутствии необходимости знать какие-либо команды.

Однако многие пользователи Linux предпочитают работать в командной строке (CLI, Command Line Interface). Как правило, эти пользователи так или иначе связаны с программированием или системным администрированием, тем не менее знание основ bash будет полезно всем пользователям. Командная строка позволяет выполнять команды значительно быстрее, чем при использовании GUI, при этом экономит ресурсы. Более того, зачастую команды не имеют своих аналогов в графическом интерфейсе и, благодаря этому, дают значительную свободу пользователям в своих действиях. При этом интерфейс командной строки встроен в ядро операционной системы, а значит, он доступен даже тогда, когда вы не можете воспользоваться графической оболочкой. Сами же команды одинаковы для всех операционных систем на базе Linux, будь то Ubuntu, CentOs, Fedora или какая-либо другая.

Что такое bash

Bash расшифровывается как Bourne again shell (что можно перевести как «Еще одна оболочка Борна»), название частично заимствованно от более ранней версии командной оболочки UNIX, которая называлась просто Bourne shell («Оболочка Борна» – по фамилии разработчика Стивена Борна).

Bash позволяет интерактивно взаимодействовать с компьютером, вводя определенные команды и получая на них соответствующий отклик. Также этот командный процессор позволяет выполнять скрипты (команды из файла), может производить автодополнение названий файлов и директорий, допускает использование переменных, операторов ветвления и цикла.
Далее в статье будут приведены самые простые и необходимые для работы в bash команды, которые помогут вам сориентироваться и начать самостоятельно использовать командную строку для своих задач, но сначала необходимо перейти к интерфейсу командной строки.

Используя Ubuntu в качестве операционной системы, вы можете перейти к командной строке двумя путями, а именно через консоль или через терминал.
Если вы хотите зайти в командную строку через терминал, то для этого необходимо нажать Ctrl+Alt+F(1-6) – в зависимости от выбранного номера (F1, F2…) вы попадаете в первую, вторую или другую по счету виртуальную консоль (они независимы и запускаются во время загрузки Ubuntu), каждая из которых имеет интерфейс командной строки. Если вы нажмете Ctrl+Alt+F7, то перейдете в седьмую виртуальную консоль, которая имеет графический интерфейс.

Что касается терминала, то это графическая программа, которая эмулирует консоль. Вы можете найти ее в меню, выбрав «Приложения», затем «Стандартные», а затем «Терминал», либо нажав сочетание клавиш Ctrl+Alt+T. Вы сможете выполнять команды, продолжая находиться в графическом интерфейсе.
Также возможен вариант, когда вам необходимо подключиться к серверу, на котором установлена Ubuntu. В этом случае вам нужно воспользоваться специальной программой (например, puTTy): наберите нужный ip-адрес, а затем введите имя пользователя и пароль.

Примечание.
При вводе пароля в командную строку он не высвечивается – вам нужно просто набрать пароль и нажать Enter. Если пароль введен правильно, вы сможете продолжить работу в командной строке.

Пользователь и система

Используя bash, вы можете легко получить любую необходимую вам техническую информацию о пользователях и системе.
Если вы хотите идентифицировать, под каким пользователем авторизованы в данный момент, вам нужно ввести в командную строку следующую команду:

Если вам нужно узнать не только о вашем, но и о других пользователях, находящихся в данный момент в этой операционной системе, используйте команды:

В отличие от whoami, эти команды показывает более подробную информацию: кроме имени пользователя вы также узнаете о том, какая используется терминальная линия, время начала сеанса, IP-адрес и некоторые другие данные.

Что касается данных о системе, то с ними можно ознакомиться, используя команду uname. Сама по себе эта команда даст вам не так много информации – только название системы. Однако если вы будете использовать ключи, то сможете узнать гораздо больше.

Ключи – это специальные аргументы, которые пишутся через пробел после команды и начинаются с одного или двух дефисов. Они определяют параметры, которые будут применены к команде. Как правило, узнать о доступных ключах вы можете, написав команду и --help (либо -help): к примеру,

У команды uname вы можете задать ключ -a (или --all), и тогда на экран будет выведена вся информация об операционной системе:

Если вас интересуют конкретно данные о ядре, то наберите следующую команду:

В этом случае вы узнаете о релизе и версии ядра операционной системы.
Получить информацию обо всех процессах можно при помощи этой команды:

А команда pstree выведет информацию в виде дерева процессов.

Узнать сетевое имя машины вы можете с помощью команды hostname.

Переход по директориям

В этом разделе вы познакомитесь с основными командами bash, которые позволят вам выполнять самые простые действия в командной строке.
Команда cd позволяет переходить из одной директории в другую. При этом если вы используете команду без ключей, то попадете в домашнюю директорию; для того, чтобы перейти в какую-либо конкретную директорию, необходимо просто прописать ее путь, к примеру:

Вы также можете указывать команду cd с определенными ключами:

cd ../.. - переход на две директории выше;

cd - - переход в предыдущую директорию (в которой вы были до перемещения в нынешнюю).

Команда pwd укажет путь той директории, в которой вы в данный момент находитесь.

Создание, перемещение и удаление

Используйте команду mkdir для создания директории. Не забудьте указать имя:

Новая директория будет создана в той директории, где вы находитесь в данный момент, но вы также можете прописать какой-то другой путь для создания новой директории:

Для создания файла вам нужно ввести команду touch и название будущего файла:

В этом случае прописать путь, где нужно создать файл, тоже возможно:

Для перемещения директорий и файлов используется команда mv, после которой вы пишете название директории или файла, который хотите переместить, а затем место, куда хотите переместить:

Обратите внимание, что команда mv также используется для переименования, поэтому если при отсутствии директории dir2 вы напишете такую команду:

то директория dir1 будет переименована в директорию dir2. Этот пример справедлив и для файлов, которым вы можете давать другие названия при помощи команды mv.

Для удаления файлов следует использовать команду rm, а для удаления директорий rmdir. Если вы хотите удалить каталог, используйте команду rm с ключами -rf:

Еще одно действие, которое вы можете использовать, - это копирование при помощи команды cp. Синтаксис у этой команды такой же, как и у предыдущих, - вы просто пишете, что и куда хотите скопировать. Для копирования директории обязательно нужно использовать ключ -r, при этом если конечная директория (dir2) не существует, то она будет создана при копировании:

Информация о файлах, каталогах и процессах

Для вывода информации о содержании каталога используется команда ls. Если использовать ее без ключей, то она просто выведет информацию об имеющихся в данной (или указанной) директории файлах и директориях. Основные ключи, которые часто используются с этой командой:

-a - вам будут показаны все файлы директории, в том числе те, которые начинаются с . (точки);

-s - запрос информации о размерах файлов (или директорий);

-l - данные о файлах, в частности имя пользователя, который их создал, права доступа и время создания;

-h - перевод размера файлов в удобном для восприятия формат (Кбайт, Мбайт и т.д.).

Также ключи можно комбинировать, поэтому обычно для вывода размера содержимого используется команда:

Другой командой, которая поможет вам получить необходимую информацию, является команда du. К примеру, введя эту команду:

вы получите информацию о размерах и именах файлов.

Информацию о работающих процессах вы можете получить при помощи команды df. Лучше всего использовать ее сразу с ключом -h, чтобы данные были показаны в более удобном для чтения формате:

Поиск и использование регулярных выражений

Для поиска файлов в bash используется команда find. Ее синтаксис следующий: find + нужная директория (путь) + ключ (или несколько) + критерии ключа + (опционально) последующее действие над найденными файлами.

Со множеством ключей этой команды, которые значительно облегчают и сужают поиск, вы можете ознакомиться, введя в командную строку:

К примеру, следующая команда позволит вам найти все файлы, которые находятся в директории dir1, и имеют название file:

Для поиска наиболее удобно пользоваться некоторыми регулярными выражениями, а именно:

* - обозначает любое количество символов, включая их отсутствие (например, по запросу file* будут найдены все файлы: file, file1, file829, fileabc и т.д.);

? - обозначает один символ (по запросу file? будут найдены файлы с одним символом после слова file: file1, file9, filea и т.д.; по запросу file?? будут найдены файлы с двумя символами: file12, file34, file92 и т.д.);

[] - обозначает подмножество значений, которые может принимать один символ (по запросу file1 будут найдены файлы: file1, file2, file3 и так далее до file9; по запросу file[a-d] файлы filea, fileb, filec и filed).

Перенаправление и конвейер

Перенаправление вывода какой-либо команды задается символом > либо >>. Различие в том, что при использовании > вывод команды будет записан поверх содержимого файла, а при использовании >> вывод дописывается в конец файла.

Этим очень удобно пользоваться для логирования, если вы хотите записать какие-либо данные в файл. К примеру, эта команда запишет все найденные согласно указанными параметрам файлы в файл log (он автоматически появится в той директории, в которой вы работаете):

Что касается конвейера, то этот инструмент позволяет использовать вывод одной команды в качестве ввода другой команды. Для этого необходимо использовать символ |:

Если вы введете данную строку, то сначала будут найдены все файлы, которые соответствуют условию, а затем командой sort они будут отсортированы в обратном порядке (из-за использования ключа -r).

Содержимое файлов

Если вы хотите посмотреть содержимое файла, то можете обратиться к команде cat - в ответ на команду вы увидите все, что содержится в файле. Если данных слишком много, используйте конвейер и команду more - она позволит просматривать содержимое постранично:

Если вам нужно не только посмотреть содержимое файла, но и отредактировать его, тогда нужно использовать одну из утилит: nano либо vim. Это текстовые редакторы, при помощи которых вы можете открыть файл, изменить и сохранить его. Несмотря на кажущееся сходство, эти утилиты имеют ряд отличий; большинство пользователей сходится во мнении, что nano представляет собой более простой редактор, в то время как vim обладает большими возможностями.

Заключение

Существует множество различных команд и ключей, которые можно использовать в bash. В данной статье мы остановились лишь на самых основных, базовых командах, при помощи которых вы сможете выполнять операции и получать необходимую информацию.

Я хочу знать, существует ли способ переключиться на консольный режим из меню начальной загрузки. У меня есть NVIDIA 1070 и каждый раз, когда существует обновление, GUI прекращает работать. Все, что я должен сделать, переустанавливают драйверы однако, чтобы сделать это, мне нужна консоль.

4 ответа

После сохранения изменений необходимо работать:

текстовый режим отмены

Для отмены sudo systemctl set-default multi-user.target просто тип

ответ дан WinEunuuchs2Unix 23 November 2019 в 00:56

Нажмите CTRL + ALT + F1 или любая другая функция (F) ключ до F7 , который забирает Вас к Вашему терминалу "GUI". Они должны бросить Вас в терминал текстового режима для каждой различной функциональной клавиши.

Иначе можно загрузиться в режим восстановления, если Вам нужно:

В основном удерживает SHIFT , поскольку Вы загружаетесь для получения меню Grub.

Начальная загрузка в режим восстановления

Сразу после экрана-заставки BIOS/UEFI во время начальной загрузки, с BIOS, быстро нажатие и содержат Клавиша Shift , которая поднимет экран меню GRUB GNU. С нажатием UEFI (возможно, несколько раз) клавиша Esc для получения до экрана меню GRUB GNU. Иногда экран-заставка производителя является частью загрузчика Windows, поэтому когда Вы включаете машину, это переходит прямо к экрану меню GRUB GNU, и затем нажатие Shift является ненужным.

Синхронизация, когда нажать клавишу сдвига влево , может быть хитрой, поэтому иногда при пропавших без вести ее, необходимо попробовать ее снова. Если это не работает, пробуют ответы, мне не могу заставить меню GRUB обнаруживаться во время начальной загрузки.

Вы будете видеть экран меню GRUB GNU, который похож на это:

GNU GRUB menu

Нажмите клавишу со стрелкой вниз, пока Вы не выберете 2-ю запись из вершины (та с режимом восстановления в описании) и затем нажмете Enter дважды.

Теперь необходимо видеть это меню восстановления:

recovery menu

Используя клавиши со стрелками прокручивают вниз, чтобы объединиться в сеть (третья запись от нижней части в Меню восстановления) и затем нажать Enter .

Используя клавиши со стрелками прокручивают вниз, чтобы базироваться (вторая запись от нижней части в Меню восстановления) и затем нажать Enter .

Необходимо теперь видеть корневую подсказку, и можно выполнить команды от нее.

lightdm называют lightdm, потому что это - легкое приложение по сравнению с GDM, который тяжел и занимает больше времени для загрузки. Если у Вас все еще есть lightdm, установил Вас, может переключиться назад на использование lightdm в качестве менеджера по оформлению входа в систему по умолчанию с командой: sudo dpkg-reconfigure gdm3 . Это откроет новое окно, разрешающее Вам выбрать или gdm3 или lightdm в качестве менеджера по оформлению входа в систему по умолчанию.

Перезагрузите компьютер с командой reboot

После этого клавиатура shortcutCtrl+Alt+F3 может начать работать правильно, и позволять Вам запускать Ubuntu с консоли.

Запустите Ubuntu с виртуальной консоли

Откройте виртуальную консоль только для текста при помощи сочетания клавиш Ctrl+Alt+F3 .

В login: запросите вводят Ваше имя пользователя и нажимают Enter .

В Password: запросите вводят Ваш пароль пользователя и нажимают Enter .

Эта статья призвана оказать помощь тем пользователям дистрибутива Ubuntu, которые понимают зачем необходима возможность загрузки системы в консольном режиме (без запуска графики). Некоторое обоснование этого можно найти в исходном варианте статьи 1) .

В Ubuntu уровни запуска (runlevel) 2,3,4,5 абсолютно идентичны по набору системных служб, следовательно бесполезны. Реализовать возможность консольной загрузки можно следующим образом. Необходимо запуск графической оболочки исключить со 2-го уровня, а оставить только на runlevel 3,4,5. По умолчанию, система загружается на runlevel 2, который не предусматривает запуск графического интерфейса. Выполнить же далее загрузку графики можно двумя (как минимум) путями. Первый - командой:

Второй - переведя систему на третий уровень командой:

От версии к версии в Ubuntu все большее количество системных служб запускаются через upstart задания. В 10.04 и следующих релизах запуск графической оболочки выполняется upstart заданием /etc/init/gdm.conf (kdm.conf, lxdm.conf). Берем текстовый редактор, с правами root открываем файл /etc/init/gdm.conf (kdm.conf, lxdm.conf). Вместо:

сохраняемся, выходим. На этом все. Если сейчас перегрузить систему, то получим чистый консольный режим.

Последний штрих. В меню GRUB добавляем пункт, который абсолютно идентичен нашему основному (умолчательному) варианту, а в конец строки kernel (или сразу после параметра root ) среди опций загрузки ядра, через пробел пишем цифру 3. При выборе этого пункта меню GRUB, система загрузится на 3-й уровень, что повлечет автоматический старт графической оболочки. Вот пример фрагмента меню GRUB:

Вот теперь действительно все.

Подводные камни. Беда здесь может быть в том, что и текстовые консоли нынче графические, и для своей корректной работы требуют правильных модулей ядра. Если после первой успешной загрузки системы, по Ctrl + Alt + F1 вы, вместо консольного приглашения ввода имени пользователя, видите черный экран, то не спешите проделывать все вышеописанное. Для начала надо добиться нормальной работы текстовых консолей. В /etc/modprobe.d/blacklist-framebuffer.conf надо указать те модули которые грузятся, но некорректно работают. Например модули fbcon и vgafb (тут правда все довольно индивидуально). После внесения правок в этот файл надо пересобрать файл initrd-xxxxxxx:

Перегрузиться и посмотреть появились ли текстовые консоли. Если нет, значит продолжаем поиски до достижения положительного результата.

Иногда после установки Linux GRUB загрузчик показывает консоль вместо списка операционных систем. В статье расскажу как попросить grub начать загрузку системы через консоль.

Запускаем Linux через консоль GRUB

Если при загрузке компьютера появилась консоль grub, то не отчаивайтесь:

Grub консоль. Запускаем Linux

Для начала надо определить на каком диске находится система. В этом поможет команда:

Введите её и появится список всех дисков и разделов:

Grub консоль. Запускаем Linux

Теперь надо пройтись по всем дискам и разделам, чтобы найти два файла. Эти файлы начинаются на vmlinuz и initrd.img. В поиске этих файлов поможет та же команда ls. Скорее всего файлы будут лежать в корневой директории раздела '/'. Начинаем перебирать все диски и разделы:

Перебираем до тех пор, пока не найдём фалы vmlinuz и initrd.img. Верный результат будет выглядеть примерно так:

Grub консоль. Запускаем Linux

Запускаем Linux

Теперь надо запустить Linux. К сожалению, придётся минимум один раз наступить на грабли, но о них чуть позже.

Для загрузки Linux необходимо ввести следующие команды:

set root=(hd1,gpt2)

linux /vmlinuz-4.4.0-53-generic root=/dev/sda1

initrd /initrd.img-4.4.0-53-generic

boot

В приведённом примере необходимо заменить все пути и названия файлов на свои.

Чтобы облегчить задачу по набору всех значков в именах файлов, можно время от времени нажимать TAB на клавиатуре. Консоль сама будет завершать названия файлов. К примеру, набрали из второй строки "linux /vm", затем нажали TAB, строчка сама дописалась до "linux /vmlinuz-4.4.0-53-generic".

ALERT! /dev/sda1 does not exist Dropping to shell!

При загрузке система монтируется на определенный раздел, в который её устанавливали. К примеру, если установка происходила в /dev/sda1 надо смонтировать систему туда. Но если система была установлена не в /dev/sda1, то во время запуска система выдаст ошибку:

ALERT! /dev/sda1 does not exist. Dropping to shell!

Это и есть грабли, о которых говорил ранее. На второй строчке примера было указано root=/dev/sda1:

linux /vmlinuz-4.4.0-53-generic root=/dev/sda1

Необходимо задать правильный раздел, потому что /dev/sda1 не подходит. Для этого вводим команду:

Появится список всех смонтированных разделов и их адреса:

Grub консоль. Запускаем Linux

Находим что-то похожее на root. В моём примере это

Перезапускаем систему и заново вводим в консоль grub все известные команды, но уже с правильным разделом для root:

set root=(hd1,gpt2)

linux /vmlinuz-4.4.0-53-generic root=/dev/mapper/mint--vg-root

initrd /initrd.img-4.4.0-53-generic

boot

Заключение

В статье описан один способов запуска linux через grub консоль. Есть и другие методы запуска. Читайте о них в следующих статьях.

Читайте также: