第1章 初識Linux
1.1 Linux的歷史與發(fā)展
1.1.1 Linux的歷史沿革
1.1.2 Linux的發(fā)展趨勢
1.1.3 Linux版本的變遷
1.1.4 關于Kernel版本與Distribution版本的區(qū)別
1.2 Linux的特性
1.2.1 Linux的新特性
1.2.2 Linux的特色
1.2.3 Linux與其他操作系統(tǒng)的區(qū)別
1.2.4 Linux的功能
1.2.5 為什么要使用Linux
1.2.6 Linux的不足
1.3 Linux在中國的前景與Clinux計劃
第2章 Linux的基本操作
2.1 Linux常用指令介紹
2.2 Linux的文件結構
2.2.1 Linux文件結構的概述
2.2.2 根文件系統(tǒng)
2.2.3 其他文件目錄
2.2.4 Linux的文件系統(tǒng)
2.3 基本的系統(tǒng)操作
2.3.1 啟動用戶的RedHat Linux系統(tǒng)
2.3.2 登錄和退出
2.3.3 賬號和口令
2.3.4 關閉RedHat Linux系統(tǒng)
2.3.5 XWindow系統(tǒng)的操作
2.4 幫助文檔
2.4.1 在線幫助
2.4.2 從因特網獲得幫助
2.5 vi的使用
2.5.1 vi基本概念
2.5.2 vi的基本操很
2.5.3 vi使用技巧
2.6 RPM的使用
2.6.1 RPM概述
2.6.2 RPM的用途
2.6.3 使用RPM
2.6.4 建造RPM
2.6.5 多操作平臺RPM的建造
2.7 Glint的使用
2.7.1 啟動glint
2.7.2 顯示軟件包
2.7.3 配置
2.7.4 操縱軟件包
第3章 Linux的系統(tǒng)管理
3.1 啟動和關機
3.1.1 引導和關機概述
3.1.2 引導過程簡析
3.1.3 關于關機的進一步討論
3.1.4 重啟動
3.1.5 緊急引導(軟)盤
3.2 系統(tǒng)的賬號管理
3.2.1 賬號的基本概念
3.2.2 創(chuàng)建用戶
3.2.3 改變用戶屬性與基本操作
3.2.4 用戶、組及私有用戶組
3.2.5 基于PAM的用戶認證
3.2.6 影子工具
3.3 創(chuàng)建定制的核心
3.3.1 創(chuàng)建模組化的內核
3.3.2 創(chuàng)建initrd映像
3.3.3 創(chuàng)建單一的核心
3.4 網絡應用的管理
3.4.1 設置郵件管理(Sendmail)
3.4.2 控制對服務的存取
3.4.3 匿名FTP
3.4.4 NFS設置
3.5 Boot、Init和Shutdown過程的描述
3.5.1 有關Sysconfig的信息
3.5.2 系統(tǒng)V的Init過程
3.5.3 Init的運行級
3.5.4 Initscript工具
3.5.5 在引導時執(zhí)行程序
3.5.6 系統(tǒng)關閉命令
3.6 緊急救護模式
3.6.1 通過LILO
3.6.2 應急Boot盤組
3.7 系統(tǒng)的備份與恢復
3.7.1 備份的重要性
3.7.2 選擇備份介質
3.7.3 選擇備份工具
3.7.4 簡單備份
3.7.5 多級備份
3.7.6 備份的內容
3.7.7 壓縮備份
3.8 內存管理
3.8.1 虛擬內存的基本概念
3.8.2 產生對換空間
3.8.3 使用對換空間
3.8.4 與其他操作系統(tǒng)共享對換空間
3.8.5 分配對換空間
3.8.6 高速緩存
3.9 系統(tǒng)的時間管理與使用
3.9.1 硬件時鐘和軟件時鐘
3.9.2 顯示和設置時鐘
3.9.3 調整時鐘錯誤
3.10 進程
3.10.1 Linux的進程
3.10.2 標識
3.10.3 調度
3.10.4 文件歌曲
3.10.5 虛擬內存
3.10.6 創(chuàng)建一個進程
3.10.7 時間和計時器
3.10.8 執(zhí)行程序
3.11 進程間通訊機制
3.11.1 信號
3.11.2 管道
3.11.3 Socket
第4章 Emscs的使用
4.1 Emacs的基本概念
4.1.1 GNU簡介
4.1.2 GNU Emacs的基本概念
4.1.3 GNU Emacs的特質
4.2 Emacs的在線輔助說明
4.2.1 Emacs的基本知識
4.2.2 Emacs的自學教材
4.2.3 Ctrl-h的用法
4.2.4 Emacs的info使用說明
4.3 Emacs的整體環(huán)境
4.3.1 Emacs中執(zhí)行Shell的指令
4.3.2 有關目錄的編輯方法
4.3.3 編輯遠方機器上的文件
4.3.4 程序的編輯、編譯與測試
4.3.5 在Emacs中打印文件
4.3.6 在Emacs中收發(fā)信件
4.3.7 其他與Emacs相關的工作環(huán)境
4.4 與Emacs有關的議題
4.4.1 如何起動Emacs
4.4.2 如何離開Emacs
4.4.3 Emacs的屏幕安排
4.4.4 Emacs的緩沖區(qū)與窗口
4.5 Emacs的基本編輯指令
4.5.1 載入文件與儲存文件
4.5.2 Emacs的基礎編輯指令
4.5.3 在文件中做上標記
4.5.4 在Emacs中如何加入與顯示文件
4.5.5 光標的移動
4.5.6 數(shù)值引數(shù)
4.5.7 獲取與光標有關的信息
4.5.8 文件的刪減
4.5.9 Yanking的基本概念
4.5.10 文件的移動與拷貝
4.5.11 Undo的用法
4.6 Emacs高級編輯指令
4.6.1 文件搜尋
4.6.2 件的取代
4.6.3 Regular Expression
4.7 Emacs的其他相關事項
4.7.1 Register與Bookmark
4.7.2 文字勘誤
4.7.3 圖形的編輯
4.8 中文編輯環(huán)境
4.8.1 Emacs下的中文編輯
4.8.2 中文化的Emacs-Mule
4.9 關于Emacs使用的小結
第5章 Linux下的程序編譯器
5.1 GCC的安裝與使用
5.1.1 獲得GNU C的資料
5.1.2 安裝與設定GCC
5.1.3 移植程序與編譯程序
5.1.4 除錯與監(jiān)管
5.1.5 連接
5.1.6 動態(tài)載入
5.2 GNU C Library的安裝與使用
5.2.1 選擇用戶的安裝方式
5.2.2 取得函數(shù)庫
5.2.3 安裝測試用的函數(shù)庫
5.2.4 安裝成主要函數(shù)庫
5.2.5 使用非主要的C函數(shù)庫編譯程序
5.2.6 編譯C++程序
5.2.7 Specs檔示例
第6章 Linux編程的基本方法
6.1 crypt的用法
6.2 fork、pthread和signals的用法
6.3 gpm的用法
6.4 scket/inetd編程
6.4.1 Client
6.4.2 Server
6.4.3 Inetd programming
6.5 SVGALIB的用法
6.6 termios、keymap和terminal編程
6.7 zlib的運用
6.8 Dialog的用法
6.9 bash,Shell script應用
6.9.1 Shell script應用
6.9.2 bash的應用
第7章 Linux實用編程技術
7.1 制作Makefile
7.1.1 簡介
7.1.2 準備工作
7.1.3 一個簡單的例子
7.1.4 原理分析
7.1.5 相關信息
7.1.6 Makefile簡單小結
7.2 AWK編程簡介
7.2.1 AWK簡介
7.2.2 讀取輸入檔案
7.2.3 打印
7.2.4 patterns
7.2.5 表達式(Expression)作為Actions的語句
7.2.6 Actions里面的控制語句
7.2.7 內建函數(shù)(Built-in Functions)
7.2.8 用戶自定義函數(shù)(User-defined Functions)
7.2.9 Gawk程序示例
7.2.10 Gawk小結
7.3 Curses屏幕程序設計簡介
7.3.1 Curses的歷史與版本
7.3.2 Curses的使用
7.3.3 用Curses處理多窗口
7.3.4 一些常用函數(shù)
第8章 多進程編程基礎
8.1 多進程程序的特點
8.2 常用的多過程編程的系統(tǒng)調用
8.3 多進程編程技巧
8.3.1 主要程序結構
8.3.2 選擇主體分叉點
8.3.3 進程間關系處理
8.3.4 進程間通訊處理
第9章 Linux下的C語言編程
9.1 C程序設計基礎
9.1.1 編譯和執(zhí)行C程序
9.1.2 C語言程序的基本架構
9.1.3 C語言基礎
9.2 數(shù)據(jù)的基本操作
9.2.1 C語言中的數(shù)據(jù)類型
9.2.2 數(shù)值的運算
9.2.3 高級的運算符和數(shù)的值域
9.2.4 位邏輯運算
9.3 變量
9.3.1 字符
9.3.2 數(shù)組與字符串
9.4 基本的輸出和輸入
9.4.1 輸出函數(shù)的概念
9.4.2 printf函數(shù)的用法
9.4.3 地址操作符
9.4.4 scanf函數(shù)的用法
9.5 基本的流程控制
9.5.1 if-else與goto
9.5.2 while與do-while
9.5.3 for循環(huán)
9.5.4 “”操作符
9.5.5 進一步討論for循環(huán)
9.5.6 switch語句
9.5.7 break與continue的運用
9.6 數(shù)組與指針
9.6.1 指針的基本概念
9.6.2 變量的范圍
9.6.3 作為函數(shù)參數(shù)的指針
9.6.4 算術地址
9.6.5 數(shù)組與指針的區(qū)別
9.6.6 字符串的處理方式
9.6.7 指針數(shù)組
9.6.8 多維數(shù)組
9.6.9 命令行參數(shù)
9.7 函數(shù)
9.7.1 變量
9.7.2 常數(shù)
9.7.3 返回值
9.7.4 速歸
9.8 結構體
9.8.1 結構體的操作
9.8.2 操作符的優(yōu)先順序
9.8.3 結構體數(shù)組與指針
9.8.4 自引用結構體
9.8.5 typedef
第10章 GDB應用簡介
10.1 GDB的基本操作
10.1.1 GDB應用的一個實例
10.1.2 運行GDB
10.1.3 模式的選擇
10.1.4 退出GDB
10.1.5 Shell命令
10.1.6 GDB命令
10.1.7 Command語法
10.2 GDB使用方法
10.2.1 輸入命令的技巧
10.2.2 獲得幫助
10.2.3 在GDB下運行程序
10.2.4 開始運行程序
10.2.5 程序環(huán)境
10.2.6 工作路徑
10.2.7 程序的輸入/輸出
10.2.8 調試一個已經運行的程序
10.3 進程控制
10.3.1 結束子進程
10.3.2 附加的進程信息
10.3.3 對多線程程序的調試
10.3.4 調試多進程程序的進一步討論
10.3.5 停止和繼續(xù)
10.4 斷點、觀察點和異常
10.4.1 設置斷點
10.4.2 設置觀察點
10.4.3 斷點和異常
10.4.4 刪除斷點
10.4.5 使斷點暫時不起作用
10.4.6 斷點條件
10.4.7 斷點命令列表
10.4.8 斷點菜單
第11章 Linux網絡配置基礎
11.1 Linux網絡的發(fā)展簡史
11.2 NET-2/NET-3支持的功能
11.3 取得NET-2/NET-3軟件
11.3.1 kernel原始程序
11.3.2 libraries(函數(shù)庫)
11.3.3 網絡配置(configuration)工具集
11.4 配置(configuring)kernel
11.5 配置網絡設備
11.5.1 Configuring/dev目錄下特殊的設備文檔
11.5.2 在配置網絡軟件之前需要什么信息
11.5.3 /etc/rc.d/rc.inet1,2or/etc/rc.net
11.5.4 配置Loopback device(強制選用)
11.5.5 配置ethernet device
11.5.6 配置SLIP device
11.5.7 配置PLIP device
11.6 配置網絡的后臺駐留程序
11.6.1 /etc/rc.d/rc.inet2(rc.net的后半段)
11.6.2 一個re.inet2范例文檔
11.6.3 Name Resolution
11.6.4 其他檔案
11.7 局級配置
11.7.1 點對點通訊協(xié)議
11.7.2 把Linux配置成SLIP server
第12章 Linux下TPPP設備的配置
12.1 PPP簡介
12.2 ppp應用用基礎
12.2.1 IP號碼
12.2.2 配置Linux核心
12.2.3 取得關于PPP服務的信息
12.2.4 關于串行口和速度的注意事項
12.2.5 配置調制解調器
12.2.6 使用PPP以及root權限
12.3 PPP檔案系統(tǒng)
12.3.1 配置PPP連線的檔案
12.3.2 設立/etc/resolv.conf檔案
12.3.3 PAP/CHAP密碼檔
12.4 PPP的基本操作
12.4.1 手動設立PPP連線
12.4.2 自動化的連線——建立chat指令稿
12.4.3 編輯ppp-on檔案
12.4.4 測試連線指令稿
12.4.5 終止PPP連結
12.5 ppp應用方法
12.5.1 使用PPP連結兩個網絡
12.5.2 配置已連線PPP設備
12.5.3 配合動態(tài)的IP號碼使用網際網絡服務
12.5.4 設立PPP服務器
第13章 Linux網絡應用基本技術
13.1 DNS簡介
13.1.1 DNS概述
13.1.2 暫存專用(cachingonly)域名服務器
13.1.3 一個簡單的域
13.1.4 DNS的維護
13.1.5 撥接連線的自動設定
13.2 Linux下Firewall的應用簡介
13.2.1 Firewall的基本原理
13.2.2 Firewall操作方法
13.2.3 Firewall軟件
13.2.4 Proxy Server
13.2.5 高級設定
13.3 Linux下Usenet的應用
13.3.1 Usenet的基本概念
13.3.2 Netnews軟件技術解析
13.3.3 News的運作原理
13.3.4 建立自己的News Server
13.3.5 INN應用
13.3.6 使用News服務器的幫助系統(tǒng)
13.3.7 Linux INN
第14章 高級Linux網絡技術
14.1 Linux下的IP偽裝
14.1.1 IP Masquerade的基本概念
14.1.2 IP Masquerade的配置
14.1.3 其他IP Masquerade的問題及軟件支持
14.2 SMB應用簡介
14.2.1 安裝
14.2.2 執(zhí)行daemon
14.2.3 一般組態(tài)配置(/etc/smb.conf)
14.2.4 共享Linux磁盤給Windows機器
14.2.5 共享Windows磁盤給Linux機器
14.2.6 共享Linux打印機給Windows機器
14.2.7 共享Windows打印機給Linux機器
14.3 系統(tǒng)的安全管理
14.3.1 超級用戶與文件系統(tǒng)安全
14.3.2 作為root運行的程序
14.3.3 /etc/passwd文件
14.3.4 /etc/group文件
14.3.5 增加、刪除、移走用戶
14.3.6 安全檢查
14.3.7 加限制的環(huán)境
14.3.8 小系統(tǒng)安全
14.3.9 物理安全
14.3.10 用戶意識