內容介紹
本書介紹Linux環境下的編程方作品目錄
目 錄前言
第一篇 Linux系統介紹
第1章 Linux簡介
1.1Linux的起源
1.2自由軟體基金會的GNU計畫
1.3Linux的發音
1.4Linux的特點
1.5基本硬體要求
1.6如何獲得Linux
1.6.1從網上下載Linux
1.6.2從光碟獲得Linux
1.7涉及Linux的Web網址和新聞討論組
1.8Linux的不足之處
第2章 外殼及常用命令
2.1登錄和退出
2.2Linux系統的外殼
2.3外殼的常用命令
2.3.1更改帳號密碼
2.3.2在線上幫助
2.3.3遠程登錄
2.3.4檔案或目錄處理
2.3.5改變工作目錄
2.3.6複製檔案
2.3.7移動或更改檔案、目錄名稱
2.3.8建立新目錄
2.3.9刪除目錄
2.3.10刪除檔案
2.3.11列出當前所在的目錄位置
2.3.12查看檔案內容
2.3.13分頁查看檔案內容
2.3.14查看目錄所占磁碟容量
2.3.15檔案傳輸
2.3.16檔案許可權的設定
2.3.17檢查自己所屬的工作組名稱
2.3.18改變檔案或目錄工作組所有權
2.3.19改變檔案或目錄的最後修改時間
2.3.20檔案的連結
2.3.21檔案中字元串的查錄
2.3.22查尋檔案或命令的路徑
2.3.23比較檔案或目錄的內容
2.3.24檔案列印輸出
2.3.25一般檔案的列印
2.3.26troff檔案的列印
2.3.27印表機控制命令
2.3.28進程控制
2.3.29外殼變數
2.3.30環境變數
2.3.31別名
2.3.32歷史命令
2.3.33檔案的壓縮
2.3.34管道命令的使川
2.3.35輸入/輸出控制
2.3.36查看系統中的用戶
2.3.37改變用戶名
2.3.38查看用戶名
2.3.39查看當前系統上所有工作站
的用戶
2.3.40與某工作站上的用戶交談
2.3.41檢查遠程系統是否正常
2.3.42電子郵件的使用簡介
第3章 Linux系統的網路功能
3.1Linux支持的網路協定
3.1.1TCP/IP
3.1.2TCP/IP版本6
3.1.3IPX/SPX
3.1.4AppleTalk協定集
3.1.5廣域網
3.1.6ISDN
3.1.7PPP、SLIP及PLIP
3.1.8業餘無線電
3.1.9ATM
3.2Linux系統下的檔案共享和列印共享
3.2.1Machintosh環境
3.2.2Windows環境
3.2.3Novell環境
3.2.4UNIX環境
3.3Linux系統中的Internet/Intranet功能
3.3.1郵件
3.3.2Web伺服器
3.3.3Web瀏覽器
3.3.4FTP伺服器和客戶機
3.3.5新聞服務
3.3.6域名系統
3.3.7DHCP和bootp
3.3.8NIS
3.4Linux系統下應用程式的遠程執行
3.4.1Telnet
3.4.2遠程命令
3.4.3XWindow
3.5Linux系統的網路互連功能
3.5.1路由器
3.5.2網橋
3.5.3IP偽裝
3.5.4IP統計
3.5.5IP別名
3.5.6流量限制器
3.5.7防火牆
3.5.8連線埠下傳
3.5.9負載平衡
3.5.10EQL
3.5.11代理伺服器
3.5.12按需撥號
3.5.13管道、移動IP和虛擬個人網路
3.6Linux系統中的網路管理
3.6.1Linux系統下的網路管理應用程式
3.6.2SNMP
3.7企業級Linux網路
3.7.1高可用性
3.7.2RAID
3.7.3冗餘網路
第4章 Linux系統管理簡介
4.1root帳號
4.2啟動和關閉系統
4.2.1從軟碟啟動
4.2.2使用LILO啟動
4.2.3關閉Linux系統
4.3掛接檔案系統
4.3.1掛接軟碟
4.3.2創建新的檔案系統
4.3.3卸載檔案系統
4.4檢查檔案系統
4.5使用檔案作為交換區
4.6系統和檔案的備份
4.7設定系統
4.7.1設定系統名
4.7.2使用維護磁碟
4.7.3重新設定root帳號口令
4.7.4設定登錄信息
第二篇 Linux高級語言及管理編程
第5章 外殼編程
5.1創建和運行外殼程式
5.1.1創建外殼程式
5.1.2運行外殼程式
5.2使用外殼變數
5.2.1給變數賦值
5.2.2讀取變數的值
5.2.3位置變數和共他系統變數
5.2.4引號的作用
5.3數值運算命令
5.4條件表達式
5.4.1if表達式
5.4.2case表達式
5.5循環語句
5.5.1for語句
5.5.2while語句
5.5.3 until語句
5.6shift命令
5.7Select語句
5.8repeat語句
5.9子函式
第6章 gawk語言編程
6.1gawk的主要功能
6.2如何4執行gawk程式
6.3檔案、記錄和欄位
6.4模式和動作
6.5比較運算和數值運算
6.6內部函式
6.6.1隨機數和數P學函式
6.6.2字元串的內部函式
6.6.3 輸入輸出的內部函式
6.7字元串和數字
6.8格式化輸出
6.9改變欄位分隔設定
6.10元字元
6.11調用gawk程式
6.12衛BEGIN和END
6.13變數
6.14內置變數
6.15控制結構
6.15.1if表達式
6.15.2while循環
6.15.3for循環
6.15.4next和exit
6.16數組
6.17川戶自定義函式
6.18兒個實例
第7章 Perl語言編程
7.1什麼是Perl
7.2Perl的現狀
7.3初試P erl
7.4Perl變數
7.4.1標量
7.4.2數組
7.4.3相關數組
7.5檔案句柄和檔案操作
7.6循環結構
7.6.1foreach循環
7.6.2判斷運算
7.6.3for循環
7.6.4 while和until循環
7.7條件結構
7.8字元匹配
7.9替換和翻譯
7.9.1替換
7.9.2翻譯
7.10 子過程
7.10.1子過程的定義
7.10.2參數
7.10.3返回值
7.11 Perl程式的完整例了
第8章 Linux核心簡介
8.1系統初始化
8.2系統運行
8.3核心提供的各種系統調用
8.3.1進程的從本概念和系統
8.3.2創建和撤消進程
8.3.3執九行程式序
第9章 系統進程
9.1什麼是進程
9.2進程的結構
9.3進程調度
9.4進程使用的檔案
9.5進程使川的虛擬記憶體
9.6創建進程
9.7進積的時間和計時器
9.7.1實時時鐘
9.7.2虛擬時鐘
9.7.3形象時鐘
9.8程式的執行
9.8.1ELF檔案
9.8.2腳本檔案
第10章 記憶體管理
10.1記憶體管理的作用
10.2虛擬記憶體的抽象模型
10.3按需裝入頁面
10.4交換
10.5共享虛擬記憶體
10.6存取控制
10.7高速快取
10.7.1緩衝區高速快取
10.7.2頁面高速快取
10.7.3交換高速快取
10.7.4硬體高速快取
10.8系統頁面表
10.9頁面的分配和釋放
10.9.1頁面的分配
10.9.2頁面的釋放
10.10記憶體映射
10.11請求調頁
10.12頁面高速快取
10.13核心交換守護進程
第11章 進程間通信
11.1信號機制
11.2管道機制
113SystemVIPC機制
11.3.1信息佇列
11.3.2信號量
11.3.3共享記憶體
第12章 PCI
12.1PCI系統
12.2PCI地址空間
12.3PCI設定頭
12.4PCII/O和PCI記憶體地址
12.5PCI-ISA橋
12.6PCI-PCI橋
12.7PCI初始化
12.7.1Linux系統核心有關PCI的
數據結構
12.7.2 PCI設備驅動程式
12.7.3 PCIBIOS函式
12.7.4 PCIFixup
第13章 中斷和中斷處理
13.1中斷
13.2可程式中斷控制器
13.3初始化中斷處理的數據結構
13.4中斷處理
第14章 設備驅動程式
14.1硬體設備的管理
14.2輪詢和中斷
14.3直接記憶體存取
14.4記憶體
14.5設備驅動程式和核心之間的接日
14.5.1字元設備
14.5.2塊設備
14.6 硬碟
14.6.1IDE硬碟
14.6.2初始化IDE硬碟子系統
14.6.3SCSI硬碟
14.6.4初始化SCSI磁碟子系統
14.6.5傳遞塊設備請求
14.7網路設備
14.7.1網路設備檔案名稱
14.7.2匯流排信息
14.7.3網路接目標記
14.7.4協定信息
14.7.5初始化網路設備
第15章 檔案系統
15.1Linux檔案系統概述
15.2 ext2檔案系統
15.2.1ext2的索引節點
15.2.2ext2超級塊
15.2.3ext2數據塊組描述符
15.2.4ext2中的目錄
15.2.5在ext2檔案系統中查找檔案
15.2.6改變ext2檔案系統中檔案
的大小
15.3VFS
15.3.1.VFS超級塊
15.3.2 VFS索引節點
15.3.3登記檔案系統
15.3.4 掛接檔案系統
15.3.5在VFS中查找檔案
15.3.6撤消檔案系統
15.3.7VFS索引節點快取
15.3.8VFS目錄快取
15.4 緩衝區快取
15.5/proc檔案系統
第16章 網路系統
16.1TCP/IP網路簡介
16.2TCP/IP網路的分層
16.3BSD套接口
16.4INET套接口層
16.4.1創建BSD套接口
16.4.2給INETBSD套接口指定地址
16.4.3在INETBSD套接口上創建連線
16.4.4監聽INETBSD套接口
16.4.5接收連線請求
16.5IP層
16.5.1套接口緩衝區
16.5.2接收IP數據包
16.5.3傳送IP數據包
16.5.4數據碎片
16.6地址解析協定
第17章 系統核心機制
17.1BottomHalf處理
17.2任務佇列
17.3計時器
17.4等待佇列
17.5信號量
第四篇 Linux系統高級編程
第18章 Linux核心模組編程
18.1 個簡單程式HelloWorld
18.2 設備檔案
18.3 proc義件系統
18.4 使用/proc輸入
18.5 與設備檔案通信
18.6 啟動參數
18.7 系統調用
18.8 阻塞進程
18.9 替換printk
18.10 調度任務
第19章 有關進程通信的編程
19.1進程間通信簡介
19.2半雙工UNIX管道
19.2.1基本概念
19.2.2使用C語言創建管道
19.2.3創建管道的簡單方法
19.2.4使用管道的自動操作
19.2.5使用半雙工管道時的注意事項
19.3命名管道
19.3.1基本概念
19.3.2創建FIFO
19.3.3FIFO操作
19.3.4FIFO的阻塞
19.3.5SIGPIPE信號
19.4 SystemVIPC
19.4.1基本概念
19.4.2訊息佇列基本概念
19.4.3系統調川msgget()
19.4.4系統調川msgsnd()
19.4.5系統調用msgctl()
19.4.6一個msgtool的實例
19.5使用信號量編程
19.5.1基本概念
19.5.2系統調用semget()
19.5.3系統調用semop()
19.5.4系統調用semctl()
19.5.5使用信號量集的實例:semtool
19.6 共享記憶體
19.6.1基本概念
19.6.2 系統內部用戶數據結構
shmidds
19.6.3系統調川shmget()
19.6.4 系統調用shmat()
19.6.5系統調川shmctl()
19.6.6系統調用shmdt()
19.6.7使用共享記憶體的實例:shmtool
第20章 高級執行緒編程
20.1執行緒的概念和用途
20.2個簡單的例子
20.3執行緒同步
20.4使用信號量協調程式
20.5信號量的實現
20.5.1Semaphore.h
20.5.2Semaphore.c
第21章 Linux系統網路編程
21.1什麼是套接口
21.2兩種類型的Internet套接口
21.3網路協定分層
21.4數據結構
21.5IP位址和如何使川IP位址
21.5.1socket()
21.5.2bind()
21.5.3connect()
21.5.4listen()
21.5.5accept()
21.5.6send()和recv()
21.5.7sendto0和recvfrom()
21.5.8close()和shutdown0
21.5.9getpeername()
21.5.10gethostname()
21.6 DNS
21.7客戶機/伺服器模式
21.8簡單的數據流伺服器程式
21.9簡單的數據流客戶機程式
21.10數據報套接口
21.11阻塞
第22章 LinuxI/O連線埠編程
22.1如何在C語言下使用I/O連線埠
22.1.1 一般的方法
22.1.2另一個替代方法:/dev/port
22.2 硬體中斷與DMA存取
22.3高精確的時間
22.3.1延遲時間
22.3.2時間的量測
22.4 使用共他程式語言
22.5 些有用的I/O 連線埠
22.5.1並行連線埠
22.5.2遊戲連線埠
22.5.3串列連線埠
第五篇 Linux系統安全分析
第23章 系統管理員安全
23.1安全管理
23.2超級用戶
23.3檔案系統安全
23.3.1 Linux檔案系統概述
23.3.2設備檔案
23.3.3/etc/mknod命令
23.3.4 安全考慮
23.3.5find命令
23.3.6secure程式
23.3.7ncheck命令
23.3.8安裝和拆卸檔案系統
23.3.9 系統目錄和檔案
23.4 作為root運行的程式
23.4.1啟動系統
23.4.2init進程
23.4.3進入多用戶
23.4.4 shutdown命令
23.4.5系統V的cron程式
23.4.6系統V版本2之後的cron程式
23.4.7/etc/profile
23.5/etc/passwd檔案
23.5.1口令時效
23.5.2UID和GID
23.6/etc/group檔案
23.7增加、刪除和移走用戶
23.7.1增加用戶
23.7.2刪除用戶
23.7.3將用戶移到另 個系統
23.8安全檢查
23.8.1記帳
23.8.2共他檢查命令
23.8.3安全檢查程式的問題
23.8.4 系統泄密後怎么辦
23.9 加限制的環境
23.9.1加限制的外殼
23.9.2 用chroot()限制用戶
23.10 小系統安全
23.11 物理安全
23.12 用戶意識
23.13 系統管理員意識
23.13.1保持系統管理員個人的
登錄安全
23.13.2 保持系統安全
第24章 系統程式設計師安全
24.1系統子程式
24.1.1I/O子程式
24.1.2 進程控制
24.1.3 檔案屬性
24.1.4 UID和GID的處理
24.2 標準C程式庫
24.2.1標準I/O
24.2.2 /etc/passwd的處理
24.2.3/etc/group的處理
24.2.4 加密子程式
24.2.5 運行外殼
24.3編寫安全的C程式
24.3.1 需要考慮的安全問題
24.3.2 SUID/SGID程式指導準則
24.3.3編譯、安裝SUID/SGID 程式
的方法
24.4root用戶程式的設計
第25章 Linux系統的網路安全
25.1UUCP系統概述
25.1.1UUCP命令
25.1.2 uux命令
25.1.3uucico程式
25.1.4 uuxqt程式
25.2UUCP的安全問題
25.2.1USERFILE檔案
25.2.2 L.cmds檔案
25.2.3uucp登錄
25.2.4 uucp使用的檔案和目錄
25.3HONEYDANBERUUCP
25.3.1HONEYDANBERUUCP
老UUCP的差別
25.3.2 登錄名規則
25.3.3MACHINE規則
25.3.4 組合MACHINE和LOGNAME
規則
25.3.5uucheck命令
25.3.6 網關
25.3.7 登錄檔案檢查
25.4其他網路
25.4.1遠程作業登錄
25.4.2 NSC網路系統
25.5通信安全
25.5.1物理安全
25.5.2 加密
25.5.3用戶身份鑑別
25.6 SUNOS 系統的網路安全
25.6.1確保NFS的安全
25.6.2 NFS安全性方面的缺陷
25.6.3遠程過程調用鑑別
25.6.4 Linux鑑別機制
25.6.5DES鑑別系統
25.6.6 公共關鍵字的編碼
25.6.7 網路實體的命名
25.6.8DES鑑別系統的套用
25.6.9 遺留的安全問題
25.6.10 性能
25.6.11 啟動和setuid程式引起的問題
25.6.12 小結
第26章 Linux系統的用戶安全性
26.1口令安全
26.2檔案許可權
26.3目錄許可
26.4 umask命令
26.5設定用戶ID和同組用戶ID許可
26.6cpmvIn和cpio命令
26.7su和newgrp命令
26.7.1su命令
26.7.2newgrp命令
26.8檔案加密
26.9 其他安全問題
26.9.1用戶的profile檔案
26.9.2 ls-a
26.9.3.exrc檔案
26.9.4 暫存檔案和目錄
26.9.5UUCP和其他網路
26.9.6 特洛伊木馬
26.9.7 誘騙
26.9.8計算機病毒
26.9.9 要離開自己已登錄的終端
26.9.10 智慧型終端
26.9.11 斷開與系統的連線
26.9.12 cu命令
26.10 保持帳戶安全的要點
第六篇 XWindow系統的內部結構和使用
第27章 XWindow系統的基本知識
27.1XWindow系統介紹
27.1.1X的特點
27.1.2 什麼是視窗系統
27.1.3X發展的歷史
27.1.4 X的產品
27.1.5 MIT發行的X
27.2 X的從本結構
27.2.1X的從本元素
27.2.2服務程式和客戶程式如何
互動通信
27.2.3X的網路概況
27.3 從川戶界面的角度概觀X
27.3.1管理界面:視窗管理器
27.3.2應用程式界面和工具箱
27.3.3兒他系統角度
27.4 術語和符號
27.4.1術語
27.4.2符號
27.5啟動和關閉X
27.5.1啟動X
27.5.2執行X程式的方式
27.5.3關閉X
27.6 視窗管理器從礎 uwm
27.6.1什麼是視窗管理器
27.6.2 啟動uwm
27.6.3從本視窗操作 uwm
的萊單
27.6.4 移動視窗
27.6.5 重定視窗大小
27.6.6 建立新視窗
27.6.7管理螢幕空間
27.6.8中止應用程式視窗
27.6.9 激活uwm選單的其他方式
27.7 使用X的網路設備
27.7.1指定遠程終端機―― display
選項
27.7.2實際使用遠程的顯示器
27.7.3控制存取顯示器 xhost
27.8終端機模擬器 詳細介紹xterm
27.8.1選擇xterm功能 選單與
命令行選項
27.8.2 滾動xterm螢幕
27.8.3記錄與終端機的互動過程 寫
記錄
27.8.4 剪貼文本
27.8.5使川Tektronix模擬功能
27.8.6 使用不同的字型
27.8.7 使川顏色
27.8.8其他xterm選項
27.8.9 設定終端機鍵盤
第28章 實用程式和工具
28.1實用程式
28.2保存、顯示和列印螢幕圖像
28.3使川X的應用程式
28.3.1文字編輯器 Xedit
28.3.2郵件信息處理系統 xmh
28.4示例和遊戲程式
28.4.1找出通過隨機迷宮的
路徑 maze
28.4.2擔任滑鼠指針的大眼睛
xeyes
28.4.3智慧盤遊戲――puzzle
28.4.4 列印一個人X標誌―― xlogo
28.4.5跳動的多面體 ico
28.4.6動態兒何圖案 munchcr與
plaid
28.7 顯示信息和狀態的程式
28.7.1列出X服務程式的特徵――
Xdpyinfo
28.7.2 獲取有關視窗的信息
28.7.3觀察X的事件――xev
第29章 定製XWindow系統
29.1使用X的字型和顏色
29.1.1字型初步
29.1.2字型命名
29.1.3觀察特定字型的內容 ――xfd
29.1.4 保存字型和位置
29.1.5 例子:在你的服務程式中
增加新字型
29.1.6使川X的顏色
29.2 定義和使用圖形
29.2.1系統圖形程式庫
29.2.2互動編輯圖形 ――bitmap
29.2.3編輯圖形的其他方法
29.2.4 定製根視窗――xsetroot
29.3定義應用程式的預設選項
Resources
29.3.1什麼是資源
29.3.2XToolkit
29.3.3管理資源 資源管理器
29.3.4資源的類型 如何指定值
29.4 實際使用資源
29.4.1在何處保存資源的預設值
29.4.2 在服務程式上保存預設值卜――
xrdb
29.4.3常見的錯誤和修正
29.5定製鍵盤和滑鼠
29.5.1實際使用轉換
29.5.2轉換 格式和規則
29.5.3轉換規範中常見的問題
29.6 鍵盤和滑鼠―― 對應和1參數
29.6.1鍵盤和滑鼠映射 ――xmodmap
29.6.2鍵盤和滑鼠參數設定――xset
29.7進一步介紹和定製uwm
29.7.1uwm的新特徵
29.7.2 定製uwm
29.8顯示器管理器 ――xdm
29.8.1需要做些什麼
29.8.2xdm
29.8.3xdm的更多信息
29.8.4uwm配置
附錄A GCC使用介紹
附錄B 安裝XWindow視窗系統