![]() ![]() 內(nèi)容提要: 本書是知名度頗高的Linux入門書《鳥哥的Linux私房菜基礎(chǔ)學習篇》的新版,全面而詳細地介紹了Linux操作系統(tǒng)。 全書分為五部分:第一部分著重說明計算機的基礎(chǔ)知識、Linux的學習方法,如何規(guī)劃和安裝Linux主機以及CentOS 7.x的安裝、登錄與求助方法;*二部分介紹Linux的文件系統(tǒng)、文件、目錄與磁盤的管理;第三部分介紹文字模式接口shell和管理系統(tǒng)的好幫手shell腳本,另外還介紹了文字編輯器vi和vim的使用方法;第四部分介紹了對于系統(tǒng)安全非常重要的Linux賬號的管理、磁盤配額、*級文件系統(tǒng)管理、計劃任務以及進程管理;第五部分介紹了系統(tǒng)管理員(root)的管理事項,如了解系統(tǒng)運行狀況、系統(tǒng)服務,針對登錄文件進行解析,對系統(tǒng)進行備份以及核心的管理等。 本書內(nèi)容豐富全面,基本概念的講解非常細致,深入淺出。各種功能和命令的介紹,都配以大量的實例操作和詳盡的解析。本書是初學者學習Linux*可*得的一本入門好書。 作者簡介: 鳥哥,臺灣成功大學環(huán)境工程系博士,就學期間由于研究需要接觸到Linux操作系統(tǒng),又因?qū)嶒炇医唤有枨蠖ⅰ傍B哥的Linux私房菜”網(wǎng)站。因個人喜好“絮叨”,網(wǎng)站文章風格就此成形。曾任臺灣多家知名Linux教育中心講師,目前于昆山科技大學資訊傳播系教授Linux相關(guān)課程。專長是Linux操作系統(tǒng)、網(wǎng)站規(guī)劃與維護、網(wǎng)絡(luò)安全,興趣是寫作與閱讀,研究方向是網(wǎng)絡(luò)應用整合。 目錄:目 錄 *一部分 Linux的規(guī)則與安裝 第0章 計算機概論 2 0.1 電腦:輔助人腦的好工具 3 0.1.1 電腦硬件的五大單元 3 0.1.2 一切設(shè)計的起點:CPU的架構(gòu) 5 0.1.3 其他單元的設(shè)備 6 0.1.4 運作流程 6 0.1.5 電腦的分類 7 0.1.6 電腦上面常用的計算單位(容量、速度等) 8 0.2 個人電腦架構(gòu)與相關(guān)設(shè)備組件 9 0.2.1 執(zhí)行腦袋運算與判斷的CPU 10 0.2.2 內(nèi)存 12 0.2.3 顯卡 15 0.2.4 硬盤與存儲設(shè)備 16 0.2.5 擴展卡與接口 20 0.2.6 主板 21 0.2.7 主機電源 22 0.2.8 選購須知 22 0.3 數(shù)據(jù)表示方式 23 0.3.1 數(shù)字系統(tǒng) 24 0.3.2 字符編碼系統(tǒng) 24 0.4 軟件程序運行 25 0.4.1 機器語言程序與編譯型程序 25 0.4.2 操作系統(tǒng) 26 0.4.3 應用程序 28 0.5 重點回顧 29 0.6 本章習題 29 0.7 參考資料與擴展閱讀 30 *1章 Linux是什么與如何學習 32 1.1 Linux是什么 33 1.1.1 Linux是什么?操作系統(tǒng)還是應用程序? 33 1.1.2 Linux之前,Unix的歷史 34 1.1.3 關(guān)于GNU計劃、自由軟件與開放源代碼 40 1.2 托瓦茲的Linux的發(fā)展 43 1.2.1 與Minix之間 43 1.2.2 對386硬件的多任務測試 44 1.2.3 初次發(fā)布Linux 0.02 45 1.2.4 Linux的發(fā)展:虛擬團隊的產(chǎn)生 46 1.2.5 Linux的內(nèi)核版本 47 1.2.6 Linux發(fā)行版 48 1.3 Linux當前應用的角色 51 1.3.1 企業(yè)環(huán)境的使用 52 1.3.2 個人環(huán)境的使用 53 1.3.3 云端應用 54 1.4 Linux該如何學習 55 1.4.1 從頭學習Linux基礎(chǔ) 56 1.4.2 選擇一本易讀的工具書 57 1.4.3 實踐再實踐 58 1.4.4 發(fā)生問題怎么處理 58 1.4.5 鳥哥的建議(重點在solution的學習) 59 1.5 重點回顧 60 1.6 本章習題 61 1.7 參考資料與擴展閱讀 62 *2章 主機規(guī)劃與磁盤分區(qū) 63 2.1 Linux與硬件的搭配 64 2.1.1 認識計算機的硬件設(shè)備 64 2.1.2 選擇與Linux搭配的主機設(shè)備 65 2.1.3 各硬件設(shè)備在Linux中的文件名 67 2.1.4 使用虛擬機學習 68 2.2 磁盤分區(qū) 69 2.2.1 磁盤連接方式與設(shè)備文件名的關(guān)系 69 2.2.2 MBR(MS-DOS)與GPT磁盤分區(qū)表(partition table) 70 2.2.3 啟動流程中的BIOS與UEFI啟動檢測程序 76 2.2.4 Linux安裝模式下,磁盤分區(qū)的選擇(極重要) 79 2.3 安裝Linux前的規(guī)劃 82 2.3.1 選擇適當?shù)腖inux發(fā)行版 82 2.3.2 主機的服務規(guī)劃與硬件的關(guān)系 83 2.3.3 主機硬盤的主要規(guī)劃 84 2.3.4 鳥哥的兩個實際案例 85 2.4 重點回顧 86 2.5 本章習題 87 2.6 參考資料與擴展閱讀 87 第3章 安裝CentOS 7.x 88 3.1 本練習機的規(guī)劃(尤其是分區(qū)參數(shù)) 89 3.2 開始安裝 CentOS 7 91 3.2.1 調(diào)整BIOS與虛擬機創(chuàng)建流程 91 3.2.2 選擇安裝模式與啟動(inst.gpt) 94 3.2.3 在地設(shè)置之時區(qū)、語言與鍵盤布局 96 3.2.4 安裝源設(shè)置與軟件選擇 97 3.2.5 磁盤分區(qū)與文件系統(tǒng)設(shè)置 99 3.2.6 內(nèi)核管理與網(wǎng)絡(luò)設(shè)置 104 3.2.7 開始安裝、設(shè)置root密碼與新增可切換身份之一般用戶 106 3.2.8 準備使用系統(tǒng)前的授權(quán)同意 108 3.2.9 其他功能:RAM測試,安裝筆記本電腦的內(nèi)核參數(shù)(可選) 110 3.3 多重引導安裝步驟與管理(可選) 111 3.3.1 安裝 CentOS 7.x + Windows 7的規(guī)劃 111 3.3.2 *級安裝 CentOS 7.x與Windows 7 112 3.3.3 恢復MBR內(nèi)的啟動引導程序與設(shè)置多重引導選項 113 3.4 重點回顧 114 3.5 本章習題 115 3.6 參考資料與擴展閱讀 115 第4章 *次登錄與在線求助 116 4.1 *次登錄系統(tǒng) 117 4.1.1 *次登錄CentOS 7.x圖形用戶界面模式 117 4.1.2 GNOME的操作與注銷 118 4.1.3 X Window與命令行模式的切換 124 4.1.4 在終端登錄Linux 125 4.2 命令行模式下命令的執(zhí)行 127 4.2.1 開始執(zhí)行命令 127 4.2.2 基礎(chǔ)命令的操作 128 4.2.3 重要的幾個熱鍵[Tab]、[Ctrl]-c、[Ctrl]-d 131 4.2.4 錯誤信息的查看 133 4.3 Linux系統(tǒng)的在線求助man page與info page 133 4.3.1 命令的 --help求助說明 134 4.3.2 man page 135 4.3.3 info page 139 4.3.4 其他有用的文件(documents) 141 4.4 超簡單的文本編輯器:nan* 142 4.5 正確的關(guān)機方法 143 4.6 重點回顧 146 4.7 本章習題 146 4.8 參考資料與擴展閱讀 147 *二部分 Linux文件、目錄與磁盤格式 第5章 Linux的文件權(quán)限與目錄配置 149 5.1 用戶與用戶組 150 5.2 Linux文件權(quán)限概念 152 5.2.1 Linux文件屬性 152 5.2.2 如何修改文件屬性與權(quán)限 156 5.2.3 目錄與文件的權(quán)限意義 159 5.2.4 Linux文件種類與擴展名 162 5.3 Linux目錄配置 165 5.3.1 Linux目錄配置的依據(jù)-- FHS 165 5.3.2 目錄樹(directory tree) 169 5.3.3 *對路徑與相對路徑 170 5.3.4 CentOS的觀察 172 5.4 重點回顧 173 5.5 本章練習 174 5.6 參考資料與擴展閱讀 174 第6章 Linux文件與目錄管理 175 6.1 目錄與路徑 176 6.1.1 相對路徑與*對路徑 176 6.1.2 目錄的相關(guān)操作 176 6.1.3 關(guān)于執(zhí)行文件路徑的變量:$PATH 179 6.2 文件與目錄管理 181 6.2.1 文件與目錄的查看:ls 181 6.2.2 復制、刪除與移動:cp、rm、mv 183 6.2.3 獲取路徑的文件名與目錄名稱 186 6.3 文件內(nèi)容查看 186 6.3.1 直接查看文件內(nèi)容 187 6.3.2 可翻頁查看 188 6.3.3 數(shù)據(jù)截取 190 6.3.4 非純文本文件:od 191 6.3.5 修改文件時間或創(chuàng)建新文件:touch 192 6.4 文件與目錄的默認權(quán)限與隱藏權(quán)限 194 6.4.1 文件默認權(quán)限:umask 195 6.4.2 文件隱藏屬性 196 6.4.3 文件特殊權(quán)限:SUID、SGID、SBIT 198 6.4.4 觀察文件類型:file 200 6.5 命令與文件的查找 201 6.5.1 腳本文件的查找 201 6.5.2 文件的查找 201 6.6 極重要的復習,權(quán)限與命令間的關(guān)系 205 6.7 重點回顧 206 6.8 本章習題 207 6.9 參考資料與擴展閱讀 208 第7章 Linux磁盤與文件系統(tǒng)管理 209 7.1 認識Linux文件系統(tǒng) 210 7.1.1 磁盤組成與分區(qū)的復習 210 7.1.2 文件系統(tǒng)特性 211 7.1.3 Linux的ext2文件系統(tǒng)(inode) 212 7.1.4 與目錄樹的關(guān)系 217 7.1.5 ext2/ext3/ext4文件的存取與日志式文件系統(tǒng)的功能 219 7.1.6 Linux文件系統(tǒng)的運行 220 7.1.7 掛載點的意義(mount point) 221 7.1.8 其他Linux支持的文件系統(tǒng)與VFS 221 7.1.9 XFS文件系統(tǒng)簡介 222 7.2 文件系統(tǒng)的簡單操作 224 7.2.1 磁盤與目錄的容量 224 7.2.2 硬鏈接與符號鏈接:ln 227 7.3 磁盤的分區(qū)、格式化、檢驗與掛載 231 7.3.1 觀察磁盤分區(qū)狀態(tài) 232 7.3.2 磁盤分區(qū):gdisk/fdisk 233 7.3.3 磁盤格式化(創(chuàng)建文件系統(tǒng)) 238 7.3.4 文件系統(tǒng)檢驗 241 7.3.5 文件系統(tǒng)掛載與卸載 243 7.3.6 磁盤/文件系統(tǒng)參數(shù)自定義 246 7.4 設(shè)置啟動掛載 248 7.4.1 啟動掛載/etc/fstab及/etc/mtab 248 7.4.2 特殊設(shè)備loop掛載(鏡像文件不刻錄就掛載使用) 251 7.5 內(nèi)存交換分區(qū)(swap)之創(chuàng)建 252 7.5.1 使用物理分區(qū)創(chuàng)建內(nèi)存交換分區(qū) 253 7.5.2 使用文件創(chuàng)建內(nèi)存交換文件 254 7.6 文件系統(tǒng)的特殊觀察與操作 255 7.6.1 磁盤空間之浪費問題 255 7.6.2 利用GNU的parted 進行分區(qū)操作(可選) 256 7.7 重點回顧 257 7.8 本章習題 258 7.9 參考資料與擴展閱讀 259 第8章 文件與文件系統(tǒng)的壓縮 261 8.1 壓縮文件的用途與技術(shù) 262 8.2 Linux系統(tǒng)常見的壓縮命令 263 8.2.1 gzip,zcat/zmore/zless/zgrep 263 8.2.2 bzip2,bzcat/bzmore/bzless/bzgrep 265 8.2.3 xz,xzcat/xzmore/xzless/xzgrep 265 8.3 打包命令:tar 266 8.4 XFS文件系統(tǒng)的備份與還原 272 8.4.1 XFS文件系統(tǒng)備份xfsdump 272 8.4.2 XFS文件系統(tǒng)還原xfsrestore 275 8.5 光盤寫入工具 277 8.5.1 mkisofs:建立鏡像文件 277 8.5.2 cdrecord:光盤刻錄工具 280 8.6 其他常見的壓縮與備份工具 282 8.6.1 dd 282 8.6.2 cpio 284 8.7 重點回顧 285 8.8 本章習題 286 8.9 參考資料與擴展閱讀 287 第三部分 學習shell與shell script 第9章 vim程序編輯器 289 9.1 vi與vim 290 9.2 vi的使用 291 9.2.1 簡易執(zhí)行范例 292 9.2.2 按鍵說明 293 9.2.3 一個案例練習 296 9.2.4 vim的緩存、恢復與打開時的警告信息 297 9.3 vim的額外功能 299 9.3.1 可視區(qū)塊(Visual Block) 300 9.3.2 多文件編輯 301 9.3.3 多窗口功能 302 9.3.4 vim的關(guān)鍵詞補全功能 303 9.3.5 vim環(huán)境設(shè)置與記錄:~/.vimrc、~/.viminfo 304 9.3.6 vim常用命令示意圖 305 9.4 其他vim使用注意事項 305 9.4.1 中文編碼的問題 306 9.4.2 DOS與Linux的換行符 306 9.4.3 語系編碼轉(zhuǎn)換 307 9.5 重點回顧 308 9.6 本章練習 308 9.7 參考資料與擴展閱讀 309 *10章 認識與學習BASH 310 10.1 認識BASH這個Shell 311 10.1.1 硬件、內(nèi)核與Shell 311 10.1.2 為何要學命令行模式的 Shell? 312 10.1.3 系統(tǒng)的合法shell與 /etc/shells功能 313 10.1.4 Bash shell的功能 314 10.1.5 查詢命令是否為Bash shell 的內(nèi)置命令:type 315 10.1.6 命令的執(zhí)行與快速編輯按鈕 316 10.2 Shell的變量功能 316 10.2.1 什么是變量? 317 10.2.2 變量的使用與設(shè)置:echo、變量設(shè)置規(guī)則、unset 318 10.2.3 環(huán)境變量的功能 322 10.2.4 影響顯示結(jié)果的語系變量(locale) 325 10.2.5 變量的有效范圍 327 10.2.6 變量鍵盤讀取、數(shù)組與聲明: read、array、declare 327 10.2.7 與文件系統(tǒng)及程序的限制關(guān)系:ulimit 329 10.2.8 變量內(nèi)容的刪除、取代與替換(可選) 330 10.3 命令別名與歷史命令 334 10.3.1 命令別名設(shè)置:alias、unalias 334 10.3.2 歷史命令:history 335 10.4 Bash shell的操作環(huán)境 337 10.4.1 路徑與命令查找順序 337 10.4.2 bash的登錄與歡迎信息: /etc/issue、/etc/motd 337 10.4.3 bash的環(huán)境配置文件 338 10.4.4 終端的環(huán)境設(shè)置:stty、 set 342 10.4.5 通配符與特殊符號 344 10.5 數(shù)據(jù)流重定向 345 10.5.1 什么是數(shù)據(jù)流重定向 345 10.5.2 命令執(zhí)行的判斷根據(jù):;、&&、|| 348 10.6 管道命令(pipe) 350 10.6.1 選取命令:cut、grep 351 10.6.2 排序命令:sort、wc、uniq 353 10.6.3 雙向重定向:tee 354 10.6.4 字符轉(zhuǎn)換命令:tr、col、join、paste、expand 355 10.6.5 劃分命令:split 357 10.6.6 參數(shù)代換:xargs 358 10.6.7 關(guān)于減號【-】的用途 359 10.7 重點回顧 359 10.8 本章習題 360 10.9 參考資料與擴展閱讀 361 *11章 正則表達式與文件格式化處理 362 11.1 開始之前:什么是正則表達式 363 11.2 基礎(chǔ)正則表達式 364 11.2.1 語系對正則表達式的影響 365 11.2.2 grep 的一些*級選項 365 11.2.3 基礎(chǔ)正則表達式練習 366 11.2.4 基礎(chǔ)正則表達式字符集合(characters) 371 11.2.5 sed工具 373 11.3 擴展正則表達式 376 11.4 文件的格式化與相關(guān)處理 377 11.4.1 格式化打印:printf 377 11.4.2 awk:好用的數(shù)據(jù)處理工具 379 11.4.3 文件比對工具 381 11.4.4 文件打印設(shè)置:pr 384 11.5 重點回顧 384 11.6 本章習題 385 11.7 參考資料與擴展閱讀 386 *12章 學習shell腳本 387 12.1 什么是shell腳本 388 12.1.1 為什么要學習shell腳本 388 12.1.2 *一個腳本的編寫與執(zhí)行 389 12.1.3 建立shell腳本的良好編寫習慣 391 12.2 簡單的shell腳本練習 392 12.2.1 簡單范例 392 12.2.2 腳本的執(zhí)行方式差異(source、sh script、./script) 394 12.3 善用判斷式 395 12.3.1 利用test命令的測試功能 395 12.3.2 利用判斷符號[ ] 397 12.3.3 shell腳本的默認變量($0、$1...) 399 12.4 條件判斷式 400 12.4.1 利用if…then 401 12.4.2 利用case…esac判斷 405 12.4.3 利用function功能 406 12.5 循環(huán)(loop) 408 12.5.1 while do done、until do done不定循環(huán)) 408 12.5.2 for...do...done(固定循環(huán)) 409 12.5.3 for...do...done的數(shù)值處理 411 12.5.4 搭配隨機數(shù)與數(shù)組的實驗 412 12.6 shell腳本的跟蹤與調(diào)試 413 12.7 重點回顧 414 12.8 本章習題 415 第四部分 Linux使用者管理 *13章 Linux賬號管理與ACL權(quán)限設(shè)置 417 13.1 Linux的賬號與用戶組 41 13.2 賬號管理 42 13.3 主機的詳細權(quán)限規(guī)劃:ACL的使用 44 13.4 用戶身份切換 44 13.5 用戶的特殊shell與PAM模塊 45 13.6 Linux主機上的用戶信息傳遞 45 13.7 CentOS 7環(huán)境下大量創(chuàng)建賬號的方法 46 13.8 重點回顧 462 13.9 本章習題 463 13.10 參考資料與擴展閱讀 464 *14章 磁盤配額(Quota)與*級文件系統(tǒng)管理 465 14.1 磁盤配額(Quota)的應用與實踐 46 14.2 軟件磁盤陣列(Software RAID) 47 14.3 邏輯卷管理器(Logical Volume Manager) 48 14.4 重點回顧 497 14.5 本章習題 498 14.6 參考資料與擴展閱讀 499 *15章 計劃任務(crontab) 500 15.1 什么是計劃任務 50 15.2 僅執(zhí)行一次的計劃任務 50 15.3 循環(huán)執(zhí)行的計劃任務 50 15.4 可喚醒停機期間的工作任務 51 15.5 重點回顧 514 15.6 本章習題 514 *16章 進程管理與SELinux初探 515 16.1 什么是進程(process) 51 16.2 任務管理(job control) 52 16.3 進程管理 52 16.4 特殊文件與進程 53 16.5 SELinux初探 54 16.6 重點回顧 560 16.7 本章習題 561 16.8 參考資料與擴展閱讀 561 第五部分 Linux系統(tǒng)管理員 *17章 認識系統(tǒng)服務(daemon) 563 17.1 什么是daemon與服務(service) 56 17.2 通過systemctl管理服務 56 17.3 systemctl針對service類型的配置文件 57 17.4 systemctl針對timer的配置文件 585 17.5 CentOS 7.x默認啟動的服務概要 588 17.6 重點回顧 591 17.7 本章習題 591 17.8 參考資料與擴展閱讀 593 *18章 認識與分析日志文件 594 18.1 什么是日志文件 59 18.2 rsyslog.service:記錄日志文件的服務 59 18.3 日志文件的輪循(logrotate) 60 18.4 systemd-journald.service簡介 61 18.5 分析日志文件 61 18.6 重點回顧 616 18.7 本章習題 617 18.8 參考資料與擴展閱讀 617 *19章 啟動流程、模塊管理與Loader 618 19.1 Linux的啟動流程分析 61 19.2 內(nèi)核與內(nèi)核模塊 63 19.3 Boot Loader:Grub2 63 19.4 啟動過程的問題解決 65 19.5 重點回顧 653 19.6 本章習題 653 19.7 參考資料與擴展閱讀 654 *20章 基礎(chǔ)系統(tǒng)設(shè)置與備份策略 655 20.1 系統(tǒng)基本設(shè)置 65 20.2 服務器硬件數(shù)據(jù)的收集 66 20.3 備份要點 66 20.4 備份的種類、頻率與工具的選擇 67 20.5 鳥哥的備份策略 67 20.6 災難恢復的考慮 678 20.7 重點回顧 678 20.8 本章習題 679 20.9 參考資料與擴展閱讀 679 *21章 軟件安裝:源代碼與Tarball 680 21.1 開放源碼的軟件安裝與升級簡介 68 21.2 使用傳統(tǒng)程序語言進行編譯的簡單范例 68 21.3 用make進行宏編譯 68 21.4 Tarball的管理與建議 69 21.5 函數(shù)庫管理 69 21.6 校驗軟件正確性 702 21.7 重點回顧 703 21.8 本章習題 704 21.9 參考資料與擴展閱讀 705 *22章 軟件安裝RPM、SRPM與YUM 706 22.1 軟件管理器簡介 70 22.2 RPM軟件管理程序:rpm 71 22.3 YUM在線升級功能 71 22.4 SRPM的使用:rpmbuild(Optional) 73 22.5 重點回顧 737 22.6 本章習題 738 22.7 參考資料與擴展閱讀 738 *23章 X Window設(shè)置介紹 739 23.1 什么是X Window System 74 23.2 X Server配置文件解析與設(shè)置 74 23.3 顯卡驅(qū)動程序安裝范例 75 23.4 重點回顧 757 23.5 本章習題 758 23.6 參考資料與擴展閱讀 758 *24章 Linux內(nèi)核編譯與管理 759 24.1 編譯前的任務:認識內(nèi)核與獲取內(nèi)核源代碼 76 24.2 內(nèi)核編譯前的預處理與內(nèi)核功能選擇 76 24.3 內(nèi)核的編譯與安裝 77 24.4 額外(單一)內(nèi)核模塊編譯 77 24.5 以*新內(nèi)核版本編譯CentOS 7.x的內(nèi)核 777 24.6 重點回顧 778 24.7 本章習題 778 24.8 參考資料與擴展閱讀 778 |
|
來自: flyk0tcfb46p9f > 《電腦》