1. 設(shè)備文件名
各硬件設(shè)備在Linux中的設(shè)備文件名如下,
這里需要說(shuō)明的是兩種硬盤(pán)的設(shè)備文件名確定方式:
① IDE硬盤(pán)是根據(jù)排線和跳針的連接情況確定
② SATA硬盤(pán)是根據(jù)內(nèi)核檢測(cè)到的順序來(lái)命名,與實(shí)際插槽代號(hào)無(wú)關(guān)
2. Linux中磁盤(pán)使用步驟
1)磁盤(pán)的第一個(gè)扇區(qū)
A. Boot Sector構(gòu)成
Boot Sector(引導(dǎo)扇區(qū))通常指設(shè)備的第一個(gè)扇區(qū)(是整個(gè)磁盤(pán)的第一個(gè)扇區(qū),需要區(qū)別于分區(qū)引導(dǎo)扇區(qū)),在PC上BIOS會(huì)讀取該扇區(qū),并將控制權(quán)轉(zhuǎn)交給Boot Sector上的MBR。
Boot Sector包含3部分內(nèi)容:
MBR(Master Boot Record,主引導(dǎo)記錄),446B,實(shí)際為bootloader的一部分
DPT(Disk Partition Table,磁盤(pán)分區(qū)表), 64B
BRID(Boot Record ID,引導(dǎo)記錄標(biāo)識(shí)),2B,且必須是0x55AA
B. 開(kāi)機(jī)流程與MBR
① 開(kāi)機(jī)簡(jiǎn)要流程
注意:BIOS是根據(jù)設(shè)置去取得能夠開(kāi)機(jī)的硬盤(pán)設(shè)備,然后在該硬盤(pán)的第一個(gè)扇區(qū)的MBR位置取得引導(dǎo)加載程序。當(dāng)然,用戶(hù)可以設(shè)置不從硬盤(pán)啟動(dòng),但與此類(lèi)似。
② bootloader的功能
a. 提供菜單:可供用戶(hù)選擇不同的開(kāi)機(jī)選項(xiàng)
b. 載入內(nèi)核文件:直接指向可開(kāi)機(jī)的程序區(qū)段來(lái)開(kāi)始操作系統(tǒng)
c. 轉(zhuǎn)交其他loader:將引導(dǎo)加載功能交給其他loader負(fù)責(zé)
轉(zhuǎn)交其他loader的功能用于實(shí)現(xiàn)多重引導(dǎo)啟動(dòng),實(shí)現(xiàn)原理是Linux的引導(dǎo)加載程序除了可以安裝在MBR,還可以安裝在每個(gè)分區(qū)的引導(dǎo)扇區(qū)
需要注意的是,安裝多重引導(dǎo)時(shí),應(yīng)該先安裝Windows后安裝Linux,因?yàn)橹挥蠰inux可以選擇將grub安裝到分區(qū)的引導(dǎo)扇區(qū)
2)分區(qū)
A. 分區(qū)規(guī)定解析
每個(gè)表項(xiàng)占用16B,所以DPT最多只能容納4個(gè)分區(qū),因此傳統(tǒng)磁盤(pán)上引入了擴(kuò)展分區(qū)和邏輯分區(qū)的概念。
引入擴(kuò)展分區(qū)的目的就是使用額外的扇區(qū)來(lái)記錄分區(qū)信息,因此擴(kuò)展分區(qū)本身不能被格式化與寫(xiě)入數(shù)據(jù),只能包含邏輯分區(qū)。
Linux中對(duì)分區(qū)有如下規(guī)定:
① 主分區(qū)(Primary)最多只有4個(gè)(磁盤(pán)的限制)
② 擴(kuò)展分區(qū)(Extended)最多只能有1個(gè)(操作系統(tǒng)的限制)
③ 主分區(qū) 擴(kuò)展分區(qū)最多只有4個(gè)
④ 邏輯分區(qū)數(shù)量依操作系統(tǒng)和磁盤(pán)類(lèi)型而定,在Linux中,IDE硬盤(pán)最多有59個(gè)邏輯分區(qū)(5 ~ 63號(hào)),SATA硬盤(pán)最多11個(gè)邏輯分區(qū)(5 ~ 15號(hào))
B. 分區(qū)設(shè)備文件名
① 1 ~ 4號(hào)為主分區(qū)或擴(kuò)展分區(qū)
② 邏輯分區(qū)從5號(hào)開(kāi)始
示例如下,
C. 必須分區(qū)與建議分區(qū)
① 必須分區(qū)
/:根分區(qū)
swap分區(qū):交換分區(qū),一般為內(nèi)存2倍但不超過(guò)2G(如果物理內(nèi)存足夠大,不分配swap分區(qū)也是可以的)
② 建議分區(qū)
/boot:?jiǎn)?dòng)分區(qū),200MB。該分區(qū)包含了grub、Linux內(nèi)核鏡像、initramfs。/boot分區(qū)的關(guān)鍵是將啟動(dòng)扇區(qū)所在的分區(qū)規(guī)范在小于1024個(gè)柱面以?xún)?nèi)
說(shuō)明:只要設(shè)置/boot分區(qū),就會(huì)自動(dòng)被調(diào)整為sda1(即分區(qū)號(hào)為1)。因?yàn)橛脖P(pán)最開(kāi)始部分有和系統(tǒng)啟動(dòng)相關(guān)的信息(e.g. 分區(qū)表)
我們最終的分區(qū)如下圖所示,
3)格式化
此處涉及的格式化是高級(jí)格式化又稱(chēng)邏輯格式化,他是指根據(jù)用戶(hù)指定的文件系統(tǒng)(如FAT16、FAT32、NTFS、EXT2、EXT3、EXT4等)在磁盤(pán)的特定區(qū)域?qū)懭胩囟ǖ臄?shù)據(jù),在分區(qū)中劃出一片用于存放文件分配表、目錄表等用于文件系統(tǒng)管理的磁盤(pán)空間,同時(shí)磁盤(pán)被劃分為統(tǒng)一大小的數(shù)據(jù)塊(block),Linux中根據(jù)存放文件的不同分為1KB和4KB(主要是出于存儲(chǔ)效率的考慮,之后有介紹)
補(bǔ)充:所謂低級(jí)格式化則是將磁盤(pán)內(nèi)容清空,恢復(fù)出廠時(shí)的狀態(tài),劃分出柱面的磁道,一般在硬盤(pán)出廠和出現(xiàn)壞道時(shí)才會(huì)進(jìn)行
說(shuō)明:注意PC機(jī)和嵌入式設(shè)備格式化時(shí)的區(qū)別。PC機(jī)格式化時(shí)一般都是直接以分區(qū)為單位,因此文件系統(tǒng)的大小和分區(qū)大小匹配。嵌入式設(shè)備中一般是制作文件系統(tǒng)鏡像然后燒寫(xiě)到分區(qū)中,因此分區(qū)大小和文件系統(tǒng)大小可能不匹配。
4)掛載
掛載就是利用一個(gè)目錄作為進(jìn)入點(diǎn),將磁盤(pán)分區(qū)的數(shù)據(jù)放置在該目錄下,進(jìn)入該目錄就可以讀取該分區(qū)的數(shù)據(jù)。這也就是根目錄/ 必須掛載的原因,不然整個(gè)目錄系統(tǒng)的“大門(mén)”都進(jìn)不去。
說(shuō)明1:掛載時(shí)使用的是分區(qū)設(shè)備文件名
說(shuō)明2:可以給子目錄掛載分區(qū)
雖然/home是/ 的子目錄,但可以給其單獨(dú)掛載硬盤(pán)分區(qū)。在后續(xù)的Linux內(nèi)核文檔中會(huì)發(fā)現(xiàn),所謂掛載,就是將一個(gè)文件系統(tǒng)的頂層目錄與Linux目錄樹(shù)中的一個(gè)目錄結(jié)合起來(lái)。
3. 登陸與注銷(xiāo)
1)運(yùn)行等級(jí)
純文本界面:run level 3
圖形界面:run level 5
注:可以修改/etc/inittab確定下次啟動(dòng)時(shí)的運(yùn)行等級(jí)
可以使用runlevel命令查詢(xún)系統(tǒng)運(yùn)行級(jí)別,
此處的N是指上一個(gè)運(yùn)行級(jí)別,由于我們開(kāi)機(jī)就是圖形界面,所以顯示為N。
說(shuō)明1:可以使用init命令切換運(yùn)行等級(jí)(e.g. init 3)
說(shuō)明2:使用init 0也可以關(guān)機(jī),但不會(huì)關(guān)閉正在運(yùn)行的服務(wù),所以不推薦使用
2)字符界面登陸時(shí)顯示的內(nèi)容
其中前兩行的內(nèi)容來(lái)自/etc/issue文件
第1行:Linux發(fā)行版本
第2行:內(nèi)核版本及主機(jī)硬件等級(jí)(i686)
注:login之前的localhost為主機(jī)名
登陸后顯示內(nèi)容如下:
root@localhost:登陸用戶(hù)名@主機(jī)名
#為root用戶(hù)提示符,其余為$
3)注銷(xiāo)命令exit
這是一個(gè)bash內(nèi)建命令,用于注銷(xiāo)用戶(hù)
注:離開(kāi)系統(tǒng)不是關(guān)機(jī),Linux本身已經(jīng)有很多的工作在進(jìn)行,你的登陸也僅是其中一個(gè)“工作”而已
補(bǔ)充:當(dāng)使用字符界面登陸時(shí),也可以用logout注銷(xiāo),這也是一個(gè)bash內(nèi)建命令
4. 語(yǔ)系設(shè)置
1) 查看當(dāng)前語(yǔ)系
其中LANG是一個(gè)環(huán)境變量
2) 修改當(dāng)前語(yǔ)系
① 在shell中臨時(shí)修改
本質(zhì)是修改了環(huán)境變量LANG的值,由于修改語(yǔ)系為美國(guó)英語(yǔ),此時(shí)中文顯示將是亂碼
② 修改配置文件
配置文件路徑:/etc/sysconfig/i18n
5. Linux命令執(zhí)行的2種情況
1)直接顯示結(jié)果后回到命令提示符,等待下一條命令的輸入,如ls。
2)進(jìn)入該命令的環(huán)境,直到結(jié)束該命令才回到命令提示符環(huán)境,如tftp和bc
6. 重要熱鍵
1)[Tab]鍵:命令/文件名補(bǔ)全
2)[Ctrl] c:結(jié)束當(dāng)前程序,實(shí)際上是發(fā)送SIGKILL信號(hào)給當(dāng)前進(jìn)程
3)[Ctrl] d:表示End of line,即EOF;也可用于離開(kāi)文字界面(包括圖像界面下的模擬終端),作用相當(dāng)于exit命令
7. 出現(xiàn)command not found的三種原因
1)命令打錯(cuò)
2)軟件沒(méi)安裝
3)這個(gè)命令所在路徑不在PATH環(huán)境變量中
8. 關(guān)機(jī)與重啟
1)正確的關(guān)機(jī)步驟
A. 查看系統(tǒng)狀態(tài)
who:查看哪些用戶(hù)在線
netstat -a:查看網(wǎng)絡(luò)連接狀態(tài)
ps -aux:查看主機(jī)進(jìn)程狀態(tài)
說(shuō)明:需要上述步驟是因?yàn)長(zhǎng)inux是多用戶(hù)多任務(wù)操作系統(tǒng)
B. 通知在線用戶(hù)關(guān)機(jī)時(shí)刻
使用shutdown的特殊功能
C. 使用shutdown或reboot命令關(guān)機(jī)重啟
2)相關(guān)命令
A. sync
作用:將數(shù)據(jù)同步寫(xiě)入磁盤(pán)
說(shuō)明:shutdown/reboot/halt命令均會(huì)在關(guān)機(jī)前調(diào)用sync工具
注意:一般賬戶(hù)使用sync只能同步自己的數(shù)據(jù),而root用戶(hù)可以同步系統(tǒng)中所有數(shù)據(jù)
B. shutdown
作用:慣用的關(guān)機(jī)命令,可以正確地保存正在運(yùn)行的服務(wù)的狀態(tài)
說(shuō)明:除了在圖像界面登陸,只有root用戶(hù)才有關(guān)機(jī)權(quán)限
常見(jiàn)用法:shutdown [-rhkc] 時(shí)間 [警告信息]
-h:關(guān)機(jī)
-r:重啟
-k:并不關(guān)機(jī),只是發(fā)送警告信息
-c:取消之前的shutdown命令
時(shí)間:必須參數(shù),可以指定具體時(shí)間,也可以用當(dāng)前時(shí)間作基準(zhǔn)指定時(shí)間間隔
示例:shutdown -h now <---> shutdowm -h 0
shutdown -h 20:15
shutdown -h 10 #10 minutes
shutdown -k now 'system will reboot'
C. reboot,halt,poweroff
poweroff相當(dāng)于直接斷電,不提倡使用
9. 幫助命令
1)man
命令名稱(chēng):man
命令英文原意:mannual
命令所在路徑:/usr/bin/man
執(zhí)行權(quán)限:所有用戶(hù)
功能描述:查看幫助信息(獲得完整幫助)
語(yǔ)法:man [命令或配置文件]
示例:man ls
man inittab
說(shuō)明1:使用man查詢(xún)配置文件時(shí)不加路徑名(如/etc/inittab),只要配置文件名即可
說(shuō)明2:查詢(xún)配置文件時(shí)注意兩點(diǎn):①該配置文件的用途;②該配置文件中條目的格式
說(shuō)明3:man手冊(cè)可分冊(cè)查看(如man 1 passwd和man 5 passwd),各分冊(cè)含義如下,
1:shell命令(User Commands)
2:系統(tǒng)內(nèi)核調(diào)用(System Calls)
3:C庫(kù)函數(shù)(C Library Functions)
4:設(shè)備/特殊文件,使用時(shí)直接用設(shè)備文件名,不需要路徑,如man sd(Devices and Special Files)
5:配置文件,查詢(xún)時(shí)不需要配置文件的絕對(duì)路徑,只需要配置文件名,比如man inittab
6:游戲
7:慣例與協(xié)議,如Linux文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議(如TCP/IP)等(Miscellanea,雜記)
8:系統(tǒng)管理員可用的管理命令,如man init
說(shuō)明4:man手冊(cè)數(shù)據(jù)一般存放在/usr/share/man目錄下
2)whatis & apropos
如果不需要完整的幫助信息,只是需要簡(jiǎn)短信息,可以使用whatis和apropos
用法:whatis/apropos 命令名稱(chēng)/配置文件名
兩者的差別在于,whatis是匹配完整的文件名,而apropos是匹配字符串??蓞⒁?jiàn)下面是示例,一目了然
注意:whatis和apropos均是查詢(xún)whatis數(shù)據(jù)庫(kù),使用前需要使用makewhatis來(lái)生成該數(shù)據(jù)庫(kù)
3)查詢(xún)命令選項(xiàng)
如果只是查詢(xún)命令選項(xiàng)
命令 --help
4)查詢(xún)shell內(nèi)置命令
命令名稱(chēng):help
命令所在路徑:shell內(nèi)置命令
執(zhí)行權(quán)限:所有用戶(hù)
功能描述:獲得shell內(nèi)置命令的幫助信息
語(yǔ)法:help 命令
補(bǔ)充:help命令還可以查詢(xún)shell腳本中的if、while等結(jié)構(gòu)性語(yǔ)句用法,可在編寫(xiě)shell腳本時(shí)參考
10. 忘記root密碼如何處理
關(guān)鍵:進(jìn)入單用戶(hù)模式進(jìn)行修復(fù)
步驟:
① 在開(kāi)機(jī)都秒時(shí)打斷,進(jìn)入grub模式
② 點(diǎn)擊e,修改該命令行
修改kernel所在行,即啟動(dòng)內(nèi)核時(shí)傳遞的參數(shù),在最后添加single,即啟動(dòng)后進(jìn)入單用戶(hù)模式
③ 進(jìn)入單用戶(hù)模式使用passwd命令修改root密碼即可
注意:此處修改內(nèi)核參數(shù)在下次啟動(dòng)時(shí)會(huì)恢復(fù)原樣,因?yàn)橄到y(tǒng)啟動(dòng)時(shí)會(huì)從/boot/grub/grub.conf中讀取啟動(dòng)參數(shù)
11. 系統(tǒng)安裝日志
/root/install.log:存儲(chǔ)了安裝在系統(tǒng)中的軟件包及其版本信息
/root/install.log.syslog:存儲(chǔ)了安裝過(guò)程中留下的事件記錄
/root/anaconda-ks.cfg:以Kickstart配置文件的格式記錄安裝過(guò)程中設(shè)置的選項(xiàng)信息
聯(lián)系客服