1. Установка Линукс
Поскольку изображений слишком много, перепечатайте подробное руководство по установке с конфигурации виртуальной машины vmware на centos7.
https://www.cnblogs.com/wcwen1990/p/7630545.html
2. Общие команды Linux
2.1 Общий каталог
/bin |
Храните бинарные исполняемые файлы (ls, cat, mkdir и т. д.), часто используемые команды обычно находятся здесь. |
/etc |
Хранить файлы управления системой и конфигурации |
/home |
Корневой каталог, в котором хранятся все пользовательские файлы, является базовой точкой домашнего каталога пользователя.Например, домашний каталог пользователя /home/user, который может быть представлен ~user |
/usr |
Используется для хранения системных приложений, более важный каталог /usr/local Локальный каталог установки программного обеспечения системного администратора (установка приложений системного уровня). Это самый большой каталог, и почти все приложения и файлы, которые будут использоваться, находятся в этом каталоге. /usr/x11r6 Каталог, в котором хранятся окна x. /usr/bin многочисленные приложения /usr/sbin Некоторые программы управления для суперпользователей /usr/doc документация по линукс Заголовочные файлы, необходимые для разработки и компиляции приложений в /usr/include linux /usr/lib Файлы конфигурации для часто используемых библиотек динамической компоновки и программных пакетов. /usr/man справочная документация /usr/src исходный код, исходный код ядра linux помещается в /usr/src/linux /usr/local/bin Локально добавленные команды /usr/local/lib Локально добавленные библиотеки |
/opt |
Там, где размещаются дополнительно установленные дополнительные пакеты приложений. При нормальных обстоятельствах мы можем установить tomcat и т. д. здесь. |
/proc |
Каталог виртуальной файловой системы — это отображение системной памяти. Доступ к этому каталогу можно получить напрямую для получения системной информации. |
/root |
Домашний каталог суперпользователя (системного администратора) (привилегированный класс ^o^) |
/sbin |
Хранит двоичные исполняемые файлы, доступ к которым может получить только root. Здесь хранятся команды управления системного уровня и программы, используемые системными администраторами. Такие как ifconfig и так далее. |
/dev |
Используется для хранения файлов устройств. |
/mnt |
Системный администратор устанавливает точку монтирования временной файловой системы.Система предоставляет этот каталог, чтобы пользователи могли временно монтировать другие файловые системы. |
/boot |
Сохраняет различные файлы, используемые при загрузке системы. |
/lib |
Сохраняет общие библиотеки и модули ядра, необходимые программе в файловой системе для запуска. Общая библиотека также называется динамической общей библиотекой, которая похожа на файл .dll в Windows и хранит общие файлы, необходимые для работы программы корневой файловой системы. |
/tmp |
Он используется для хранения различных временных файлов и является общедоступной точкой хранения временных файлов. |
/var |
Он используется для хранения файлов, в которых необходимо изменить данные во время выполнения, а также является областью переполнения для некоторых больших файлов, таких как файлы журналов различных служб (журналы запуска системы и т. д.) и т. д. |
/lost+found |
Этот каталог обычно пуст, а «бездомный» файл (то, что в Windows называется .chk) остается здесь, когда система аварийно завершает работу. |
2.2 Основной формат команды
2.2.1 Командная строка
[root@xiaoming ~]#
- root в настоящее время зарегистрированный пользователь
- локальное имя хоста
- ~ Текущий рабочий каталог, по умолчанию это домашний каталог текущего пользователя, root — это /root, а обычные пользователи — /home/username
- Подсказка Суперпользователь #, обычный пользователь $
2.2.2 Формат команды
- команда [опции] [параметры]
- Когда есть несколько вариантов, их можно записать вместе
- Существует два типа общих параметров: упрощенное и полное написание.
-a
а также--all
Эквивалент
2.2.3 ls
- Запросить содержимое каталога
- ls [параметры] [файл или каталог]
- Опции
- -a показать все файлы, включая скрытые файлы
- -l показать подробную информацию
- -d Просмотр свойств самого каталога вместо подфайлов ls /etc/
- -h отображать размер файла удобным для человека способом
- -i Показать inode, то есть i узел, каждый узел имеет идентификационный номер
- Список файлов в текущем каталоге по умолчанию
-l
показать детали
drwxr-xr-x . 1 root root 800 Sep 16 00:19 logs
drwxr-xr-x | . | 1 | root | root | 800 | Sep 16 00:19 | logs |
---|---|---|---|---|---|---|---|
Типы файлов и разрешения | Разрешения ACL | количество ссылок на жесткие ссылки | владелец | группа | Размер файла | Последнее изменение | имя файла |
Типы файлов и разрешения
-rw-r--r--
- тип файла - файл, каталог d, файл символической ссылки l
- u (владелец), g (группа), o (другой)
- r(чтение) для чтения, w(запись) для записи, x(выполнение) для выполнения
2.3 Команды обработки файлов
2.3.1 mkdir
- создать каталог создать каталог
- mkdir -p [имя каталога]
- -p создать рекурсивно
2.3.2 cd
- сменить каталог сменить каталог
- компакт-диск [каталог]
- ~ домашний каталог
- домашний каталог
- последний каталог
- . Текущий каталог
- .. Родительский каталог
- Относительный путь относится к текущему каталогу
- Абсолютные пути начинаются с корневого каталога
- Нажмите TAB, чтобы завершить команды и каталоги
2.3.3 pwd
- показать текущий каталог pwd
2.3.4 rmdir
- удалить пустой каталог
- rmdir [имя каталога]
2.3.5 rm
- удалить файл или каталог удалить
- rm [файл или каталог]
- -r удалить каталог
- -f принудительно удалить
- rm -rf файл или каталог] рекурсивно принудительно удалить все каталоги
2.3.6 cp
- копировать команду копирования
- скопировать [исходный файл или каталог] [целевой файл]
- -r Копировать каталог, по умолчанию копируется файл
- -p копировать с атрибутами файла
- -d Если исходный файл является связанным файлом, скопируйте свойства ссылки
- -a эквивалентно -rpd
2.3.7 mv
- Переместить файл или переименовать
- mv [исходный файл или каталог] [целевой файл]
2.3.8 ln
- команда ссылки, создать файл ссылки
link
2.3.8.1 Функция жесткой ссылки
- С тем же i-узлом и блоком хранения его можно рассматривать как один и тот же файл.
- Можно получить доступ через i-node
- не может охватывать разделы
- нельзя использовать для каталогов
- обычно не используется
2.3.8.2 Функция программной ссылки
- ln -s [исходный файл] [целевой файл]
- -s создать мягкую ссылку
- Похоже на: Ярлыки Windows
- Мягкая ссылка имеет свой собственный i-узел и блок блоков, но в блоке данных хранятся только имя файла и номер i-узла исходного файла, а фактические данные файла отсутствуют.
- lrwxrwxrwx l Права доступа к файлам программных ссылок — все 777
- Изменение любого одного файла изменит другой
- Удалите исходный файл, программные ссылки использовать нельзя
- Исходный файл программной ссылки должен указывать абсолютный путь
2.4 Команды поиска файлов
2.4.1 locate
- Поиск по имени файла в фоновой базе данных, скорость относительно высокая
- данные хранятся в
/var/lib/mlocate
Фоновая база данных, обновляемая раз в сутки - Могу
updatedb
команда для немедленного обновления базы данных - Можно искать только имена файлов
-
/etc/updatedb.conf
файл конфигурации индексации- PRUNE_BIND_MOUNTS = "yes" Все вступает в силу, открывается лимит поиска
- Файловые системы, которые не ищет PRUNEFS
- Типы файлов, игнорируемые PRUNENAMES
- Пути, игнорируемые PRUNEPATHS /tmp
2.4.2 whereis
- Путь к команде поиска и расположение справочной документации
- где имя команды
whereis ls
- -b найти только исполняемые файлы
- -m найти только файлы справки
2.4.3 which
- Псевдонимы можно увидеть
which ls
- Все, что вы видите, это установленные извне команды.
- Невозможно просмотреть команды, поставляемые с оболочкой, такие как
which cd
2.4.4 Переменные среды
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
- Определяет путь команды системного поиска
- echo $PATH
2.4.5 find
- команда поиска файлов
- найти [область поиска] [критерий поиска]
2.4.5.1 Поиск по имени
- Избегайте крупномасштабных поисков, которые потребляют много системных ресурсов.
find / -name aaa.log
2.4.5.2 Подстановочные знаки
- find – это поиск полных имен файлов в системе. Если вам нужно найти совпадение, используйте сопоставление с подстановочными знаками, подстановочный знак – это точное совпадение.
- подстановочный знак
-
*
соответствовать чему угодно -
?
соответствует любому символу -
[]
соответствует любому символу в скобках
-
find . -name "ab[cdef]"
2.4.5.3 -i
нечувствительный к регистру
find / -iname A.log
2.4.5.4 -user
Поиск по владельцу
find /root -user root
find /root -nouser
2.4.5.5 Поиск по времени
find /nginx/access.log -mtime +5
параметр | имея в виду |
---|---|
atime | время доступа к файлу |
ctime | изменить атрибуты файла |
mtime | Изменить содержимое файла |
параметр | имея в виду |
---|---|
-5 | Документы изменены в течение 5 дней |
5 | Файлы в настоящее время изменены 5 дней назад |
+5 | Файлы изменены 5 дней назад |
2.4.5.6 Поиск по размеру
- K в нижнем регистре, M в верхнем регистре
find . -size 100k
параметр | имея в виду |
---|---|
-8k | менее 8К |
8k | Равно 8К |
+8k | Больше 8K |
+8M | менее 8 млн. |
2.4.5.7 Поиск по i-узлу
find . -inum 123456
2.4.5.8 Интегрированное приложение
find /tmp -size +10k -a -size -20k
- Найти файлы больше, чем 10 КБ и меньше 20 КБ в каталоге / etc
- -a и логическое И, выполняются оба условия
- -o или логическое или, может быть выполнено одно из двух условий
find /tmp -size +10k -a -size -20k -exec ls -lh {} \;
- exec работает с результатом предыдущей команды
2.4.5.9 grep
- Сопоставление совпадающих строк в файлах
- grep "10" access.log
-
-i
игнорировать регистр -
-v
Исключить указанную строку
-
- найти порядок, в котором система ищет квалифицированное имя файла, если вам нужно сопоставить, используя сопоставление с подстановочными знаками, подстановочный знак является точным соответствием
- Команда grep ищет в файле совпадающие строки. Если вам нужно сопоставить, используйте регулярные выражения для сопоставления, а регулярные выражения включают сопоставление
2.5 Справочные команды
2.5.1 Основное использование
- команда man Получить справку по указанной команде
-
man ls
Посмотреть справку
man -f ls
whatis ls
man 1 ls
man 1p ls
2.5.2 Поиск по ключевым словам
- man -k passwd
2.5.3 Оболочка Внутренняя помощь
-
whereis
Если найдете, то снаружи, если не найдете, то внутри.help cd
2.6 Команды сжатия и распаковки
.zip
.gz
.bz2
.tar.gz
.tar.bz2
2.6.1 почтовый формат
- zip файл zip zip имя файла исходный файл
- zip каталог zip -r zip имя файла исходный каталог
- распаковать разархивировать имя сжатого файла
mkdir book touch book/1.txt touch book/2.txt zip -r book.zip book unzip book.zip
2.6.2 gzip
Заказ | Пример | имея в виду |
---|---|---|
исходные файлы gzip | gzip a.txt | Сжатый как сжатый файл в формате .gz, исходный файл исчезнет |
gzip -c исходный файл > сжать файл | gzip -c yum.txt > yum.txt.gz | Сжат как сжатый файл в формате .gz, исходный файл не исчезнет |
gzip -r каталог | gzip -r xx | Сжимает все подфайлы в каталоге, но не сжимает каталог |
gzip -d сжатое имя файла | gzip -d yum.txt.gz | Разархивируйте файл, не сохраняя сжатый пакет |
сжатые файлы gunzip | gunzip yum.txt.gz | Разархивируйте файл, не сохраняя сжатый пакет |
- Сжатие — это сжатие файлов в каталоге
2.6.3 Сжатие формата .bz2
Заказ | Пример | имея в виду |
---|---|---|
исходный файл bzip2 | bzip2 1.txt | Сжат в файл формата .bz2, исходный файл не сохраняется |
bzip2 -k исходный файл | zip2 -k 1.txt | Сжат в файл формата .bz2 с сохранением исходного файла |
bzip2 -d имя сжатого файла | bzip2 -d 1.txt.bz2 | Разархивируйте сжатый пакет |
сжатое имя файла bunzip2 | bunzip2 1.txt.bz2 | Разархивируйте сжатый пакет |
- bzip2 не может сжимать каталоги
2.6.4 tar
- пакетная команда
- tar -cvf имя файла пакета исходный файл
- -C пакет
- -v показать процесс
- -f указывает имя упакованного файла
tar -cvf book.tar book
gzip book.tar
bzip2 book.tar
- х распаковать
tar -xvf book.tar
2.6.4 Формат сжатия
компрессия
tar –cvf jpg.tar *.jpg //Упаковать все файлы jpg в каталоге в tar.jpg
tar –czf jpg.tar.gz *.jpg //Упаковать все файлы jpg в каталоге в jpg.tar и сжать его с помощью gzip для создания сжатого пакета gzip с именем jpg.tar.gz
После каталога TAR -CJF jpg.tar.bz2 * .jpg // упаковывать все файлы jpg в jpg.tar, и он сжимается с BZIP2, для генерации сжатого пакета BZIP2 с именем jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //Упаковать все файлы jpg в каталоге в jpg.tar и сжать его с помощью compress для создания сжатого пакета umcompress с именем jpg.tar.Z
rar a jpg.rar *.jpg //Сжатие в формате rar, сначала нужно скачать rar для linux
zip jpg.zip *.jpg //Сжатие в формате zip, сначала нужно скачать zip для linux
распаковывать
tar –xvf file.tar //распаковать пакет tar
tar -xzvf file.tar.gz // распаковать tar.gz
tar -xjvf file.tar.bz2 // распаковать tar.bz2
tar –xZvf file.tar.Z // распаковать tar.Z
unrar e file.rar // распаковать rar
разархивировать файл.zip //распаковать zip
2.7 Команды выключения и перезапуска
2.7.1 shutdown
команда завершения работы
- -c отменяет предыдущую команду выключения
- -h выключение
- -r перезапустить
shutdown -r 06:00 shutdown -c
2.7.2 init
неисправность
init 0
перезагружать
init 6
системный уровень запуска
- 0 выключение
- 1 но пользователь
- 2 не полностью многопользователь, не включает услуги NFS
- 3 полностью многопользовательских
- 4 не назначено
- 5 Графический интерфейс
- 6 Перезагрузка
2.7.3 logout
выход
logout
2.9 Просмотр информации о пользователе для входа
2.9.1 w
Просмотр информации о пользователе для входа
- USER имя пользователя для входа
- Терминал входа в систему TTY локальный терминал tty1 pts/0 удаленный терминал
- С логин IP
- ВХОД время входа
- IDLE время простоя пользователя
- JCPU Время, затрачиваемое всеми процессами этого терминала
- PCPU Время, затрачиваемое текущим процессом
- КАКАЯ команда выполняется
2.9.2 who
Просмотр информации о пользователе для входа
- USER имя пользователя для входа
- Терминал входа в систему TTY локальный терминал tty1 pts/0 удаленный терминал
- LOGIN время входа (логин IP)
2.9.3 last
Просмотр информации о текущем и прошлом вошедшем в систему пользователе, читаемой по умолчанию/var/log/wtmp
документ
- имя пользователя
- терминал входа
- Логин IP
- Время входа
- Время выхода (время онлайн)
2.9.4 lastlog
Просмотр времени последнего входа всех пользователей
- имя пользователя
- терминал входа
- Логин IP
- Время последнего входа
3. shell
- Оболочка — это интерпретатор командной строки, который предоставляет пользователю интерфейс программы системного уровня, которая отправляет запросы к ядру Linux для запуска программ.
- Пользователь может использовать оболочку для запуска, приостановки, остановки или написания некоторых программ.
- Shell также является очень мощным языком программирования, простым в написании, отладке и гибким.
- Shell - это язык сценариев, который интерпретируемый и выполнен, а команды системы Linux могут быть напрямую в оболочке.
3.1 Просмотр поддерживаемых оболочек
- /etc/shells
3.2 echo
- команда вывода
- --e поддерживает преобразование символов с обратной косой чертой
управляющие символы | эффект |
---|---|
\a | вывод предупредительного звукового сигнала |
\b | Клавиша Backspace, также известная как клавиша удаления слева |
\n | новая линия |
\r | войти |
\t | Символ табуляции, также известный как клавиша табуляции |
\v | вертикальная вкладка |
\onnn | Вывод символов в соответствии с восьмеричной кодовой таблицей ASCII, где 0 — ноль, nnn — трехзначное восьмеричное число. |
\xhh | Вывод символов в соответствии с шестнадцатеричной кодовой таблицей ASCII, где hh — двузначное шестнадцатеричное число. |
3.3 Написание оболочки выполнения
#!/bin/bash
echo -e "\e[1;34m hello world \e[0m"
Дайте разрешение на выполнение для запуска напрямую
chmod 755 hello.sh
./hello.sh
Выполнить скрипт через вызов Bash
bash hello.sh
3.4 Псевдонимы
- псевдоним команды == псевдоним
- Предварительный
- alias
- alias rm="rm -i"
- Запишите файл конфигурации переменной среды vi ~/.bashrc
- source ~/.bashrc
- unalias псевдоним удалить псевдоним
3.5 Последовательность эффективных команд
- абсолютный путь или относительный путь
- псевдоним
- внутренняя команда bash
- Первая команда, найденная в порядке поиска в каталоге, определяемом переменной окружения $PATH.
3.6 Сочетания клавиш
Заказ | имея в виду |
---|---|
ctrl+c | Принудительно завершить текущую команду |
ctrl+l | чистый экран |
ctrl+a | Переместите курсор в начало командной строки |
ctrl+e | Переместите курсор в конец командной строки |
ctrl+u | Удалить от позиции курсора до начала строки |
ctrl+z | поставить команду в фоновом режиме |
ctrl+r | Поиск в истории команд |
3.7 Команды истории
- история [опции] [файл сохранения команды истории]
- Опции
- -c команда очистки истории
- -w Записать команды истории из кеша в файл сохранения команды истории ~/.bash_history
- Сохранить 1000 по умолчанию /etc/profile HISSIZE=10000
3.8 Вызов
- Используйте стрелки вверх и вниз для вызова предыдущих команд истории
- Используйте !n, чтобы повторить n-ю команду истории
- Используйте !!, чтобы повторить предыдущую команду
- Используйте символ !, чтобы повторить последнюю команду, начиная со строки
3.9 Символы труб
3.9.1 Последовательное выполнение нескольких команд
(1) ; Точка с запятой, соединитель без какой-либо логической связи. Когда несколько команд соединены точкой с запятой, успех или неудача каждой команды не влияют друг на друга и будут выполняться одна за другой.
(2) || Логика или при использовании этого коннектора для соединения нескольких команд предыдущая команда выполнена успешно, то следующая команда не будет выполнена. Передняя команда не удалась, и задняя команда будет выполнена.
(3) && Логическое И, при использовании этого соединителя для соединения нескольких команд предыдущая команда будет выполнена успешно, а последняя команда будет выполнена. напротив ||.
(4) | Символ вертикальной черты при использовании этого соединителя для соединения нескольких команд правильный вывод выполнения предыдущей команды будет передан следующей команде для продолжения обработки. Если предыдущую команду не удастся выполнить, будет сообщено об ошибке, и если последняя команда не сможет обработать вывод предыдущей команды, также будет сообщено об ошибке.
- date;ls;date;ls
- ls && echo yes || echo no
3.9.2 Символ трубы
- Правильный вывод команды 1 будет использоваться в качестве объекта операции команды 2.
- команда1|команда2
ls /etc/ | more netstat -an | grep ESTABLISHED | wc -l
3.9.3 Подстановочные знаки
Соответствует именам файлов и именам каталогов|подстановочные знаки|функции| |:----|:----| ]| соответствует любому символу в скобках | |[-]| соответствует любому символу в скобках, - представляет диапазон| |[ ^]| соответствует символу, не указанному в квадратных скобках|
3.9.4 Другие символы
символ | эффект |
---|---|
'' | апостроф. Все специальные символы, такие как $ и ` в одинарных кавычках, не имеют специального значения. |
"" | Двойные кавычки, спецсимволы в двойных кавычках особого значения не имеют, но $`\ является исключением, которое имеет значение вызова значений переменных, заключения команд в кавычки и экранирования |
|
Антикавычки, раскинуть системную команду |
$() | Как анти-кавычки |
# | В сценариях оболочки строки, начинающиеся с #, представляют собой комментарии. |
$ | значение, используемое для вызова переменной |
\ | побег символ |
- a=`ls`
- b=$(ls)
4. Ви-редактор
- VI visual interface
- Визуальный интерфейс
- Аналог блокнота в windows
- vim поддерживает многоуровневую отмену
- Кроссплатформенность
- подсветка синтаксиса
- Поддержка графического интерфейса
4.1 Режимы работы
- :с сохранить
- :q выйти
- :!Принудительное сохранение
- :ls список всех файлов
- :п следующий
- :N предыдущий
- :15 Перейти к указанной строке
- / XXX поиск назад для строки XXX, начиная с позиции курсора
- ? XXX поиск вперед из положения курсора
5. Пользователи и группы пользователей
- Люди, которые используют операционную систему, являются пользователями
- Группа пользователей — это группа пользователей с одинаковыми системными привилегиями.
5.1 Группы пользователей
5.1.1 /etc/group
- /etc/group хранит всю информацию о группах пользователей в текущей системе.
- group:x:123:abc,def
- имя группы: заполнитель группового пароля: номер группы: список имен пользователей в группе
- номер корневой группы 0
- 1-499 Номер зарезервирован системой Зарезервирован для установленного ПО и сервисов
- Группы пользователей, созданные пользователями вручную, начинаются с 500
- Заполнители группового пароля все x
5.1.2 /etc/gshadow
- Сохранить информацию о пароле группы пользователей в текущей системе
- Индивидуальная переписка с записями в группе
- Group: * : :abc
- Имя группы Пароль группы Менеджер группы Имя пользователя в группе
5.1.3 /etc/passwd
- Хранит информацию обо всех пользователях в текущей системе
- user:x:123:456:xxxxx:/home/user:/bin/bash
- Имя пользователя: Заполнитель пароля: Идентификатор пользователя: Информация о комментарии пользователя: Домашний каталог пользователя: Тип оболочки
5.1.4 /etc/shadow
- Хранить информацию о паролях всех пользователей в текущей системе
- user:xxx:::::::
- Имя пользователя Пароль:
6. Операции пользователя
Добавить группу
groupadd student
Изменить название группы
groupmod -n stu student
Изменить номер группы
groupmod -g 111 stu
Добавить группу и присвоить номер
groupadd -g 222 teacher
удалить группу
groupdel 222
Добавить группу
groupadd teacher
Укажите группу для пользователя
useradd -g teacher zhangsan
Укажите группу для пользователя
useradd -g teacher lisi
Укажите рабочий каталог для пользователя
useradd -d /home/zhangsan zhangsan
указать комментарий
usermod -c iamateacher zhangsan
Изменить имя пользователя
usermod -l zhangsan zhangsan2
указанная папка
usermod -d /home/zhangsan2 zhangsan2
Изменить группу пользователей
usermod -g stu zhangsan2
удалить пользователей
userdel zhangsan2
удалить папку владельца
userdel -r lisi
7. Пользовательские команды
Отображает зарегистрированную имени пользователя
whoami
Отображение указанной информации о пользователе, включая идентификатор пользователя, имя пользователя, идентификатор и имя основной группы, а также список подчиненных групп.
id zhangsan
Показать все группы, к которым принадлежит пользователь zhangsan
groups zhangsan
показать информацию о пользователе
finger zhangsan
8. Приложение
8.1 Запуск системы
8.1.1 BIOS
- После включения компьютера первым делом необходимо прочитать загрузочную программу, записанную в микросхему ПЗУ.Эта программа называется (Basic Input/Output System).
8.1.2 Аппаратная самопроверка
- Программа BIOS сначала проверяет, может ли аппаратная часть компьютера соответствовать основным условиям работы, что называется «Самопроверка оборудования» (Power-On Self-Test).
- Если есть аппаратная проблема, материнская плата подаст звуковой сигнал с разными значениями, и загрузка будет прервана. Если проблем нет, на экране отобразится информация о ЦП, памяти, жестком диске и другая информация.
8.1.3 Последовательность запуска
- После завершения самотестирования оборудования BIOS передает управление следующему этапу программы загрузки.
- В это время BIOS необходимо знать, в каком устройстве хранится «загрузочная программа следующего этапа».
- В BIOS должен быть порядок внешних запоминающих устройств, а устройство впереди — это устройство, передающее управление первым. Эта сортировка называется «Последовательность загрузки».
- BIOS передает управление первому запоминающему устройству в «порядке загрузки».
- В это время компьютер читает первый сектор устройства, то есть читает первые 512 байт. Если последние два байта из 512 байтов равны 0x55 и 0xAA, это означает, что устройство можно использовать для загрузки, если нет, то это означает, что устройство нельзя использовать для загрузки, и управление передается следующему устройству в очереди. «последовательность загрузки».
- Первые 512 байт называются «Главная загрузочная запись» (Master boot record, сокращенно MBR)
8.1.4 Структура основной загрузочной записи
- «Главная загрузочная запись» составляет всего 512 байт, не так уж и много. Его основная функция — сообщить компьютеру, где на жестком диске найти операционную систему.
- (1) Байты 1–446: используются для записи информации о запуске системы и вызова машинного кода операционной системы.
- (2) байты 447-510 (64 байта): таблица разделов, функция таблицы разделов состоит в том, чтобы разделить жесткий диск на несколько областей.
- (3) Раздел 511-512 байт: подпись основной загрузочной записи (0x55 и 0xAA)
8.1.5 Таблица разделов
- Разделение диска — это использование редактора разделов для разделения диска на несколько логических разделов.
- Когда диск разделен на несколько разделов, в разных разделах могут храниться разные типы каталогов и файлов.
- Таким образом, «Главная загрузочная запись» должна знать, в какую зону передать управление.
- Длина таблицы разделов всего 64 байта, и она разбита на четыре элемента по 16 байт каждый. Поэтому жесткий диск можно разделить не более чем на четыре раздела первого уровня, также называемых «основными разделами».
- (1) Первый байт: Если это 0x80, это означает, что основной раздел является активным разделом, и право управления должно быть передано этому разделу. Активным может быть только один из четырех основных разделов.
- (2) Байты 2-4: физическое расположение первого сектора основного раздела (цилиндр, головка, номер сектора и т. д.).
- (3) 5-й байт: основной тип раздела, такой как FAT32, NTFS и т. д.
- (4) Байты 6-8: физическое расположение последнего сектора основного раздела.
- (5) Байты 9-12: логический адрес первого сектора основного раздела.
- (6) Байты 13-16: общее количество секторов в основном разделе.
8.1.6 Загрузка с жесткого диска
- Управление компьютером будет передано на раздел жесткого диска
- Из четырех основных разделов активен только один. Компьютер читает первый сектор активного раздела, который называется «Загрузочная запись тома» (сокращенно VBR).
8.1.7 Операционная система
- После передачи управления операционной системе ядро операционной системы сначала загружается в память.
- Возьмите систему Linux в качестве примера, сначала загрузите
/boot
ниже каталогаkernel
. После успешной загрузки ядра первой запускаемой программой будет/sbin/init
. Он запускает процесс инициализации на основе файла конфигурации (/etc/initab в Debian). Это первый процесс после запуска Linux, номер процесса pid равен 1, а остальные процессы являются его потомками. - Потом,
init
Потоки загружают различные модули системы, такие как оконные программы и сетевые программы, до момента выполнения./bin/login
Программа выходит из интерфейса входа в систему и ждет, пока пользователь введет имя пользователя и пароль.