学习LINUX下C编程前提是要懂得LINUX.当然除了懂LINUX之外,还要了解一个程序是怎么样在操作系统之上进行运行的.这就需要了解LINUX向上提供了什么.所有这些就是我们通常意义上的SHELL,系统调用API等等,因此基于LINUX的开发程序需要了解这些系统CALL和SHELL.当然这些预定义的SHELL和CALL都非常多,怎么查看呢?两个地方,一个网站,一个手册.这个手册就类似于WINDOWSHELP一样,可以实时查看.使用命令man 【1】 man 是用来格式化显示在线手册的命令.大部分LINUX缺省的软件都带有MAN文档,GNU的工具安装后也会带有MAN文档,这些文档安装在/usr/share/man下 [root@windriver-machine shtest]# ls /usr/share/man/ bg da el eo fi fr.ISO8859-1 hr id it.ISO8859-1 ja man0p man1p man2 man3 man3x man4x man5x man6x man7x man8x man9x nl pl.ISO8859-2 pt ro ru.KOI8-R sk sv zh_CN cs de en es fr fr.UTF-8 hu it it.UTF-8 ko man1 man1x man2x man3p man4 man5 man6 man7 man8 man9 mann pl pl.UTF-8 pt_BR ru ru.UTF-8 sl tr zh_TW [root@windriver-machine shtest]# man是区分章节的,这个章节的内容就是查看的对象它可能是一个SHELL命令,也可能是一个系统函数,还有可能一些其它的东西.LINUX MAN将之分成8类,每个章节打成一个gz 包,分别存放在man1,man2…这些不同的目录下.缺省的类别如下: 1. General Commands 2. System Calls 3. Subroutines 4. Special Files 5. File Formats 6. Games 7. Macros and Conventions 8. Maintenence Commands 可以使用man 1 fork 或者man 2 kill之类方式查看.自己也可以制作相应的文档文件,打包压缩成section.gz放到指定的目录如/usr/share/man/man1下,也可以使用-M指定特定目录. [root@windriver-machine shtest]# ls /usr/share/man/man1/ |more :.1.gz [.1.gz 411toppm.1.gz a2p.1.gz a2ps.1.gz ab.1.gz ac.1.gz [root@windriver-machine shtest]# man -a fork [root@windriver-machine shtest]# man -aw fork /usr/share/man/man2/fork.2.gz /usr/share/man/man3p/fork.3p.gz [root@windriver-machine shtest]# man 3 fork No entry for fork in section 3 of the manual [root@windriver-machine shtest]# man 2 fork [root@windriver-machine shtest]# man -w fork /usr/share/man/man2/fork.2.gz [root@windriver-machine shtest]# LANG=zh [root@windriver-machine shtest]# man -w fork /usr/share/man/man2/fork.2.gz [root@windriver-machine shtest]# LANG=de [root@windriver-machine shtest]# man -w fork /usr/share/man/man2/fork.2.gz [root@windriver-machine shtest]# LANG=zh_CN [root@windriver-machine shtest]# man -w kill /usr/share/man/man1/kill.1.gz [root@windriver-machine shtest]# ls -latr /usr/share/man/zh_CN/man man1/ man8/ [root@windriver-machine shtest]# ls -latr /usr/share/man/zh_CN/man1/ dcraw.1.gz newgrp.1.gz [root@windriver-machine shtest]# ls -latr /usr/share/man/zh_CN/man1/ \ufffd\u073c\ufffd 32 -rw-r--r-- 1 root root 3304 2007-02-05 dcraw.1.gz -rw-r--r-- 1 root root 772 2007-04-10 newgrp.1.gz drwxr-xr-x 4 root root 4096 05-18 00:13 .. drwxr-xr-x 2 root root 4096 05-18 00:13 . [root@windriver-machine shtest]# man dcraw [root@ |