本書介紹Linux環(huán)境下的編程方法,內容包括Linux系統(tǒng)命令、 Shell腳本、編程語言(gawk、Perl)、系統(tǒng)內核、安全體系、X Window等,內容豐富、論述全面,涵蓋了Linux系統(tǒng)的方方面面。本書附帶光盤包括了RedHat Linux系統(tǒng)的最新版本,及安裝方法,還包括本書的大量程序代碼,極大地方便了讀者,為使用和將要使用Linux系統(tǒng)的技術人員提供了較全面的參考。 目 錄前言第一篇 Linux系統(tǒng)介紹第1章 Linux簡介 …11.1 Linux 的起源 11.2 自由軟件基金會的GNU計劃 11.3 Linux 的發(fā)音 21.4 Linux 的特點 21.5 基本硬件要求 31.6 如何獲得Linux 31.6.1 從網上下載Linux 31.6.2 從光盤獲得Linux 31.7 涉及Linux 的Web 網址和新聞討論組 61.8 Linux 的不足之處 7第2章 外殼及常用命令 82.1 登錄和退出 82.2 Linux 系統(tǒng)的外殼 82.3 外殼的常用命令 92.3.1 更改帳號密碼 92.3.2 聯(lián)機幫助 92.3.3 遠程登錄 92.3.4 文件或目錄處理 92.3.5 改變工作目錄 102.3.6 復制文件 102.3.7 移動或更改文件、目錄名稱 102.3.8 建立新目錄 102.3.9 刪除目錄 112.3.10 刪除文件 112.3.11 列出當前所在的目錄位置 112.3.12 查看文件內容 112.3.13 分頁查看文件內容 112.3.14 查看目錄所占磁盤容量 112.3.15 文件傳輸 112.3.16 文件權限的設定 122.3.17 檢查自己所屬的工作組名稱 132.3.18 改變文件或目錄工作組所有權 132.3.19 改變文件或目錄的最后修改時間 132.3.20 文件的鏈接 132.3.21 文件中字符串的查尋 142.3.22 查尋文件或命令的路徑 142.3.23 比較文件或目錄的內容 142.3.24 文件打印輸出 142.3.25 一般文件的打印 142.3.26 troff 文件的打印 142.3.27 打印機控制命令 142.3.28 進程控制 152.3.29 外殼變量 162.3.30 環(huán)境變量 162.3.31 別名 162.3.32 歷史命令 172.3.33 文件的壓縮 172.3.34 管道命令的使用 172.3.35 輸入/輸出控制 182.3.36 查看系統(tǒng)中的用戶 182.3.37 改變用戶名 182.3.38 查看用戶名 182.3.39 查看當前系統(tǒng)上所有工作站 的用戶 192.3.40 與某工作站上的用戶交談 192.3.41 檢查遠程系統(tǒng)是否正常 192.3.42 電子郵件的使用簡介 19第3章 Linux系統(tǒng)的網絡功能 213.1 Linux支持的網絡協(xié)議 213.1.1 TCP/IP 213.1.2 TCP/IP 版本 6 213.1.3 IPX/SPX 213.1.4 AppleTalk 協(xié)議集 213.1.5 廣域網 223.1.6 ISDN 223.1.7 PPP、SLIP及PLIP 223.1.8 業(yè)余無線電 223.1.9 ATM 223.2 Linux系統(tǒng)下的文件共享和打印共享 223.2.1 Machintosh 環(huán)境 223.2.2 Windows 環(huán)境 223.2.3 Novell 環(huán)境 233.2.4 UNIX 環(huán)境 233.3 Linux系統(tǒng)中的Internet/Intranet功能 233.3.1 郵件 233.3.2 Web 服務器 243.3.3 Web 瀏覽器 243.3.4 FTP 服務器和客戶機 243.3.5 新聞服務 243.3.6 域名系統(tǒng) 243.3.7 DHCP和 bootp 243.3.8 NIS 243.4 Linux系統(tǒng)下應用程序的遠程執(zhí)行 243.4.1 Telnet 253.4.2 遠程命令 253.4.3 X Window 253.5 Linux系統(tǒng)的網絡互連功能 253.5.1 路由器 253.5.2 網橋 253.5.3 IP偽裝 253.5.4 IP統(tǒng)計 263.5.5 IP 別名 263.5.6 流量限制器 263.5.7 防火墻 263.5.8 端口下傳 263.5.9 負載平衡 263.5.10 EQL 273.5.11 代理服務器 273.5.12 按需撥號 273.5.13 管道、移動IP和虛擬個人網絡 273.6 Linux系統(tǒng)中的網絡管理 273.6.1 Linux系統(tǒng)下的網絡管理應用程序 273.6.2 SNMP 283.7 企業(yè)級Linux網絡 283.7.1 高可用性 283.7.2 RAID 283.7.3 冗余網絡 28第4章 Linux系統(tǒng)管理簡介 294.1 root 帳號 294.2 啟動和關閉系統(tǒng) 294.2.1 從軟盤啟動 294.2.2 使用LILO 啟動 294.2.3 關閉Linux系統(tǒng) 304.3 掛接文件系統(tǒng) 304.3.1 掛接軟盤 304.3.2 創(chuàng)建新的文件系統(tǒng) 304.3.3 卸載文件系統(tǒng) 314.4 檢查文件系統(tǒng) 314.5 使用文件作為交換區(qū) 314.6 系統(tǒng)和文件的備份 324.7 設置系統(tǒng) 334.7.1 設置系統(tǒng)名 334.7.2 使用維護磁盤 334.7.3 重新設置root 帳號口令 334.7.4 設置登錄信息 33第二篇 Linux高級語言及管理編程第5章 外殼編程 355.1 創(chuàng)建和運行外殼程序 355.1.1 創(chuàng)建外殼程序 355.1.2 運行外殼程序 355.2 使用外殼變量 365.2.1 給變量賦值 365.2.2 讀取變量的值 375.2.3 位置變量和其他系統(tǒng)變量 375.2.4 引號的作用 375.3 數(shù)值運算命令 385.4 條件表達式 405.4.1 if 表達式 405.4.2 case 表達式 415.5 循環(huán)語句 425.5.1 for 語句 435.5.2 while 語句 435.5.3 until 語句 445.6 shift 命令 445.7 select 語句 455.8 repeat 語句 465.9 子函數(shù) 46第6章 gawk語言編程 486.1 gawk的主要功能 486.2 如何執(zhí)行gawk程序 486.3 文件、記錄和字段 486.4 模式和動作 496.5 比較運算和數(shù)值運算 506.6 內部函數(shù) 506.6.1 隨機數(shù)和數(shù)學函數(shù) 516.6.2 字符串的內部函數(shù) 516.6.3 輸入輸出的內部函數(shù) 526.7 字符串和數(shù)字 526.8 格式化輸出 526.9 改變字段分隔符 546.10 元字符 546.11 調用gawk程序 556.12 BEGIN和END 556.13 變量 566.14 內置變量 566.15 控制結構 576.15.1 if 表達式 576.15.2 while 循環(huán) 576.15.3 for 循環(huán) 586.15.4 next 和 exit 586.16 數(shù)組 586.17 用戶自定義函數(shù) 586.18 幾個實例 59第7章 Perl語言編程 607.1 什么是Perl 607.2 Perl的現(xiàn)狀 607.3 初試Perl 607.4 Perl變量 607.4.1 標量 607.4.2 數(shù)組 637.4.3 相關數(shù)組 657.5 文件句柄和文件操作 657.6 循環(huán)結構 667.6.1 foreach循環(huán) 667.6.2 判斷運算 667.6.3 for循環(huán) 677.6.4 while 和 until循環(huán) 677.7 條件結構 677.8 字符匹配 687.9 替換和翻譯 697.9.1 替換 697.9.2 翻譯 707.10 子過程 707.10.1 子過程的定義 707.10.2 參數(shù) 707.10.3 返回值 707.11 Perl程序的完整例子 71第三篇 Linux系統(tǒng)內核分析第8章 Linux內核簡介 738.1 系統(tǒng)初始化 738.2 系統(tǒng)運行 738.3 內核提供的各種系統(tǒng)調用 748.3.1 進程的基本概念和系統(tǒng) 的基本數(shù)據(jù)結構 748.3.2 創(chuàng)建和撤消進程 748.3.3 執(zhí)行程序 748.4 存取文件系統(tǒng) 75第9章 系統(tǒng)進程 769.1 什么是進程 769.2 進程的結構 769.3 進程調度 789.4 進程使用的文件 799.5 進程使用的虛擬內存 809.6 創(chuàng)建進程 819.7 進程的時間和計時器 819.7.1 實時時鐘 819.7.2 虛擬時鐘 819.7.3 形象時鐘 819.8 程序的執(zhí)行 829.8.1 ELF文件 829.8.2 腳本文件 82第10章 內存管理 8310.1 內存管理的作用 8310.2 虛擬內存的抽象模型 8310.3 按需裝入頁面 8410.4 交換 8510.5 共享虛擬內存 8510.6 存取控制 8510.7 高速緩存 8610.7.1 緩沖區(qū)高速緩存 8610.7.2 頁面高速緩存 8610.7.3 交換高速緩存 8610.7.4 硬件高速緩存 8610.8 系統(tǒng)頁面表 8610.9 頁面的分配和釋放 8710.9.1 頁面的分配 8810.9.2 頁面的釋放 8810.10 內存映射 8810.11 請求調頁 8910.12 頁面高速緩存 8910.13 內核交換守護進程 90第11章 進程間通信 9111.1 信號機制 9111.2 管道機制 9211.3 System V IPC 機制 9311.3.1 信息隊列 9311.3.2 信號量 9411.3.3 共享內存 96第12章 PCI 9812.1 PCI 系統(tǒng) 9812.2 PCI地址空間 9812.3 PCI設置頭 9912.4 PCI I/O 和 PCI 內存地址 10012.5 PCI-ISA橋 10012.6 PCI-PCI 橋 10012.7 PCI初始化 10112.7.1 Linux系統(tǒng)內核有關PCI的 數(shù)據(jù)結構 10112.7.2 PCI 設備驅動程序 10212.7.3 PCI BIOS 函數(shù) 10512.7.4 PCI Fixup 105第13章 中斷和中斷處理 10613.1 中斷 10613.2 可編程中斷控制器 10613.3 初始化中斷處理的數(shù)據(jù)結構 10713.4 中斷處理 108第14章 設備驅動程序 10914.1 硬件設備的管理 10914.2 輪詢和中斷 11014.3 直接內存存取 11014.4 內存 11114.5 設備驅動程序和內核之間的接口 11114.5.1 字符設備 11214.5.2 塊設備 11314.6 硬盤 11314.6.1 IDE 硬盤 11514.6.2 初始化IDE 硬盤子系統(tǒng) 11514.6.3 SCSI 硬盤 11514.6.4 初始化 SCSI 磁盤子系統(tǒng) 11614.6.5 傳遞塊設備請求 11814.7 網絡設備 11814.7.1 網絡設備文件名 11814.7.2 總線信息 11814.7.3 網絡接口標記 11914.7.4 協(xié)議信息 11914.7.5 初始化網絡設備 119第15章 文件系統(tǒng) 12115.1 Linux文件系統(tǒng)概述 12115.2 ext2文件系統(tǒng) 12215.2.1 ext2的索引節(jié)點 12215.2.2 ext2超級塊 12415.2.3 ext2 數(shù)據(jù)塊組描述符 12415.2.4 ext2 中的目錄 12515.2.5 在ext2 文件系統(tǒng)中查找文件 12515.2.6 改變ext2 文件系統(tǒng)中文件 的大小 12615.3 VFS 12715.3.1 VFS 超級塊 12815.3.2 VFS 索引節(jié)點 12915.3.3 登記文件系統(tǒng) 12915.3.4 掛接文件系統(tǒng) 13015.3.5 在VFS中查找文件 13115.3.6 撤消文件系統(tǒng) 13115.3.7 VFS 索引節(jié)點緩存 13215.3.8 VFS目錄緩存 13215.4 緩沖區(qū)緩存 13315.5 /proc 文件系統(tǒng) 135第16章 網絡系統(tǒng) 13616.1 TCP/IP 網絡簡介 13616.2 TCP/IP網絡的分層 13716.3 BSD 套接口 13816.4 INET套接口層 14016.4.1 創(chuàng)建BSD 套接口 14116.4.2 給INET BSD 套接口指定地址 14116.4.3 在INET BSD套接口上創(chuàng)建連接 14216.4.4 監(jiān)聽INET BSD 套接口 14216.4.5 接收連接請求 14316.5 IP 層 14316.5.1 套接口緩沖區(qū) 14316.5.2 接收IP數(shù)據(jù)包 14416.5.3 發(fā)送IP數(shù)據(jù)包 14416.5.4 數(shù)據(jù)碎片 14416.6 地址解析協(xié)議 145第17章 系統(tǒng)內核機制 14717.1 Bottom Half處理 14717.2 任務隊列 14817.3 計時器 14917.4 等待隊列 14917.5 信號量 150第四篇 Linux系統(tǒng)高級編程第18章 Linux內核模塊編程 15118.1 一個簡單程序Hello World 15118.2 設備文件 15218.3 /proc文件系統(tǒng) 15618.4 使用/proc輸入 15818.5 與設備文件通信 16218.6 啟動參數(shù) 16918.7 系統(tǒng)調用 17018.8 阻塞進程 17218.9 替換printk 17718.10 調度任務 178第19章 有關進程通信的編程 18119.1 進程間通信簡介 18119.2 半雙工UNIX管道 18119.2.1 基本概念 18119.2.2 使用C語言創(chuàng)建管道 18219.2.3 創(chuàng)建管道的簡單方法 18519.2.4 使用管道的自動操作 18719.2.5 使用半雙工管道時的注意事項 18819.3 命名管道 18819.3.1 基本概念 18819.3.2 創(chuàng)建FIFO 18819.3.3 FIFO操作 18919.3.4 FIFO的阻塞 19019.3.5 SIGPIPE信號 19019.4 System V IPC 19019.4.1 基本概念 19019.4.2 消息隊列基本概念 19119.4.3 系統(tǒng)調用msgget() 19419.4.4 系統(tǒng)調用msgsnd() 19519.4.5 系統(tǒng)調用msgctl() 19719.4.6 一個msgtool的實例 19919.5 使用信號量編程 20119.5.1 基本概念 20119.5.2 系統(tǒng)調用semget() 20219.5.3 系統(tǒng)調用semop() 20319.5.4 系統(tǒng)調用semctl() 20419.5.5 使用信號量集的實例:semtool 20519.6 共享內存 20919.6.1 基本概念 20919.6.2 系統(tǒng)內部用戶數(shù)據(jù)結構 shmid_ds 20919.6.3 系統(tǒng)調用shmget() 21019.6.4 系統(tǒng)調用shmat() 21119.6.5 系統(tǒng)調用shmctl() 21119.6.6 系統(tǒng)調用shmdt() 21219.6.7 使用共享內存的實例:shmtool 212第20章 高級線程編程 21520.1 線程的概念和用途 21520.2 一個簡單的例子 21520.3 線程同步 21720.4 使用信號量協(xié)調程序 21820.5 信號量的實現(xiàn) 22020.5.1 Semaphore.h 22020.5.2 Semaphore.c 221第21章 Linux系統(tǒng)網絡編程 22521.1 什么是套接口 22521.2 兩種類型的Internet套接口 22521.3 網絡協(xié)議分層 22521.4 數(shù)據(jù)結構 22521.5 IP地址和如何使用IP地址 22621.5.1 socket() 22621.5.2 bind() 22621.5.3 connect() 22721.5.4 listen() 22821.5.5 accept() 22821.5.6 send() 和 recv() 22921.5.7 sendto() 和 recvfrom() 23021.5.8 close() 和 shutdown() 23021.5.9 getpeername() 23121.5.10 gethostname() 23121.6 DNS 23121.7 客戶機/服務器模式 23221.8 簡單的數(shù)據(jù)流服務器程序 23221.9 簡單的數(shù)據(jù)流客戶機程序 23421.10 數(shù)據(jù)報套接口 23521.11 阻塞 237第22章 Linux I/O端口編程 24022.1 如何在 C 語言下使用I/O端口 24022.1.1 一般的方法 24022.1.2 另一個替代方法: /dev/port 24122.2 硬件中斷 與 DMA 存取 24122.3 高精確的時間 24122.3.1 延遲時間 24122.3.2 時間的量測 24322.4 使用其他程序語言 24322.5 一些有用的 I/O 端口 24322.5.1 并行端口 24322.5.2 游戲端口 24422.5.3 串行端口 245第五篇 Linux系統(tǒng)安全分析第23章 系統(tǒng)管理員安全 24723.1 安全管理 24723.2 超級用戶 24723.3 文件系統(tǒng)安全 24723.3.1 Linux文件系統(tǒng)概述 24723.3.2 設備文件 24823.3.3 /etc/mknod命令 24923.3.4 安全考慮 24923.3.5 find命令 25023.3.6 secure程序 25023.3.7 ncheck命令 25023.3.8 安裝和拆卸文件系統(tǒng) 25023.3.9 系統(tǒng)目錄和文件 25123.4 作為root運行的程序 25123.4.1 啟動系統(tǒng) 25123.4.2 init進程 25123.4.3 進入多用戶 25223.4.4 shutdown命令 25223.4.5 系統(tǒng)V的cron程序 25223.4.6 系統(tǒng)V版本2之后的cron程序 25223.4.7 /etc/profile 25323.5 /etc/passwd文件 25323.5.1 口令時效 25323.5.2 UID和GID 25423.6 /etc/group文件 25423.7 增加、刪除和移走用戶 25423.7.1 增加用戶 25423.7.2 刪除用戶 25523.7.3 將用戶移到另一個系統(tǒng) 25523.8 安全檢查 25523.8.1 記帳 25523.8.2 其他檢查命令 25623.8.3 安全檢查程序的問題 25623.8.4 系統(tǒng)泄密后怎么辦 25723.9 加限制的環(huán)境 25823.9.1 加限制的外殼 25823.9.2 用chroot()限制用戶 25823.10 小系統(tǒng)安全 25923.11 物理安全 25923.12 用戶意識 26023.13 系統(tǒng)管理員意識 26123.13.1 保持系統(tǒng)管理員個人的 登錄安全 26123.13.2 保持系統(tǒng)安全 261第24章 系統(tǒng)程序員安全 26324.1 系統(tǒng)子程序 26324.1.1 I/O子程序 26324.1.2 進程控制 26324.1.3 文件屬性 26424.1.4 UID和GID的處理 26524.2 標準C程序庫 26524.2.1 標準I/O 26524.2.2 /etc/passwd的處理 26624.2.3 /etc/group的處理 26724.2.4 加密子程序 26824.2.5 運行外殼 26824.3 編寫安全的C程序 26824.3.1 需要考慮的安全問題 26824.3.2 SUID/SGID程序指導準則 26924.3.3 編譯、安裝SUID/SGID程序 的方法 26924.4 root用戶程序的設計 270第25章 Linux系統(tǒng)的網絡安全 27225.1 UUCP系統(tǒng)概述 27225.1.1 UUCP命令 27225.1.2 uux命令 27225.1.3 uucico程序 27325.1.4 uuxqt程序 27325.2 UUCP的安全問題 27325.2.1 USERFILE文件 27325.2.2 L.cmds文件 27425.2.3 uucp登錄 27425.2.4 uucp使用的文件和目錄 27425.3 HONEYDANBER UUCP 27525.3.1 HONEYDANBER UUCP與 老UUCP的差別 27525.3.2 登錄名規(guī)則 27625.3.3 MACHINE規(guī)則 27725.3.4 組合MACHINE和LOGNAME 規(guī)則 27825.3.5 uucheck命令 27825.3.6 網關 27825.3.7 登錄文件檢查 27925.4 其他網絡 27925.4.1 遠程作業(yè)登錄 27925.4.2 NSC網絡系統(tǒng) 28025.5 通信安全 28025.5.1 物理安全 28025.5.2 加密 28125.5.3 用戶身份鑒別 28225.6 SUN OS系統(tǒng)的網絡安全 28325.6.1 確保NFS的安全 28325.6.2 NFS安全性方面的缺陷 28425.6.3 遠程過程調用鑒別 28425.6.4 Linux鑒別機制 28425.6.5 DES鑒別系統(tǒng) 28525.6.6 公共關鍵字的編碼 28625.6.7 網絡實體的命名 28625.6.8 DES鑒別系統(tǒng)的應用 28725.6.9 遺留的安全問題 28725.6.10 性能 28825.6.11 啟動和setuid程序引起的問題 28825.6.12 小結 289第26章 Linux系統(tǒng)的用戶安全性 29026.1 口令安全 29026.2 文件許可權 29026.3 目錄許可 29126.4 umask命令 29126.5 設置用戶ID和同組用戶ID許可 29126.6 cp mv ln和cpio命令 29126.7 su和newgrp命令 29226.7.1 su命令 29226.7.2 newgrp命令 29226.8 文件加密 29226.9 其他安全問題 29326.9.1 用戶的.profile文件 29326.9.2 ls -a 29326.9.3 .exrc文件 29326.9.4 暫存文件和目錄 29326.9.5 UUCP和其他網絡 29326.9.6 特洛伊木馬 29426.9.7 誘騙 29426.9.8 計算機病毒 29426.9.9 要離開自己已登錄的終端 29426.9.10 智能終端 29426.9.11 斷開與系統(tǒng)的連接 29426.9.12 cu命令 29526.10 保持帳戶安全的要點 295第六篇 X window系統(tǒng)的內部結構和使用第27章 X Window系統(tǒng)的基本知識 29727.1 X Window系統(tǒng)介紹 29727.1.1 X的特點 29727.1.2 什么是窗口系統(tǒng) 29827.1.3 X發(fā)展的歷史 29927.1.4 X的產品 29927.1.5 MIT發(fā)行的X 29927.2 X的基本結構 30227.2.1 X 的基本元素 30327.2.2 服務程序和客戶程序如何 交互通信 30427.2.3 X 的網絡概況 30627.3 從用戶界面的角度概觀X 30727.3.1 管理界面:窗口管理器 30727.3.2 應用程序界面和工具箱 30927.3.3 其他系統(tǒng)角度 30927.4 術語和符號 31027.4.1 術語 31027.4.2 符號 31127.5 啟動和關閉X 31227.5.1 啟動X 31227.5.2 執(zhí)行X程序的方式 31327.5.3 關閉X 31427.6 窗口管理器基礎—uwm 31527.6.1 什么是窗口管理器 31527.6.2 啟動uwm 31527.6.3 基本窗口操作 —uwm 的菜單 31527.6.4 移動窗口 31627.6.5 重定窗口大小 31627.6.6 建立新窗口 31627.6.7 管理屏幕空間 31827.6.8 中止應用程序窗口 32027.6.9 激活uwm菜單的其他方式 32027.7 使用 x的網絡設備 32027.7.1 指定遠程終端機—display 選項 32127.7.2 實際使用遠程的顯示器 32227.7.3 控制存取顯示器—xhost 32227.8 終端機模擬器—詳細介紹xterm 32327.8.1 選擇xterm功能—菜單與 命令行選項 32327.8.2 滾動xterm屏幕 32427.8.3 記錄與終端機的交互過程—寫 記錄 32527.8.4 剪貼文本 32527.8.5 使用Tektronix模擬功能 32627.8.6 使用不同的字體 32727.8.7 使用顏色 32727.8.8 其他xterm選項 32727.8.9 設定終端機鍵盤 328第28章 實用程序和工具 32928.1 實用程序 32928.2 保存、顯示和打印屏幕圖像 33028.3 使用X的應用程序 33228.3.1 文字編輯器—Xedit 33328.3.2 郵件/信息處理系統(tǒng)—xmh 33628.4 示例和游戲程序 33628.4.1 找出通過隨機迷宮的 路徑—maze 33628.4.2 擔任鼠標指針的大眼睛— xeyes 33628.4.3 智慧盤游戲—puzzle 33728.4.4 打印一個大X標志—xlogo 33728.4.5 跳動的多面體—ico 33728.4.6 動態(tài)幾何圖案—muncher與 plaid 33728.7 顯示信息和狀態(tài)的程序 33728.7.1 列出X服務程序的特征— xdpyinfo 33828.7.2 獲取有關窗口的信息 33828.7.3 觀察X的事件—xev 340第29章 定制X Window系統(tǒng) 34129.1 使用X的字體和顏色 34129.1.1 字體初步 34129.1.2 字體命名 34229.1.3 觀察特定字體的內容—xfd 34329.1.4 保存字體和位置 34329.1.5 例子:在你的服務程序中 增加新字體 34529.1.6 使用X的顏色 34629.2 定義和使用圖形 34729.2.1 系統(tǒng)圖形程序庫 34729.2.2 交互編輯圖形—bitmap 34729.2.3 編輯圖形的其他方法 34929.2.4 定制根窗口—xsetroot 34929.3 定義應用程序的缺省選項— Resources 35029.3.1 什么是資源 35029.3.2 XToolkit 35129.3.3 管理資源—資源管理器 35329.3.4 資源的類型—如何指定值 35829.4 實際使用資源 35929.4.1 在何處保存資源的缺省值 35929.4.2 在服務程序上保存缺省值— xrdb 36329.4.3 常見的錯誤和修正 36629.5 定制鍵盤和鼠標 36729.5.1 實際使用轉換 36829.5.2 轉換—格式和規(guī)則 37429.5.3 轉換規(guī)范中常見的問題 37729.6 鍵盤和鼠標—對應和參數(shù) 37929.6.1 鍵盤和鼠標映射—xmodmap 37929.6.2 鍵盤和鼠標參數(shù)設定—xset 38229.7 進一步介紹和定制uwm 38429.7.1 uwm的新特征 38429.7.2 定制uwm 38629.8 顯示器管理器—xdm 39029.8.1 需要做些什么 39029.8.2 xdm 39129.8.3 xdm的更多信息 39229.8.4 uwm配置 395附錄A Gcc使用介紹 396附錄B 安裝X Window窗口系統(tǒng) 410
標簽: LINUX 系統(tǒng)分析 高級編程
上傳時間: 2013-11-10
上傳用戶:changeboy
當你認為你已經掌握了PCB 走線的特征阻抗Z0,緊接著一份數(shù)據(jù)手冊告訴你去設計一個特定的差分阻抗。令事情變得更困難的是,它說:“……因為兩根走線之間的耦合可以降低有效阻抗,使用50Ω的設計規(guī)則來得到一個大約80Ω的差分阻抗!”這的確讓人感到困惑!這篇文章向你展示什么是差分阻抗。除此之外,還討論了為什么是這樣,并且向你展示如何正確地計算它。 單線:圖1(a)演示了一個典型的單根走線。其特征阻抗是Z0,其上流經的電流為i。沿線任意一點的電壓為V=Z0*i( 根據(jù)歐姆定律)。一般情況,線對:圖1(b)演示了一對走線。線1 具有特征阻抗Z11,與上文中Z0 一致,電流i1。線2具有類似的定義。當我們將線2 向線1 靠近時,線2 上的電流開始以比例常數(shù)k 耦合到線1 上。類似地,線1 的電流i1 開始以同樣的比例常數(shù)耦合到線2 上。每根走線上任意一點的電壓,還是根據(jù)歐姆定律,
標簽: 差分阻抗
上傳時間: 2013-11-10
上傳用戶:KSLYZ
—圖數(shù)據(jù)類型的實現(xiàn)——問題描述:圖是一種較線性表和樹更為復雜的數(shù)據(jù)結構。在圖形結構中,結點之間的關系是任意的,任意兩個數(shù)據(jù)元素之間都可能相關,因此,圖的應用非常廣泛,已滲入到諸如語言學‘邏輯學、物理、化學、電訊工程、計算機科學及數(shù)學的其它分支中。因此,實現(xiàn)圖這種數(shù)據(jù)類型也尤為重要,在該練習中即要實現(xiàn)圖的抽象數(shù)據(jù)類型。基本要求:2、 定義出圖的ADT;3、 采用鄰接矩陣及鄰接表的存儲結構(有向圖也可使用十字鏈表)實現(xiàn)以下操作:a. 構造圖 b. 銷毀圖 c. 定位操作d. 訪問圖中某個頂點的操作e. 給圖中某個頂點賦值的操作f. 找圖中某個頂點的第一個鄰接點g. 找出圖G中頂點v相對于w的下一個鄰接點h. 在圖G中添加新頂點vi. 刪除圖G中頂點vj. 在圖G中插入一條邊k. 在圖G中刪除一條邊l. 實現(xiàn)圖的深度遍歷操作m. 實現(xiàn)圖的廣度遍歷操作參考提示:具體內容參看教科書本156頁實驗要求:對于以上具體操作要求實現(xiàn)時有良好的用戶交互界面。詳細設計、編碼、測試。
標簽: 數(shù)據(jù)類型 圖形 線性 樹
上傳時間: 2015-03-13
上傳用戶:saharawalker
最新的支持向量機工具箱,有了它會很方便 1. Find time to write a proper list of things to do! 2. Documentation. 3. Support Vector Regression. 4. Automated model selection. REFERENCES ========== [1] V.N. Vapnik, "The Nature of Statistical Learning Theory", Springer-Verlag, New York, ISBN 0-387-94559-8, 1995. [2] J. C. Platt, "Fast training of support vector machines using sequential minimal optimization", in Advances in Kernel Methods - Support Vector Learning, (Eds) B. Scholkopf, C. Burges, and A. J. Smola, MIT Press, Cambridge, Massachusetts, chapter 12, pp 185-208, 1999. [3] T. Joachims, "Estimating the Generalization Performance of a SVM Efficiently", LS-8 Report 25, Universitat Dortmund, Fachbereich Informatik, 1999.
上傳時間: 2013-12-16
上傳用戶:亞亞娟娟123
算法ebook(10部算法經典著作的合集) 算法ebook> 10部算法經典著作的合集 chm格式 (1)Fundamentals of Data Structures by Ellis Horowitz and Sartaj Sahni (2)Data Structures, Algorithms and Program Style Using C by James F. Korsh and Leonard J. Garrett (3)Data Structures and Algorithm Analysis in C by Mark Allen Weiss (4)Data Structures: From Arrays to Priority Queues by Wayne Amsbury (5)Information Retrieval: Data Structures & Algorithms edited by William B. Frakes and Ricardo Baeza-Yates (6)Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest (7)Practical Data Structures in C++ by Bryan Flamig (8)Reliable Data Structures in C by Thomas Plum (9)Data Structures and Algorithms Alfred V. Aho, Bell Laboratories, Murray Hill, New Jersey John E. Hopcroft, Cornell University, Ithaca, New York Jeffrey D. Ullman, Stanford University, Stanford, California (10)DDJ Algorithms and Data Structures Articles
標簽: ebook Fundamentals Structures Ellis
上傳時間: 2015-04-04
上傳用戶:tfyt
加密算法 Test Driver for Crypto++, a C++ Class Library of Cryptographic Primitives: - To generate an RSA key cryptest g - To encrypt and decrypt a string using RSA cryptest r - To calculate MD5, SHS, and RIPEMD-160 message digests: cryptest m file - To encrypt and decrypt a string using DES-EDE in CBC mode: cryptest t - To encrypt or decrypt a file cryptest e|d input output - To share a file into shadows: cryptest s <pieces> <pieces-needed> file (make sure file has no extension, if you re running this under DOS) - To reconstruct a file from shadows: cryptest j output file1 file2 [....] - To gzip a file: cryptest z <compression-level> input output - To gunzip a file: cryptest u input output - To run validation tests: cryptest v - To run benchmarks: cryptest b [time for each benchmark in seconds]
標簽: Cryptographic Primitives generate Library
上傳時間: 2015-07-16
上傳用戶:wqxstar
1) 復制libminigui-str-1.6.2.tar.gz至任意用戶目錄。 2) 解壓此文件 tar zxvf libminigui-str-1.6.2.tar.gz 4) 將zlg7289.c zlg7289.h二文件拷貝入增值版的相應目錄中 libminigui-1.6.2-linux/src/ial/ 5) 修改相關宏定義使上述二文件加入庫編譯。 a. 修改libminigui-1.6.2-linux/src/ial/Makefile.am 在29行增加 ZLG7289_SRCS = zlg7289.c zlg7289.h 在37行增加 $(ZLG7289_SRCS) b. 修改libminigui-1.6.2-linux/src/ial/ial.c 在166行加入 #include "zlg7289.h" 在282行的數(shù)組內加入 {"zlg7289", InitZLG7289Input, TermZLG7289Input}, c. 進入項目主目錄, 重新配置編譯依賴 cd libminigui-1.6.2-linux 去掉后aclocal和automake后的版本號后,運行此腳本,忽略警告項。 d. 同上配置方法配置MiniGUI 6) 修改運行時配置文件MiniGUI.cfg中的IAL ial_engine=zlg7289
標簽: libminigui-str tar gz zxvf
上傳時間: 2013-12-18
上傳用戶:獨孤求源
palm編成,這種書很少,有興趣看看 Title: Palm Programming: The Developer s Guide URL: http://safari.oreilly.com/JVXSL.asp?x=1&mode=section&sortKey=rank&sortOrder=desc&view=book&xmlid=1-56592-525-4&open=false&srchText=palm+programming&code=&h=&m=&l=1&catid=&s=1&b=1&f=1&t=1&c=1&u=1&page=0 ISBN: 1-56592-525-4 Author: Julie McKeehan/ Neil Rhodes Publisher: O Reilly Page: 478 Edition: 1st edition (December 1998) Catalog: PDA programming / Palm Format: pdf Size: 2.06M Supplier: Summary: Emerging as the bestselling hand-held computers of all time, PalmPilots have spawned intense developer activity and a fanatical following. Used by Palm in their developer training, this tutorial-style book shows intermediate to experienced C programmers how to build a Palm application from the ground up. Includes a CD-ROM with source code and third-party developer tools
標簽: Programming Developer oreilly safari
上傳時間: 2013-12-10
上傳用戶:litianchu
SCSI-2也稱為Fast-SCSI,傳輸速率為10MB/s。 后采用擴展總線寬度來增加數(shù)據(jù)流量的方式,提高整 體傳輸速率,于是SCSI-2規(guī)定了16位、32位數(shù)據(jù)總 線,使傳輸速率進一步提高為20MB/S,也就是Wide -SCSI,或是稱作Fast SCSI-2。 Wide-SCSI采用4 位定址,使可連接的設備達到了15個。在接口電纜上, 為兼容SCSI-l所使用的A電纜,SCSI-2標準在A 電纜的基礎上增加一條68pin的扁平電纜,稱為B電 纜。目前還有不少SCSI的CD-ROM、CD-R、CD- RW還是使用SCSI-2界面。
上傳時間: 2014-12-03
上傳用戶:change0329
代入法的啟發(fā)示搜索 我的代碼實現(xiàn)是:按照自然語言各字母出現(xiàn)頻率的大小從高到低(已經有人作國統(tǒng)計分析了)先生成一張字母出現(xiàn)頻率統(tǒng)計表(A)--------(e),(t,a,o,i,n,s,h,r),(d,l),(c,u,m,w,f,g,y,p,b),(v,k,j,x,q,z) ,再對密文字母計算頻率,并按頻率從高到低生成一張輸入密文字母的統(tǒng)計表(B),通過兩張表的對應關系,不斷用A中的字母去替換B中的字母,搜索不成功時就回退,在這里回朔是一個關鍵。
上傳時間: 2015-10-24
上傳用戶:wanqunsheng