第一部分 Linux的規則與安裝
第0章 計算機概論 1
0.1 計算機:輔助人腦的好工具 2
0.1.1 計算機硬件的五大單元 2
0.1.2 CPU的種類 3
0.1.3 接口設備 4
0.1.4 運作流程 4
0.1.5 計算機分類 5
0.1.6 計算機上麵常用的計算單位(大小、速度等) 6
0.2 個人計算機架構與接口設備 7
0.2.1 CPU 7
0.2.2 內存 9
0.2.3 顯卡 11
0.2.4 硬盤與存儲設備 12
0.2.5 PCI適配卡 14
0.2.6 主闆 15
0.2.7 電源 16
0.2.8 選購須知 16
0.3 數據錶示方式 17
0.3.1 數字係統 17
.0.3.2 文字編碼係統 18
0.4 軟件程序運行 18
0.4.1 機器程序與編譯程序 18
0.4.2 操作係統 19
0.4.3 應用程序 22
0.5 重點迴顧 22
0.6 本章習題 23
0.7 參考數據與擴展閱讀 24
第1章 Linux是什麼 25
1.1 Linux是什麼 26
1.1.1 Linux是什麼 26
1.1.2 Linux之前UNIX的曆史 27
1.1.3 關於GNU項目 32
1.2 Torvalds的Linux開發 34
1.2.1 Minix 34
1.2.2 對386硬件的多任務測試 35
1.2.3 初次釋齣Linux 0.02 36
1.2.4 Linux的開發:虛擬團隊的産生 37
1.2.5 Linux的內核版本 38
1.2.6 Linux distributions 39
1.3 Linux的特色 42
1.3.1 Linux的特色 42
1.3.2 Linux的優缺點 43
1.3.3 關於授權 45
1.4 重點迴顧 46
1.5 本章習題 46
1.6 參考數據與擴展閱讀 47
第2章 Linux如何學習 48
2.1 Linux當前的應用角色 49
2.1.1 企業環境的利用 49
2.1.2 個人環境的使用 50
2.2 鳥哥的Linux苦難經驗迴憶錄 51
2.2.1 鳥哥的Linux學習之路 51
2.2.2 學習心態的分彆 53
2.2.3 X Window的學習 54
2.3 有心嚮Linux操作係統學習者學習態度 55
2.3.1 從頭學習Linux基礎 56
2.3.2 選擇一本易讀的工具書 57
2.3.3 實踐再實踐 57
2.3.4 發生問題怎麼處理.. 58
2.4 鳥哥的建議(重點在Solution的學習) 59
2.5 重點迴顧 60
2.6 本章習題 61
2.7 參考數據與擴展閱讀 61
第3章 主機規劃與磁盤分區 62
3.1 Linux與硬件的搭配 63
3.1.1 認識計算機的硬件配置 63
3.1.2 選擇與Linux搭配的主機配置 64
3.1.3 各硬件設備在Linux中的文件名 66
3.2 磁盤分區 67
3.2.1 磁盤連接的方式與設備文件名的關係 67
3.2.2 磁盤的組成復習 68
3.2.3 磁盤分區錶(partition table) 69
3.2.4 開機流程與主引導分區(MBR) 72
3.2.5 Linux安裝模式下,磁盤分區的選擇(極重要) 74
3.3 安裝Linux前的規劃 76
3.3.1 選擇適當的distribution 76
3.3.2 主機的服務規劃與硬件的關係 77
3.3.3 主機硬盤的主要規劃 79
3.3.4 鳥哥說:關於練習機的安裝建議 80
3.3.5 鳥哥的兩個實際案例 80
3.3.6 大硬盤配閤舊主機造成的無法開機問題 81
3.4 重點迴顧 82
3.5 本章習題 82
3.6 參考數據與擴展閱讀 82
第4章 安裝CentOS 5.x與多重引導小技巧 83
4.1 本練習機的規劃(尤其是分區參數) 84
4.2 開始安裝CentOS 5 85
4.2.1 調整啓動媒體(BIOS) 86
4.2.2 選擇安裝結構與開機 87
4.2.3 選擇語係數據 89
4.2.4 磁盤分區 90
4.2.5 引導裝載程序、網絡、時區設置與root密碼 95
4.2.6 軟件選擇 98
4.2.7 其他功能:RAM testing、安裝筆記本電腦的內核參數(Option) 99
4.3 安裝後的首次設置 100
4.4 多重引導安裝流程與技巧 104
4.4.1 新主機僅有一塊硬盤 104
4.4.2 舊主機有兩塊以上硬盤 105
4.4.3 舊主機隻有一塊硬盤 105
4.5 關於大硬盤導緻無法開機的問題 106
4.6 重點迴顧 106
4.7 本章習題 107
4.8 參考數據與擴展閱讀 107
第5章 首次登錄與在綫求助man page 108
5.1 首次登錄係統 109
5.1.1 首次登錄CentOS 5.x圖形界麵 109
5.1.2 GNOME的操作與注銷 110
5.1.3 KDE的操作與注銷 113
5.1.4 X Window與命令行模式的切換 115
5.1.5 在終端界麵登錄linux 116
5.2 在命令行模式下執行命令 117
5.2.1 開始執行命令 117
5.2.2 基礎命令的操作 118
5.2.3 重要的熱鍵[Tab], [ctrl]-c, [ctrl]-d 121
5.2.4 錯誤信息的查看 122
5.3 Linux係統的在綫求助man page與info page 122
5.3.1 man page 123
5.3.2 info page 127
5.3.3 其他有用的文件(documents) 129
5.4 超簡單文本編輯器:nano 130
5.5 正確的關機方法 131
5.5.1 數據同步寫入磁盤:sync 132
5.5.2 慣用的關機命令:shutdown 132
5.5.3 重啓、關機:reboot, halt, poweroff 133
5.5.4 切換執行等級:init 133
5.6 開機過程的問題排解 134
5.6.1 文件係統錯誤的問題 134
5.6.2 忘記root密碼 135
5.7 重點迴顧 136
5.8 本章習題 136
5.9 參考數據與擴展閱讀 137
第二部分 Linux文件、目錄與磁盤格式
第6章 Linux的文件權限與目錄配置 138
6.1 用戶與用戶組 139
6.2 Linux文件權限概念 140
6.2.1 Linux文件屬性 141
6.2.2 如何改變文件屬性與權限 144
6.2.3 目錄與文件的權限意義 147
6.2.4 Linux文件種類與擴展名 150
6.3 Linux目錄配置 152
6.3.1 Linux目錄配置標準:FHS 152
6.3.2 目錄樹(directory tree) 156
6.3.3 絕對路徑與相對路徑 158
6.3.4 CentOS的查看 159
6.4 重點迴顧 159
6.5 本章練習 160
6.6 參考數據與擴展閱讀 160
第7章 Linux文件與目錄管理 161
7.1 目錄與路徑 162
7.1.1 相對路徑與絕對路徑 162
7.1.2 目錄的相關操作 162
7.1.3 關於執行文件路徑的變量:$PATH 165
7.2 文件與目錄管理 167
7.2.1 查看文件與目錄:ls 167
7.2.2 復製、刪除與移動:cp, rm, mv 169
7.2.3 取得路徑的文件名與目錄名稱 173
7.3 文件內容查閱 173
7.3.1 直接查看文件內容 173
7.3.2 可翻頁查看 175
7.3.3 數據選取 176
7.3.4 非純文本文件:od 177
7.3.5 修改文件時間或創建新文件:touch 178
7.4 文件與目錄的默認權限與隱藏權限 180
7.4.1 文件默認權限:umask 181
7.4.2 文件隱藏屬性:chattr, lsattr 183
7.4.3 文件特殊權限:SUID, SGID, SBIT 184
7.4.4 查看文件類型:file 187
7.5 命令與文件的查詢 187
7.5.1 腳本文件名的查詢 187
7.5.2 文件名的查找 188
7.6 權限與命令間的關係(極重要) 192
7.7 重點迴顧 193
7.8 本章習題 194
7.9 參考數據與擴展閱讀 195
第8章 Linux磁盤與文件係統管理 196
8.1 認識EXT2文件係統 197
8.1.1 硬盤組成與分區的復習 197
8.1.2 文件係統特性 197
8.1.3 Linux的EXT2文件係統(inode) 199
8.1.4 與目錄樹的關係 204
8.1.5 EXT2/EXT3文件的訪問與日誌文件係統的功能 206
8.1.6 Linux文件係統的操作 208
8.1.7 掛載點(mount point)的意義 208
8.1.8 其他Linux支持的文件係統 與VFS 209
8.2 文件係統的簡單操作 210
8.2.1 磁盤與目錄的容量:df, du 210
8.2.2 連接文件:ln 213
8.3 磁盤的分區、格式化、檢驗與掛載 217
8.3.1 磁盤分區:fdisk 217
8.3.2 磁盤格式化 223
8.3.3 磁盤檢驗:fsck, badblocks 225
8.3.4 磁盤掛載與卸載 226
8.3.5 磁盤參數修改 231
8.4 設置開機掛載 234
8.4.1 開機掛載/etc/fstab及/etc/mtab 234
8.4.2 特殊設備loop掛載(鏡像文件不刻錄就掛載使用) 236
8.5 內存交換空間(swap)的構建 238
8.5.1 使用物理分區構建swap 238
8.5.2 使用文件構建swap 240
8.5.3 swap使用上的限製 241
8.6 文件係統的特殊查看與操作 241
8.6.1 boot sector與superblock的關係 241
8.6.2 磁盤空間的浪費問題 243
8.6.3 利用GNU的parted進行分區行為 243
8.7 重點迴顧 245
8.8 本章習題 245
8.9 參考數據與擴展閱讀 246
第9章 文件與文件係統的壓縮與打包 248
9.1 壓縮文件的用途與技術 249
9.2 Linux係統常見的壓縮命令 250
9.2.1 Compress 250
9.2.2 gzip, zcat 252
9.2.3 bzip2, bzcat 253
9.3 打包命令:tar 253
9.3.1 tar 254
9.4 完整備份工具:dump 259
9.4.1 dump 259
9.4.2 restore 262
9.5 光盤寫入工具 265
9.5.1 mkisofs:新建鏡像文件 265
9.5.2 Cdrecord:光盤刻錄工具 267
9.6 其他常見的壓縮與備份工具 269
9.6.1 dd 269
9.6.2 Cpio 270
9.7 重點迴顧 272
9.8 本章習題 272
9.9 參考數據與擴展閱讀 273
第三部分 學習shell與shell script
第10章 vim程序編輯器 274
10.1 vi與vim 275
10.1.1 為何要學vim 275
10.2 vi的使用 276
10.2.1 簡單執行範例 277
10.2.2 按鍵說明 278
10.2.3 一個案例練習 281
10.2.4 vim的保存文件、恢復與打開時的警告信息 282
10.3 vim的功能 284
10.3.1 塊選擇(Visual Block) 285
10.3.2 多文件編輯 286
10.3.3 多窗口功能 286
10.3.4 vim環境設置與記錄:~/.vimrc, ~/.viminfo 287
10.3.5 vim常用命令示意圖 289
10.4 其他vim使用注意事項 289
10.4.1 中文編碼的問題 289
10.4.2 DOS與Linux的斷行字符 290
10.4.3 語係編碼轉換 290
10.5 重點迴顧 291
10.6 本章練習 291
10.7 參考數據與擴展閱讀 292
第11章 認識與學習bash 293
11.1 認識bash這個shell 294
11.1.1 硬件、內核與shell 294
11.1.2 為何要學命令行界麵的shell 295
11.1.3 係統的閤法shell與/etc/shells功能 295
11.1.4 bash shell的功能 296
11.1.5 bash shell的內置命令:type 298
11.1.6 命令的執行 298
11.2 shell的變量功能 299
11.2.1 什麼是變量 299
11.2.2 變量的顯示與設置:echo, unset 300
11.2.3 環境變量的功能 304
11.2.4 影響顯示結果的語係變量(locale) 308
11.2.5 變量的有效範圍 309
11.2.6 變量鍵盤讀取、數組與聲明:read,array,declare 310
11.2.7 與文件係統及程序的限製關係:ulimit 312
11.2.8 變量內容的刪除、替代與替換 313
11.3 命令彆名與曆史命令 317
11.3.1 命令彆名設置:alias,unalias 317
11.3.2 曆史命令:history 318
11.4 Bash Shell的操作環境 320
11.4.1 路徑與命令查找順序 320
11.4.2 bash的登錄與歡迎信息:/etc/issue, /etc/motd 320
11.4.3 bash 的環境配置文件 321
11.4.4 終端機的環境設置:stty, set 325
11.4.5 通配符與特殊符號 327
11.5 數據流重定嚮 328
11.5.1 什麼是數據流重定嚮 329
11.5.2 命令執行的判斷依據:
· · · · · · (
收起)