?? index.html
字號(hào):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML><HEAD> <TITLE>第一講</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80"> <META NAME="GENERATOR" CONTENT="StarOffice/5.1 (Linux)"> <META NAME="COPYRIGHT" CONTENT="魏永明"> <META NAME="AUTHOR" CONTENT="魏永明"> <META NAME="CREATED" CONTENT="20000329;17342600"> <META > <STYLE> <!-- H1 { color: #ffff00; font-family: "timmons", serif } TD P { color: #ffff00 } P { color: #ffff00 } A:link { color: #00b8ff } A:visited { color: #ff3366 } --> </STYLE></HEAD><BODY TEXT="#ffff00" LINK="#00b8ff" VLINK="#ff3366" BACKGROUND="../images/velvet.jpg"><H1 ALIGN=CENTER>第一講 Linux 編程入門(mén)與基本編程工具的使用</H1><H2>主要內(nèi)容</H2><UL SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> <A HREF="whatis.html">什么是 Linux</A></P> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> <A HREF="history.html">Linux 的發(fā)展歷史以及關(guān)鍵人物</A></P> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> <A HREF="others.html">Linux 與其他操作系統(tǒng)</A></P> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> <A HREF="basic.html">Linux 的編程常識(shí)</A></P> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> <A HREF="scenario.html">Linux 上進(jìn)行程序開(kāi)發(fā)的典型場(chǎng)景</A></P> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> <A HREF="vi.html">萬(wàn)年編輯器: vi</A></P> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> <A HREF="prog_script.html">程序和腳本</A></P> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> <A HREF="compiler.html">Linux 上的 C 編譯器和調(diào)試器</A></P> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> <A HREF="make.html">GNU make 和 makefile</A></P> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> <A HREF="utilities.html">實(shí)用工具</A></P> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> <A HREF="bash.html">Bash 命令行與腳本</A></P></UL><H2>整體思路</H2><P>本講是系列講座的第一講。其目的主要是通過(guò)介紹 Linux 上編程的基本工具以及一些新手必須掌握的技巧,迅速引導(dǎo)新手入門(mén),以避免走彎路。<BR>首先對(duì) Linux 作一簡(jiǎn)單介紹,然后通過(guò)講解 Linux 上進(jìn)行編程的常識(shí)以及典型場(chǎng)景的演示,使大家對(duì) Linux 上的程序開(kāi)發(fā)有一個(gè)感性認(rèn)識(shí)。在此基礎(chǔ)上,重點(diǎn)講述 Linux 上 C 語(yǔ)言編程的基本工具,包括編譯器和調(diào)試器,主要是它們的重要選項(xiàng)和基本用法。接下來(lái)講述在項(xiàng)目組織和開(kāi)發(fā)過(guò)程中非常重要的工具,即 GNU make 和 makefile。最后,介紹程序開(kāi)發(fā)過(guò)程最為常用的工具,以及將這些工具有機(jī)組織起來(lái)的 Shell 機(jī)制,即命令行和腳本。</P><H2>各部分要點(diǎn)</H2><UL SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> 1.1 什么是 Linux</P> <UL> <LI>Linux 的發(fā)音</LI> <LI>Linux 的官方定義</LI> <LI>POSIX 及其重要地位</LI> <LI>GNU 和 Linux 的關(guān)系</LI> <LI>GPL 及其主要內(nèi)容</LI> <LI>Linux 的主要發(fā)行版</LI> </UL> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> 1.2 Linux 的發(fā)展歷史以及關(guān)鍵人物</P> <UL> <LI>UNIX, GNU, Linux 的關(guān)鍵人物及貢獻(xiàn)</LI> <LI>Linux 發(fā)展的重要里程碑</LI> </UL> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> 1.3 Linux 與其他操作系統(tǒng)</P> <UL> <LI>Linux 與主要 UNIX 系統(tǒng)之間的關(guān)系</LI> <LI>Linux 與 Windows 操作系統(tǒng)</LI> </UL> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> 1.4 Linux 的編程常識(shí)</P> <UL> <LI>標(biāo)準(zhǔn) (ANSI C, POSIX, SVID, XPG, ...)</LI> <LI>函數(shù)庫(kù)和系統(tǒng)調(diào)用</LI> <LI>在線(xiàn)文檔 (man, info, HOW-TO, ...)</LI> <LI>C 語(yǔ)言編程風(fēng)格</LI> <LI>庫(kù)和頭文件的保存位置</LI> <LI>共享庫(kù)及其相關(guān)配置</LI> </UL> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> 1.5 Linux 上進(jìn)行程序開(kāi)發(fā)的典型場(chǎng)景</P> <UL> <LI>控制臺(tái)上的開(kāi)發(fā)場(chǎng)景</LI> <LI>X Window 上的開(kāi)發(fā)場(chǎng)景</LI> </UL> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> 1.6 萬(wàn)年編輯器: vi</P> <UL> <LI>vi 的工作模式</LI> <LI>編輯模式</LI> <LI>插入模式</LI> <LI>命令模式</LI> <LI>shell 切換</LI> <LI>選項(xiàng)設(shè)置</LI> <LI>vim 和 gvim 的高級(jí)特色</LI> </UL> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> 1.7 程序和腳本</P> <UL> <LI>程序:編寫(xiě), 編譯, 調(diào)試和執(zhí)行</LI> <LI>腳本:編寫(xiě), 執(zhí)行</LI> </UL> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> 1.8 Linux 上的 C/C++ 編譯器和調(diào)試器</P> <UL> <LI>運(yùn)行 gcc/egcs</LI> <LI>gcc/egcs 的主要選項(xiàng)</LI> <LI>gdb</LI> <LI>gdb 的常用命令</LI> <LI>gdb 使用范例</LI> <LI>其他程序/庫(kù)工具 (ar, objdump, nm, size, strings, strip, ...)</LI> </UL> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> 1.9 GNU make 和 makefile</P> <UL> <LI>GNU make</LI> <LI>makefile 基本結(jié)構(gòu)</LI> <LI>makefile 變量</LI> <LI>GNU make 的主要預(yù)定義變量</LI> <LI>隱含規(guī)則</LI> <LI>makefile 范例</LI> <LI>運(yùn)行 make</LI> </UL> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> 1.10 實(shí)用工具</P> <UL> <LI>正則表達(dá)式</LI> <LI>壓縮和歸檔工具 (gzip, bzip2, tar, ...)</LI> <LI>搜索和排序 (grep, find, sort, ...)</LI> <LI>文件編輯 (sed, tr)</LI> <LI>文件比較 (cmp, comm, diff, ...)</LI> <LI>其他 (ed, emacs, ...)</LI> </UL> <P><IMG SRC="../images/poliball.gif" WIDTH=16 HEIGHT=16 ALIGN=ABSMIDDLE> 1.11 Bash 命令行與腳本</P> <UL> <LI>Bash 介紹</LI> <LI>重要的命令行機(jī)制 (I/O 重定向, 管道, ...)</LI> <LI>Bash 腳本介紹</LI> <LI>變量</LI> <LI>控制結(jié)構(gòu)</LI> <LI>范例</LI> </UL></UL><H2>練習(xí)</H2><OL> <LI>如果還沒(méi)有安裝 Linux 系統(tǒng)的話(huà),請(qǐng)安裝一種 Linux 發(fā)行版,并掌握 Linux 的基本使用。</LI> <LI>在下面這些練習(xí)中需要編輯文件時(shí),請(qǐng)使用 vi 編輯器。</LI> <LI>編寫(xiě)一個(gè) Bash 腳本,用來(lái)將當(dāng)前目錄樹(shù)中(遞歸)所有 DOS 格式的文本文件轉(zhuǎn)換為 UNIX 格式的文本文件,新文件名稱(chēng)添加后綴 .unix。</LI> <LI>試著將自己在 DOS 或 Windows 下編寫(xiě)過(guò)的程序移植到 Linux,編譯通過(guò)并測(cè)試正確性。</LI> <LI>從網(wǎng)上下載 CCE 或 MiniGUI 的源代碼,然后研究其 Makefile 的結(jié)構(gòu)。</LI> <LI>用 C 語(yǔ)言或自己喜歡的語(yǔ)言實(shí)現(xiàn)第 3 題。</LI></OL><H2>參考書(shū)目</H2><OL> <LI>Phil Cornes, <I>The Linux A - Z</I>, Prentice Hall Europe, 1997.<BR> (中譯本已由電子工業(yè)出版社出版, 童壽彬等譯)</LI> <LI>Naba Barkakati, <I>The Linux Secrets</I>, IDG Books Worldwide, Inc. 1999.<BR> (中譯本即將由電子工業(yè)出版社出版, 魏永明等譯)</LI> <LI>John Goerzen, <I>The Linux Programming Bible</I>, IDG Books Worldwide, Inc. 1999.<BR> (中譯本即將由電子工業(yè)出版社出版, 魏永明等譯)</LI></OL><H2>進(jìn)一步讀物</H2><UL> <LI>W. Richard Stevens, <I>Advanced Programming in the UNIX Environment</I>, Chpater 1 and Chapter 2.</LI></UL><H2>反饋</H2>本講由<A HREF="mailto:ymwei@263.net">魏永明</A>講解。歡迎任何意見(jiàn)和建議,可發(fā) email: <A HREF="mailto:ymwei@263.net">ymwei@263.net</A> 與魏永明聯(lián)系。<P><CENTER><A HREF="http://www.aka.citf.net">AKA 自由軟件系列講座</A></CENTER></P></BODY></HTML>
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -