1. Linux安裝
因?yàn)閳D太多了,轉(zhuǎn)載一篇從虛擬機(jī) vmware 配置到 centos7 詳細(xì)安裝教程
https://www.cnblogs.com/wcwen1990/p/7630545.html
2.linux常用命令
2.1 常見(jiàn)目錄
/bin | 存放二進(jìn)制可執(zhí)行文件(ls,cat,mkdir等),常用命令一般都在這里。 |
---|
/etc | 存放系統(tǒng)管理和配置文件 |
/home | 存放所有用戶文件的根目錄,是用戶主目錄的基點(diǎn),比如用戶user的主目錄就是/home/user,可以用~user表示 |
/usr | 用于存放系統(tǒng)應(yīng)用程序,比較重要的目錄/usr/local 本地系統(tǒng)管理員軟件安裝目錄(安裝系統(tǒng)級(jí)的應(yīng)用)。這是最龐大的目錄,要用到的應(yīng)用程序和文件幾乎都在這個(gè)目錄。 /usr/x11r6 存放x window的目錄/usr/bin 眾多的應(yīng)用程序 /usr/sbin 超級(jí)用戶的一些管理程序 /usr/doc linux文檔 /usr/include linux下開發(fā)和編譯應(yīng)用程序所需要的頭文件 /usr/lib 常用的動(dòng)態(tài)鏈接庫(kù)和軟件包的配置文件 /usr/man 幫助文檔 /usr/src 源代碼,linux內(nèi)核的源代碼就放在/usr/src/linux里 /usr/local/bin 本地增加的命令 /usr/local/lib 本地增加的庫(kù) |
/opt | 額外安裝的可選應(yīng)用程序包所放置的位置。一般情況下,我們可以把tomcat等都安裝到這里。 |
/proc | 虛擬文件系統(tǒng)目錄,是系統(tǒng)內(nèi)存的映射。可直接訪問(wèn)這個(gè)目錄來(lái)獲取系統(tǒng)信息。 |
/root | 超級(jí)用戶(系統(tǒng)管理員)的主目錄(特權(quán)階級(jí)^o^) |
/sbin | 存放二進(jìn)制可執(zhí)行文件,只有root才能訪問(wèn)。這里存放的是系統(tǒng)管理員使用的系統(tǒng)級(jí)別的管理命令和程序。如ifconfig等。 |
/dev | 用于存放設(shè)備文件。 |
/mnt | 系統(tǒng)管理員安裝臨時(shí)文件系統(tǒng)的安裝點(diǎn),系統(tǒng)提供這個(gè)目錄是讓用戶臨時(shí)掛載其他的文件系統(tǒng)。 |
/boot | 存放用于系統(tǒng)引導(dǎo)時(shí)使用的各種文件 |
/lib | 存放跟文件系統(tǒng)中的程序運(yùn)行所需要的共享庫(kù)及內(nèi)核模塊。共享庫(kù)又叫動(dòng)態(tài)鏈接共享庫(kù),作用類似windows里的.dll文件,存放了根文件系統(tǒng)程序運(yùn)行所需的共享文件。 |
/tmp | 用于存放各種臨時(shí)文件,是公用的臨時(shí)文件存儲(chǔ)點(diǎn)。 |
/var | 用于存放運(yùn)行時(shí)需要改變數(shù)據(jù)的文件,也是某些大文件的溢出區(qū),比方說(shuō)各種服務(wù)的日志文件(系統(tǒng)啟動(dòng)日志等。)等。 |
/lost+found | 這個(gè)目錄平時(shí)是空的,系統(tǒng)非正常關(guān)機(jī)而留下“無(wú)家可歸”的文件(windows下叫什么.chk)就在這里 |
2.2 命令基本格式
2.2.1 命令提示符
[root@xiaoming ~]#
~ 當(dāng)前工作目錄,默認(rèn)是當(dāng)前用戶的家目錄,root就是/root,普通用戶是 /home/用戶名
2.2.2 命令格式
當(dāng)有多個(gè)選項(xiàng)時(shí),可以寫在一起
一般參數(shù)有簡(jiǎn)化和完整寫法兩種 -a
與 --all
等效
2.2.3 ls
ls [選項(xiàng)] [文件或者目錄](méi)
-d 查看目錄本身的屬性而非子文件 ls /etc/
-i 顯示inode,也就是i節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都有ID號(hào)
-l
顯示詳細(xì)信息
drwxr-xr-x . 1 root root 800 Sep 16 00:19 logs
drwxr-xr-x | . | 1 | root | root | 800 | Sep 16 00:19 | logs |
---|
文件類型和權(quán)限 | ACL權(quán)限 | 硬鏈接引用計(jì)數(shù) | 所有者 | 所屬組 | 文件大小 | 最后修改時(shí)間 | 文件名 |
文件類型和權(quán)限
-rw-r--r--
r(read) 讀取、w(write) 寫入、x(execute) 執(zhí)行
2.3 文件處理命令
2.3.1 mkdir
2.3.2 cd
2.3.3 pwd
2.3.4 rmdir
刪除目錄 remove empty directory
2.3.5 rm
rm -rf 文件或者目錄](méi) 遞歸強(qiáng)制刪除所有目錄
2.3.6 cp
copy [源文件或者目錄](méi) [目標(biāo)文件]
-r 復(fù)制目錄,默認(rèn)是復(fù)制文件
2.3.7 mv
mv [源文件或者目錄](méi) [目標(biāo)文件]
2.3.8 ln
2.3.8.1 硬鏈接特征
擁有相同的i節(jié)點(diǎn)和存儲(chǔ)block塊,可以看作是同一個(gè)文件
可以通過(guò)i節(jié)點(diǎn)訪問(wèn)
2.3.8.2 軟鏈接特征
軟鏈接擁有自己的i節(jié)點(diǎn)和Block塊,但是數(shù)據(jù)塊中只保存源文件的文件名和i節(jié)點(diǎn)號(hào),并沒(méi)有實(shí)際的文件數(shù)據(jù)
lrwxrwxrwx l 軟鏈接 軟鏈接的文件權(quán)限都是 777
修改任意一個(gè)文件,另一個(gè)都會(huì)改變
2.4 文件搜索命令
2.4.1 locate
在后臺(tái)數(shù)據(jù)庫(kù)中按文件名搜索,速度比較快
數(shù)據(jù)保存在/var/lib/mlocate
后臺(tái)數(shù)據(jù)庫(kù),每天更新一次
可以updatedb
命令立刻更新數(shù)據(jù)庫(kù)
/etc/updatedb.conf
建立索引的配置文件
PRUNE_BIND_MOUNTS = 'yes' 全部生效,開啟搜索限制
2.4.2 whereis
2.4.3 which
無(wú)法查看Shell自帶的命令,如 which cd
2.4.4 環(huán)境變量
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin2.4.5 find
2.4.5.1 按名稱搜索
- 避免大范圍的搜索,會(huì)非常消耗系統(tǒng)資源
2.4.5.2 通配符
find是在系統(tǒng)當(dāng)中搜索符合條件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
[]
匹配任意一個(gè)中括號(hào)內(nèi)的字符
find . -name 'ab[cdef]'
2.4.5.3 -i
不區(qū)分大小寫
find / -iname A.log
2.4.5.4 -user
按所有者進(jìn)行搜索
find /root -user root
find /root -nouser
2.4.5.5 按時(shí)間搜索
find /nginx/access.log -mtime +5
參數(shù) | 含義 |
---|
atime | 文件訪問(wèn)時(shí)間 |
ctime | 改變文件屬性 |
mtime | 修改文件內(nèi)容 |
參數(shù) | 含義 |
---|
-5 | 5天內(nèi)修改的文件 |
5 | 5天前當(dāng)前修改的文件 |
+5 | 5天前修改的文件 |
2.4.5.6 按大小搜索
find . -size 100k
參數(shù) | 含義 |
---|
-8k | 小于8K |
8k | 等于8K |
+8k | 大于8K |
+8M | 小于8M |
2.4.5.7 按i節(jié)點(diǎn)搜索
find . -inum 123456
2.4.5.8 綜合應(yīng)用
find /tmp -size +10k -a -size -20k
查找/etc目錄下,大于10KB并且小于20KB的文件
- -o or 邏輯或,兩個(gè)條件滿足一個(gè)就可以
find /tmp -size +10k -a -size -20k -exec ls -lh {} ;
- exec 對(duì)上個(gè)命令的結(jié)果進(jìn)行操作
2.4.5.9 grep
find命令,在系統(tǒng)當(dāng)中搜索符合條件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
grep命令 在文件當(dāng)中搜索符合條件的字符串,如果需要匹配,使用正則表達(dá)式進(jìn)行匹配,正則表達(dá)式時(shí)包含匹配
2.5 幫助命令
2.5.1 基本用法
man -f ls
whatis ls
man 1 ls
man 1p ls
2.5.2 關(guān)鍵字搜索
- man -k passwd
2.5.3 shell 內(nèi)部幫助
whereis
找到就是外部,找不到就是內(nèi)部
help cd
2.6 壓縮與解壓縮命令
.zip` `.gz` `.bz2` `.tar.gz` `.tar.bz22.6.1 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格式的壓縮文件,源文件會(huì)消失 |
gzip -c 源文件 > 壓縮文件 | gzip -c yum.txt > yum.txt.gz | 壓縮為.gz格式的壓縮文件,源文件不會(huì)消失 |
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 | 解壓壓縮包 |
2.6.4 tar
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壓縮,生成一個(gè)gzip壓縮過(guò)的包,命名為jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //將目錄里所有jpg文件打包成jpg.tar后,并且將其用bzip2壓縮,生成一個(gè)bzip2壓縮過(guò)的包,命名為jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //將目錄里所有jpg文件打包成jpg.tar后,并且將其用compress壓縮,生成一個(gè)umcompress壓縮過(guò)的包,命名為jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的壓縮,需要先下載rar for linux
zip jpg.zip *.jpg //zip格式的壓縮,需要先下載zip for 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
unzip file.zip //解壓zip
2.7 關(guān)機(jī)和重啟命令
2.7.1 shutdown
shutdown 關(guān)機(jī)命令
-c 取消前一個(gè)關(guān)機(jī)命令
shutdown -r 06:00
shutdown -c
2.7.2 init
關(guān)機(jī)
init 0
重啟
init 6
系統(tǒng)的運(yùn)行級(jí)別
2.7.3 logout
退出登錄
logout
2.9 查看登錄用戶信息
2.9.1 w
查看登錄用戶信息
TTY 登錄的終端 tty1 本地終端 pts/0遠(yuǎn)程終端
JCPU 該終端所有進(jìn)程占用的時(shí)間
PCPU 當(dāng)前進(jìn)程所占用的時(shí)間
2.9.2 who
查看登錄用戶信息
TTY 登錄的終端 tty1 本地終端 pts/0遠(yuǎn)程終端
2.9.3 last
查看當(dāng)前登錄和過(guò)去登錄的用戶信息 默認(rèn)讀取 /var/log/wtmp
文件
2.9.4 lastlog
查看所有用戶的最后一次登錄時(shí)間
3. shell
shell是一個(gè)命令行解釋器,它為用戶提供了一個(gè)向Linux內(nèi)核發(fā)送請(qǐng)求以便運(yùn)行程序的界面系統(tǒng)級(jí)程序
用戶可以用Shell來(lái)啟動(dòng)、掛起、停止或者編寫一些程序
Shell還是一個(gè)功能相當(dāng)強(qiáng)大的編程語(yǔ)言,易編寫,易調(diào)試,靈活性較強(qiáng)。
Shell是解釋執(zhí)行的腳本語(yǔ)言,在Shell中可以直接調(diào)用Linux系統(tǒng)命令。
3.1 查看支持的shell
3.2 echo
控制字符 | 作用 |
---|
\a | 輸出警告音 |
\b | 退格鍵,也就是向左刪除鍵 |
\n | 換行符 |
\r | 回車鍵 |
\t | 制表符,也就是Tab鍵 |
\v | 垂直制表符 |
\onnn | 按照八進(jìn)制ASCII碼表輸出字符,其中0為數(shù)字零,nnn是三位八進(jìn)制數(shù) |
\xhh | 按照十六進(jìn)制ASCII碼表輸出字符,其中hh是兩位十六進(jìn)制數(shù) |
3.3 編寫執(zhí)行shell
#!/bin/bash
echo -e '\e[1;34m hello world \e[0m'
賦予執(zhí)行權(quán)限,直接運(yùn)行
chmod 755 hello.sh
./hello.sh
通過(guò)Bash調(diào)用執(zhí)行腳本
bash hello.sh
3.4 別名
寫入環(huán)境變量配置文件 vi ~/.bashrc
3.5 命令的生效順序
按照$PATH環(huán)境變量定義的目錄查找順序找到的第一個(gè)命令
3.6 命令快捷鍵
命令 | 含義 |
---|
ctrl+c | 強(qiáng)制終止當(dāng)前命令 |
ctrl+l | 清屏 |
ctrl+a | 光標(biāo)移動(dòng)到命令行首 |
ctrl+e | 光標(biāo)移動(dòng)到命令行尾 |
ctrl+u | 從光標(biāo)所在的位置刪除到行首 |
ctrl+z | 把命令放入后臺(tái) |
ctrl+r | 在歷史命令中搜索 |
3.7 歷史命令
history [選項(xiàng)] [歷史命令保存文件]
-w 把緩存中的歷史命令寫入歷史命令保存文件 ~/.bash_history
默認(rèn)保存1000條 /etc/profile HISSIZE=10000
3.8 調(diào)用
使用 !n 重復(fù)執(zhí)行第n條歷史命令
使用 !字符 重復(fù)執(zhí)行最后一條以該字符串開頭的命令
3.9 管道符號(hào)
3.9.1 多命令順序執(zhí)行
(1) ; 分號(hào),沒(méi)有任何邏輯關(guān)系的連接符。當(dāng)多個(gè)命令用分號(hào)連接時(shí),各命令之間的執(zhí)行成功與否彼此沒(méi)有任何影響,都會(huì)一條一條執(zhí)行下去。
(2) || 邏輯或,當(dāng)用此連接符連接多個(gè)命令時(shí),前面的命令執(zhí)行成功,則后面的命令不會(huì)執(zhí)行。前面的命令執(zhí)行失敗,后面的命令才會(huì)執(zhí)行。
(3) && 邏輯與,當(dāng)用此連接符連接多個(gè)命令時(shí),前面的命令執(zhí)行成功,才會(huì)執(zhí)行后面的命令,前面的命令執(zhí)行失敗,后面的命令不會(huì)執(zhí)行,與 || 正好相反。
(4) | 管道符,當(dāng)用此連接符連接多個(gè)命令時(shí),前面命令執(zhí)行的正確輸出,會(huì)交給后面的命令繼續(xù)處理。若前面的命令執(zhí)行失敗,則會(huì)報(bào)錯(cuò),若后面的命令無(wú)法處理前面命令的輸出,也會(huì)報(bào)錯(cuò)。
chmod 755 hello.sh
./hello.sh
3.9.2 管道符號(hào)
命令1的正確輸出會(huì)作為命令2的操作對(duì)象
ls /etc/ | more
netstat -an | grep ESTABLISHED | wc -l
3.9.3 通配符
匹配文件名和目錄名 |通配符|作用| |:----|:----| |?|匹配一個(gè)任意字符| |*|匹配0個(gè)或任意字符,也就是可以匹配任意內(nèi)容| |[]|匹配中括號(hào)中任意一個(gè)字符| |[-]|匹配中括號(hào)中任意一個(gè)字符,-代表范圍| |[^]|匹配不是中括號(hào)中的一個(gè)字符|
3.9.4 其它符號(hào)
符號(hào) | 作用 |
---|
'' | 單引號(hào)。在單引號(hào)中所有的特殊符號(hào),如$和`都沒(méi)有特殊含義 |
'' | 雙引號(hào),在雙引號(hào)里特殊符號(hào)都沒(méi)有特殊含義,但是 $ ` \ 例外,擁有調(diào)用變量值,引用命令和轉(zhuǎn)義的含義 |
`` | 反引號(hào),擴(kuò)起來(lái)的是系統(tǒng)命令 |
$() | 和反引號(hào)一樣 |
# | 在shell腳本中,#開頭的行代表注釋 |
$ | 用于調(diào)用變量的值 |
\ | 轉(zhuǎn)義符號(hào) |
- a=`ls`
- b=$(ls)
4. vi 編輯器
4.1 操作模式
/xxx 從光標(biāo)位置開始向后搜索 xxx 字符串
5. 用戶和用戶組
用戶組是具有相同系統(tǒng)權(quán)限的一組用戶
5.1 用戶組
5.1.1 /etc/group
/etc/group 存儲(chǔ)當(dāng)前系統(tǒng)中所有用戶組信息
組名稱:組密碼占位符:組編號(hào):組中用戶名列表
1-499系統(tǒng)預(yù)留的編號(hào) 預(yù)留給安裝的軟件和服務(wù)的
用戶手動(dòng)創(chuàng)建的用戶組從500開始
5.1.2 /etc/gshadow
存放當(dāng)前系統(tǒng)中用戶組的密碼信息
和group中的記錄一一對(duì)應(yīng)
5.1.3 /etc/passwd
存儲(chǔ)當(dāng)前系統(tǒng)中所有用戶的信息
user:x:123:456:xxxxx:/home/user:/bin/bash
用戶名:密碼占位符:用戶編號(hào): 用戶注釋信息:用戶主目錄:shell類型
5.1.4 /etc/shadow
存放當(dāng)前系統(tǒng)中所有用戶的密碼信息
6. 用戶操作
添加組
groupadd student
修改組名稱
groupmod -n stu student
修改組編號(hào)
groupmod -g 111 stu
添加分組并指定編號(hào)
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
顯示指定用戶信息,包括用戶編號(hào),用戶名 主要組的編號(hào)及名稱,附屬組列表
id zhangsan
顯示 zhangsan 用戶所在的所有組
groups zhangsan
顯示用戶詳細(xì)資料
finger zhangsan
8. 附錄
8.1 系統(tǒng)啟動(dòng)
8.1.1 BIOS
- 計(jì)算機(jī)通電后,第一件事就是讀取刷入ROM芯片的開機(jī)程序,這個(gè)程序叫做(Basic Input/Output System)
8.1.2 硬件自檢
BIOS程序首先檢查,計(jì)算機(jī)硬件能否滿足運(yùn)行的基本條件,這叫做'硬件自檢'(Power-On Self-Test)
如果硬件出現(xiàn)問(wèn)題,主板會(huì)發(fā)出不同含義的蜂鳴,啟動(dòng)中止。如果沒(méi)有問(wèn)題,屏幕就會(huì)顯示出CPU、內(nèi)存、硬盤等信息。
8.1.3 啟動(dòng)順序
硬件自檢完成后,BIOS把控制權(quán)轉(zhuǎn)交給下一階段的啟動(dòng)程序。
這時(shí),BIOS需要知道,'下一階段的啟動(dòng)程序'具體存放在哪一個(gè)設(shè)備
BIOS需要有一個(gè)外部?jī)?chǔ)存設(shè)備的排序,排在前面的設(shè)備就是優(yōu)先轉(zhuǎn)交控制權(quán)的設(shè)備。這種排序叫做'啟動(dòng)順序'(Boot Sequence)
BIOS按照'啟動(dòng)順序',把控制權(quán)轉(zhuǎn)交給排在第一位的儲(chǔ)存設(shè)備。
這時(shí),計(jì)算機(jī)讀取該設(shè)備的第一個(gè)扇區(qū),也就是讀取最前面的512個(gè)字節(jié)。如果這512個(gè)字節(jié)的最后兩個(gè)字節(jié)是0x55和0xAA,表明這個(gè)設(shè)備可以用于啟動(dòng);如果不是,表明設(shè)備不能用于啟動(dòng),控制權(quán)于是被轉(zhuǎn)交給'啟動(dòng)順序'中的下一個(gè)設(shè)備。
這最前面的512個(gè)字節(jié),就叫做'主引導(dǎo)記錄'(Master boot record,縮寫為MBR)
8.1.4 主引導(dǎo)記錄的結(jié)構(gòu)
'主引導(dǎo)記錄'只有512個(gè)字節(jié),放不了太多東西。它的主要作用是,告訴計(jì)算機(jī)到硬盤的哪一個(gè)位置去找操作系統(tǒng)。
(1) 第1-446字節(jié):是用來(lái)記錄系統(tǒng)的啟動(dòng)信息的,調(diào)用操作系統(tǒng)的機(jī)器碼
(2) 第447-510字節(jié)(64個(gè)字節(jié)):分區(qū)表(Partition table),分區(qū)表的作用,是將硬盤分成若干個(gè)區(qū)
(3) 第511-512字節(jié):主引導(dǎo)記錄簽名(0x55和0xAA)
8.1.5 分區(qū)表
磁盤分區(qū)是使用分區(qū)編輯器在磁盤上劃分幾個(gè)邏輯部分
磁盤一旦劃分成多個(gè)分區(qū),不同類的目錄與文件可以存儲(chǔ)進(jìn)不同的分區(qū)內(nèi)
'主引導(dǎo)記錄'因此必須知道將控制權(quán)轉(zhuǎn)交給哪個(gè)區(qū)
分區(qū)表的長(zhǎng)度只有64個(gè)字節(jié),里面又分成四項(xiàng),每項(xiàng)16個(gè)字節(jié)。所以,一個(gè)硬盤最多只能分四個(gè)一級(jí)分區(qū),又叫做'主分區(qū)'
(1) 第1個(gè)字節(jié):如果為0x80,就表示該主分區(qū)是激活分區(qū),控制權(quán)要轉(zhuǎn)交給這個(gè)分區(qū)。四個(gè)主分區(qū)里面只能有一個(gè)是激活的。
(2) 第2-4個(gè)字節(jié):主分區(qū)第一個(gè)扇區(qū)的物理位置(柱面、磁頭、扇區(qū)號(hào)等等)。
(3) 第5個(gè)字節(jié):主分區(qū)類型,比如FAT32、NTFS等。
(4) 第6-8個(gè)字節(jié):主分區(qū)最后一個(gè)扇區(qū)的物理位置。
(5) 第9-12字節(jié):該主分區(qū)第一個(gè)扇區(qū)的邏輯地址。
(6) 第13-16字節(jié):主分區(qū)的扇區(qū)總數(shù)。
8.1.6 硬盤啟動(dòng)
計(jì)算機(jī)的控制權(quán)就要轉(zhuǎn)交給硬盤的某個(gè)分區(qū)了
四個(gè)主分區(qū)里面,只有一個(gè)是激活的。計(jì)算機(jī)會(huì)讀取激活分區(qū)的第一個(gè)扇區(qū),叫做'卷引導(dǎo)記錄'(Volume boot record,縮寫為VBR)
8.1.7 操作系統(tǒng)
控制權(quán)轉(zhuǎn)交給操作系統(tǒng)后,操作系統(tǒng)的內(nèi)核首先被載入內(nèi)存。
以Linux系統(tǒng)為例,先載入/boot
目錄下面的kernel
。內(nèi)核加載成功后,第一個(gè)運(yùn)行的程序是/sbin/init
。它根據(jù)配置文件(Debian系統(tǒng)是/etc/initab)產(chǎn)生init進(jìn)程。這是Linux啟動(dòng)后的第一個(gè)進(jìn)程,pid進(jìn)程編號(hào)為1,其他進(jìn)程都是它的后代
然后,init
線程加載系統(tǒng)的各個(gè)模塊,比如窗口程序和網(wǎng)絡(luò)程序,直至執(zhí)行/bin/login
程序,跳出登錄界面,等待用戶輸入用戶名和密碼。