本書講解了Linux操作系統(tǒng)的工作機(jī)制以及運(yùn)行Linux系統(tǒng)所需的常用工具和命令。根據(jù)系統(tǒng)啟動的大體順序,本書更深入地介紹從設(shè)備管理到網(wǎng)絡(luò)配置的各個部分,演示了系統(tǒng)各部分的運(yùn)行方式,并介紹了一些基本技巧和開發(fā)人員常用的工具。
Linux不像其他操作,會對用戶隱藏很多重要的東西。相反,Linux會讓用戶掌控一切。而要掌控一切,就必須理解這個操作系統(tǒng)的工作機(jī)制,包括如何啟動、如何連網(wǎng),以及Linux內(nèi)核如何工作。本書是暢銷書的新版本,作者擁有多年的實(shí)踐經(jīng)驗,內(nèi)容通俗易懂。通過這本書,讀者可以迅速從Linux新手變成老鳥,把作者豐富的經(jīng)驗裝進(jìn)自己的知識庫。
Linux是了解操作系統(tǒng)工作機(jī)制的平臺。我們大多數(shù)人都用了多年電腦,但對電腦背后的工作機(jī)制卻一無所知,而本書就是解除這一困惑的絕好途徑。本書能讓你對使用的計算機(jī)有所了解,熟悉軟件的基本工作原理,以及理解系統(tǒng)作為一個整體是如何工作的。根據(jù)系統(tǒng)啟動的大體順序,本書深入介紹了從設(shè)備管理到網(wǎng)絡(luò)配置的各個部分,演示了系統(tǒng)各部分的運(yùn)行方式,并介紹了一些基本技巧和開發(fā)人員常用的工具。
我們學(xué)習(xí)Linux的原因可能各不相同。對于IT從業(yè)者(如系統(tǒng)運(yùn)維人員)來說,他們需要了解本書中的幾乎所有內(nèi)容。對于Linux軟件架構(gòu)和開發(fā)人員來說,他們同樣需要了解這些內(nèi)容,以便發(fā)揮操作系統(tǒng)的功效。對于研究人員和學(xué)生來說,本書能夠讓他們理解為什么我們要這樣設(shè)置系統(tǒng)。本書菜鳥與老鳥通吃,既可作為菜鳥的入門教程,也可以作為老鳥的進(jìn)階指南。
Brian Ward畢業(yè)于芝加哥大學(xué),獲計算機(jī)科學(xué)博士學(xué)位。1993年開始接觸Linux,研究并教授Linux二十余年。除了這本深受讀者喜愛的書,Brian還著有Linux Kernel-HOWTO(No Starch Press)、The Linux Problem Solver(No Starch Press)等暢銷著作。現(xiàn)居舊金山,身兼計算機(jī)高級顧問與高級講師等數(shù)職。
第1章 概述
1.1 Linux 操作系統(tǒng)中的抽象級別和層次
1.2 硬件系統(tǒng):理解主內(nèi)存
1.3 內(nèi)核
1.3.1 進(jìn)程管理
1.3.2 內(nèi)存管理
1.3.3 設(shè)備驅(qū)動程序和設(shè)備管理
1.3.4 系統(tǒng)調(diào)用和系統(tǒng)支持
1.4 用戶空間
1.5 用戶
1.6 前瞻
第2章 基礎(chǔ)命令和目錄結(jié)構(gòu)
2.1 Bourne shell: /bin/sh
2.2 shell 的使用
2.2.1 shell 窗口
2.2.2 cat 命令
2.2.3 標(biāo)準(zhǔn)輸入輸出
2.3 基礎(chǔ)命令
2.3.1 ls 命令
2.3.2 cp 命令
2.3.3 mv 命令
2.3.4 touch 命令
2.3.5 rm 命令
2.3.6 echo 命令
2.4 瀏覽目錄
2.4.1 cd 命令
2.4.2 mkdir 命令
2.4.3 rmdir 命令
2.4.4 shell 通配符
2.5 中間命令
2.5.1 grep 命令
2.5.2 less 命令
2.5.3 pwd 命令
2.5.4 diff 命令
2.5.5 file 命令
2.5.6 find 和locate 命令
2.5.7 head 和tail 命令
2.5.8 sort 命令
2.6 更改密碼和shell
2.7 dot 文件
2.8 環(huán)境變量和shell 變量
2.9 命令路徑
2.10 特殊字符
2.11 命令行編輯
2.12 文本編輯器
2.13 獲取在線幫助
2.14 shell 輸入輸出
2.14.1 標(biāo)準(zhǔn)錯誤輸出
2.14.2 標(biāo)準(zhǔn)輸入重定向
2.15 理解錯誤信息
2.15.1 解析Unix 的錯誤信息
2.15.2 常見錯誤
2.16 查看和操縱進(jìn)程
2.16.1 命令選項
2.16.2 終止進(jìn)程
2.16.3 任務(wù)控制
2.16.4 后臺進(jìn)程
2.17 文件模式和權(quán)限
2.17.1 更改文件權(quán)限
2.17.2 符號鏈接
2.17.3 創(chuàng)建符號鏈接
2.18 歸檔和壓縮文件
2.18.1 gzip 命令
2.18.2 tar 命令
2.18.3 壓縮歸檔文件(.tar.gz)
2.18.4 zcat 命令
2.18.5 其他的壓縮命令
2.19 Linux 目錄結(jié)構(gòu)基礎(chǔ)
2.19.1 root 目錄下的其他目錄
2.19.2 /usr 目錄
2.19.3 內(nèi)核位置
2.20 以超級用戶的身份運(yùn)行命令
2.20.1 sudo 命令
2.20.2 /etc/sudoers
2.21 前瞻
第3章 設(shè)備管理
3.1 設(shè)備文件
3.2 sysfs 設(shè)備路徑
3.3 dd 命令和設(shè)備
3.4 設(shè)備名總結(jié)
3.4.1 硬盤:/dev/sd
3.4.2 CD 和DVD:/dev/sr
3.4.3 PATA 硬盤:/dev/hd
3.4.4 終端設(shè)備/dev/tty/、/dev/pts/和/dev/tty
3.4.5 串行端口:/dev/ttyS
3.4.6 并行端口:/dev/lp0 和/dev/lp1
3.4.7 音頻設(shè)備:/dev/snd/、/dev/dsp、/dev/audio 和其他
3.4.8 創(chuàng)建設(shè)備文件
3.5 udev
3.5.1 devtmpfs
3.5.2 udevd 的操作和配置
3.5.3 udevadm
3.5.4 設(shè)備監(jiān)控
3.6 詳解SCSI 和Linux 內(nèi)核
3.6.1 USB 存儲設(shè)備和SCSI
3.6.2 SCSI 和ATA
3.6.3 通用SCSI 設(shè)備
3.6.4 訪問設(shè)備的多種方法
第4章 硬盤和文件系統(tǒng)
4.1 為磁盤設(shè)備分區(qū)
4.1.1查看分區(qū)表
4.1.2 更改分區(qū)表
4.1.3 磁盤和分區(qū)的構(gòu)造
4.1.4 固態(tài)硬盤
4.2 文件系統(tǒng)
4.2.1 文件系統(tǒng)類型
4.2.2 創(chuàng)建文件系統(tǒng)
4.2.3 掛載文件系統(tǒng)
4.2.4 文件系統(tǒng)UUID
4.2.5 磁盤緩沖、緩存和文件系統(tǒng)
4.2.6 文件系統(tǒng)掛載選項
4.2.7 重新掛載文件系統(tǒng)
4.2.8 /etc/fstab 文件系統(tǒng)表
4.2.9 /etc/fstab 的替代者
4.2.10 文件系統(tǒng)容量
4.2.11 檢查和修復(fù)文件系統(tǒng)
4.2.12 特殊用途的文件系統(tǒng)
4.3 交換空間
4.3.1 使用磁盤分區(qū)作為交換空間
4.3.2 使用文件作為交換空間
4.3.3 你需要多大的交換空間
4.4 前瞻:磁盤和用戶空間
4.5 深入傳統(tǒng)文件系統(tǒng)
4.5.1 查看inode 細(xì)節(jié)
4.5.2 在用戶空間中使用文件系統(tǒng)
4.5.3 文件系統(tǒng)的演進(jìn)
第5章 Linux 內(nèi)核的啟動
5.1 啟動消息
5.2 內(nèi)核初始化和啟動選項
5.3 內(nèi)核參數(shù)
5.4 引導(dǎo)裝載程序
5.4.1 引導(dǎo)裝載程序任務(wù)
5.4.2 引導(dǎo)裝載程序概述
5.5 GRUB 簡介
5.5.1 使用GRUB 命令行瀏覽設(shè)備和分區(qū)
5.5.2 GRUB 配置信息
5.5.3 安裝GRUB
5.6 UEFI 安全啟動的問題
5.7 鏈?zhǔn)郊虞d其他操作系統(tǒng)
5.8 引導(dǎo)裝載程序細(xì)節(jié)
5.8.1 MBR 啟動
5.8.2 UEFI 啟動
5.8.3 GRUB 工作原理
第6章 用戶空間的啟動
6.1 init 介紹
6.2 System V 運(yùn)行級別
6.3 識別你的init
6.4 systemd
6.4.1 單元和單元類型
6.4.2 systemd 中的依賴關(guān)系
6.4.3 systemd 配置
6.4.4 systemd 操作
6.4.5 在systemd 中添加單元
6.4.6 systemd 進(jìn)程跟蹤和同步
6.4.7 systemd 的按需和資源并行啟動
6.4.8 systemd 的System V 兼容性
6.4.9 systemd 輔助程序
6.5 Upstart
6.5.1 Upstart 初始化過程
6.5.2 Upstart 任務(wù)
6.5.3 Upstart 配置
6.5.4 Upstart 操作
6.5.5 Upstart 日志
6.5.6 Upstart 運(yùn)行級別和System V兼容性
6.6 System V init
6.6.1 System V init 啟動命令順序
6.6.2 System V init 鏈接池
6.6.3 run-parts
6.6.4 System V init 控制
6.7 關(guān)閉系統(tǒng)
6.8 initramfs
6.9 緊急啟動和單用戶模式
第7章 系統(tǒng)配置:日志、系統(tǒng)時間、批處理任務(wù)和用戶
7.1 /etc 目錄結(jié)構(gòu)
7.2 系統(tǒng)日志
7.2.1 系統(tǒng)日志
7.2.2 配置文件
7.3 用戶管理文件
7.3.1 /etc/passwd 文件
7.3.2 特殊用戶
7.3.3 /etc/shadow 文件
7.3.4 用戶和密碼管理
7.3.5 用戶組
7.4 getty 和login
7.5 設(shè)置時間
7.5.1 內(nèi)核時間和時區(qū)
7.5.2 網(wǎng)絡(luò)時間
7.6 使用cron 來調(diào)度日常任務(wù)
7.6.1 安裝crontab 文件
7.6.2 系統(tǒng)crontab 文件
7.6.3 cron 的未來
7.7 使用at 進(jìn)行一次性任務(wù)調(diào)度
本書絕不是枯燥的長篇大論,而是一本生動的Linux教程。Ward用嚴(yán)謹(jǐn)又不失風(fēng)趣的語言和一個個鮮明易懂的例子,為你解除"談命令行色變"的魔咒,讓你非常直觀地了解Linux系統(tǒng)背后的工作原理。
——亞馬遜用戶評論
Brian Ward清晰明了地講解了Linux內(nèi)部的工作機(jī)制,內(nèi)容涵蓋了從啟動到磁盤、硬件等的各個方面。本書沒有教你深奧的編程,卻帶你透徹領(lǐng)會系統(tǒng)各個層次是如何工作的,讓你明白每一個動作執(zhí)行的背后到底隱藏著何種玄機(jī)。
——亞馬遜用戶評論