zhoulifa 发表于 2005-10-31 22:28:09

如何在Linux下自我学习获得各类需要的知识

如何在Linux下自我学习获得各类需要的知识

安装好了Unix/Linux类操作系统,却不知道拿它做点什么、也不知道它能做些什么……这是大多数初这朋友的疑惑。
我认为首先要做的是学会如何在Unix/Linux下获得知识,掌握学习方法。如何真有一天你要用Linux来做点什么时觉得孤立无助,你一定要学会用man命令。

man是什么?
首先在命令行输入man man回车看一下吧。把NAME和DESCRIPTION那两段英文看完了你就明白了。man是显示Unix/Linux的在线手册的命令。
典型情况下,man是用来查看一些命令、函数或文件的帮助手册的,另外它还可以显示一些gzip压缩格式的文件。

Unix/Linux的在线手册是什么?
一般情况下Linux下所有资源都会随操作系统一起发行,包括内核源代码。而在线手册是操作系统所有资源的一本很好的使用手册。你有不懂的命令时可以man一下这个命令,写程序时有不会用的函数时可以man一下该函数,甚至你不懂某个文件时都可以man一下这个文件(当然,这个文件一般来说是系统用到的一个配置文件或某个系统服务用到的配置文件)。

man手册资源的位置
一般情况下man的资源主要位于/usr/share/man目录下面。但如果你仔细看了man man的结果,并且对man.config也感兴趣并且man man.config过后,你就会明白其位置是由MANPATH变量决定的,你可以more /etc/man.config来看有哪些地方有man内容的位置。

单个man资源内容的组成
一般来说,man内容会分为NAME、SYNOPSIS、DESCRIPTION、OPTIONS、SEE ALSO、BUGS等部分。NAME是该内容的一个简单说明(一般是一句话给个定义似的);SYNOPSIS是大致说明,对于命令来说是命令的语法,对于函数来说是函数的定义;DESCRIPTION是该内容的一个简明介绍,让你对你查的内容大致有个印象;OPTIONS是在查询命令时的命令参数的详细解释;SEE ALSO是给你一些提示,相当于介绍你一些参考内容;BUGS是指明该命令或函数存在什么BUG,提醒你防止出现。

man资源的组成
有很多朋友说man资源分为8章,我觉得这只是说了主要部分,你ls /usr/share/man看一下就知道了,有man1、man2……man7、man8这样8个目录存在呢,但除了这之外还有其它的目录啊,何况还有其它的MANPATH规定的目录呢。所以具体多少章不是固定的,但Linux下大致相同内容的会归在同一个目录下,比如man1和man2目录所在的大致是一些系统命令,而man3是编程时的一些函数的用法,man5是些配置文件手册所在的目录……同样在/usr/X11R*/man目录下也有一些目录。具体是按什么来分目录的呢?各人具体根据各目录的内容理解不同了。

man资源的使用技巧
1、如果你在MANPATH变量所设定的目录(比如/usr/share/man/man1目录)里看到一个ln.1.gz的文件,那么你就可以man ln来查看fileame到底是个什么命令了。
2、man的一般用法是man SECTION name,即在指定的章节(SECTION)里查看name命令或函数的用法。但如果你不知道某个命令或函数在哪一章,你可以man -a name这样在所有MANPATH设定的地方查看name的手册。默认情况下man是显示完第一个手册页后就会退出,如果有-a参数就会搜索所有的资源了。
3、如果你觉得在Linux下看太困难或者你英文不太好想要借助“XX词霸”或“XX快译”来帮忙,那么你可以先把man手册存成文本文件然后ftp或samba共享到windows下打开来看吧。使用这么个命令就行了:
man man | col -bfp > man.txt
把man手册生成了一个man.txt文件了,借助翻译工具来看吧
4、编写自己的man资源,如果你自己写了一个非常好的函数或命令加到系统了,比如你写了一个MyDate命令来显示你需要的格式日期,那你也可以为你的MyDate命令来写个手册。很简单,你编辑(用vi或其它任何文本编辑工具都可以)一个MyDate文件,里面是你的命令使用方法说明,然后用gzip MyDate命令把这手册压缩一下生成一个MyDate.gz,然后把这个文件copy到某个MANPATH指定的目录,比如cp MyDate.gz /usr/share/man/man2,以后你就可以man MyDate来查看你的命令使用方法了。
5、安装好一个Linux操作系统后能做什么呢?你要学系统管理?就把/usr/share/man1和/usr/share/man2目录里的所有命令都man一下吧,都掌握了你绝对是系统管理专家了!想要学C编程?man一下gcc、g++、gdb等命令。或者你ls一下各个bin目录,比如/usr/bin、/bin、/sbin等,然后依次man一下你所看到的吧。

学习Linux最大的资源在你电脑上,如果你没安装,在你的光盘上一定有。想要学内核吗?赶快去看看/usr/src/linux*目录下面的所有东西吧。

月下刀客 发表于 2005-11-1 08:14:12

谢谢楼主 :-D

积木 发表于 2005-11-1 08:57:53

:neutral:
man 只是平实的记述,在遇到问题的时候,man 不一定有用,而且里面的记述也不是那么完整和精确,有很多我看来很费解的地方(当然这里面有我自身的水平问题)
要是linux有 msdn那么一个大的知识库就好了。wiki也许能达成这一点。。。

jeyo 发表于 2005-11-1 19:45:11

谢谢...我今天又学了一点东西了!

相信在不久的将来,,我可以使用LINUX来听歌了... :-D:oops::oops::oops:

redsbird 发表于 2005-11-2 11:46:55

使用LINUX迷茫中。。。

zou-9 发表于 2005-11-3 10:40:29

我现在只知道 浏览网页哦!~

betatoy 发表于 2005-11-7 11:29:01

嚴重學習 謝謝樓主
页: [1]
查看完整版本: 如何在Linux下自我学习获得各类需要的知识