ChinaUnix网友:cnjnhu
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windows的经验往往有一些茫然的
感觉:不知从何处开始学起。作为一个 Linux系统管理员,我看了许多有关Linux的文档和书籍,并
为学习Linux付出了许多艰苦的努力。当真正获得了一份正式的Linux系统管理工作后,我更加深刻
地理解了Linux的灵魂:服务与多用户。Linux系统知识是非常广博的,但是只要掌握了重点知识,
管理它并没有想象中的那么可怕。下面我会将作为系统管理员的一些工作心得和总结出来的经验系
统地介绍给大家。
一、 学习的目的
通过Linux的学习掌握UNIX的目的想必不用多说了,在这个网络人才身价倍增的年代,想靠技
术吃饭又不想掌握网络和编程技术是不明智的。当一个人第一次听说Linux并跃跃欲试的时候,总会
提出几个?,它是什么(What)?为什么要用它(Why)?怎样学习它(How)?做为开放源码运动的主
要组成部分,Linux的应用越来越广泛,从我们平时的娱乐、学习,到商业、政府办公,再到大规模
计算的应用。为了满足人们的需求,各种各样的、基于Linux的应用软件层出不穷。只要具备了
Linux的基本功,并具有了自学的能力之后,都可以通过长期的学习将专项内容予以掌握。
二、 从命令开始从基础开始
常常有些朋友一接触Linux 就是希望构架网站,根本没有想到要先了解一下Linux 的基础,这是
相当困难的。虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一
个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平这个原理是不会变的。
Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文
件的制作。这里笔者把它们当中比较重要的和使用频率最多的命令,按照它们在系统中的作用分成
几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解 Linux系统:
安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh
文件处理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln
系统管理相关命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、
crontab、 tar、 unzip、 gunzip 、last
网络操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、
mail 、nslookup
系统安全相关命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、
pswho
三、 选择一本好的Linux书籍
无论在论坛还是读者反馈中,我们看到最多的问题往往是某个新手,在安装或使用linux的过程
中遇到一个具体的问题就开始提问,很多都是重复性的问题,甚至有不少人连基本的问题描述都不
是很清楚。这说明很多初学linux的人还没有掌握基本功。怎样才能快速提高掌握linux的基本功呢?
最有效的方法莫过于学习权威的linux工具书,工具书对于学习者而言是相当重要的。一本错误观念
的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多,笔者强烈建
议阅读影印本的“o'reilly原版linux图书”,而且出版社还提供了一个非常好的路线图。
四 、养成在命令行下工作
一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程
序。在命令行下学习虽然一开始进度较慢,但是熟悉后,您未来的学习之路将是以指数增加的方式
增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。即使是通过一
条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。
五、用Unix思维思考Linux
由于Linux是参照Unix的思想来设计的,理解和掌握它就必须以Unix的思维来进行,而不能以
Windows思维。不可否认,windows 在市场上的成功很大一部分在于技术思想的独到之处。可是
这个创新是在面对个人用户的前提下进行的,而面对着企业级的服务应用,它还是有些力不从心。
多年来在计算机操作系统领域一直是二者独大:unix在服务器领域,Windows在个人用户领域。由
此可见,用户需求决定了所采用的操作系统。不管什么原因, 如果要学习Linux,那么首先要将思
维从Windows的“这个小河” 中拖出来,放入Unix的海洋。
六 、学习shell
对于Shell(中文名称壳),习惯Windows的读者肯定是非常陌生的,因为Windows只有一个
“Shell”(如果可以说是Shell的话), 那就是Windows自己。用一句话容易理解的解释就是,shell
是用户输入命令与系统解释命令之间的中介。最直观的说法,一种Shell有一套自己的命令。举一个
容易理解的例子,Linux的标准Shell是Bash Shel;Solaris的shell是B shell;Linux的Shell是以命
令行的方式表现出来的。读者可能会不理解,Windows从命令行“进化”到了图形界面,那么
Linux现在还使用命令行岂不是一种倒退?
当初我刚刚接触Linux时就曾有过这种想法。可是后来发现,如果使用图形界面,那么分配给应
用软件的资源就少了,在价格昂贵的服务器上,能够以较低的硬件配置实现同样的功能是非常重要
的。
下面举例说明,一台服务器有1GB内存,假设其中512MB用于处理图形界面,若要安装一个
需要784MB内存的数据库软件,惟一的办法就是扩大内存。但是如果使用命令行,系统可能只需要
64MB内存,其它的内存就可以供数据库软件使用了。使用命令行,不仅是内存,而且CPU及硬盘
等资源的占用都要节省很多。所以,作为服务器使用命令行是优点而不是缺点。既然Shell有这么多
优点,就必须要学习它。
七、勤于实践
要增加自己Linux 的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个
Linux 发行版本,然后进入精彩的Linux世界。相信对于你自己的 Linux 能力必然大有斩获。此外,
人脑不像计算机的硬盘一样,除非硬盘坏掉了或者是资料被你抹掉了,否则储存的资料将永远而且
立刻的记忆在硬盘中。在人类记忆的曲线中,你必须要不断的重复练习才会将一件事情记得比较熟。
同样的,学习 Linux 也一样,如果你无法经常学习的话,学了后面的,前面的忘了。你对Linux
命令熟悉后你可以开始搭建一个小的Linux网络,这是最好的实践方法。 Linux是网络的代名词,
Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。当然
你不需搭建所有服务,可以 慢慢来。需要说明的是这个Linux网络对于初学者有两三台计算机即可。
自己多动手,不要非要等着别人帮你解决问题。
八、学会使用文档
和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往
往不够的。其实当你安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还
没有发现使用它们的技巧。主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安
装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。查阅经典工
具书和Howto,特别是Howto是全球数以万计的 Linux、Unix用户的经验总结,非常有参考价值,
通常40%的问题可以通过这种途径得以解决。安装一个新的软件时先看README,再看INSTALL然
后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果说明文档不看,结果出了问题再去
论坛来找答案反而浪费时间。
当查找文档时, 一定要看文档是在何种版本、何种环境及何种状态下出现的何种结果。对于文
档的有效性, 一时还无法在操作前就知道结论如何,那么对某个专题或问题,阅读相关的多篇文章
将会节省大量的时间,还可以保证尽量“干净”的环境,有效避免因为不同操作所造成的更多问题。
操作时要仔细核对各个步骤及输出的结果,尽量保持与文档一致。
九、在Linux论坛获取帮助
如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。需要说明的是你要有周全的
思考,准备好你的问题,不要草率的发问,否则只会得到到草率的回答或者根本得不到任何答案。
越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。最好先搜寻一下论坛是
否有您需要的文章,这样可以获得事半功倍的效果。
你需要提供精确有效的信息。这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录
到你的提问中。如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情
况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。另外把这个问题放在其他
Linux社区请求帮助也是一种选择。 如果得不到答案,请不要以为我们觉得无法帮助你。有时只是
看到你问题的人不知道答案罢了,这时换一个社区是不错的选择。
十、学习专业英文
如果你想深入学习Linux,看不懂英文文档实在是太难了。写的最好的,最全面的文档都是英语
写的,最先发布的技术信息也都是用英语写的。即便是非英语国家的人发布技术文档,也都首先翻译
成英语在国际学术杂志和网络上发表。
通过man、info等命令,可以从在线帮助中快速地获得所需要的命令和操作方法。不要害怕海
量的系统帮助,仔细阅读几个man或info文档就会发现, 这些帮助几乎都按照固定格式写成一命
令名称、参数、参数说明、使用例子、参考等。当英语成为一种习惯,就会自觉地查找或订阅互联
网上感兴趣的英文材料。这 样,在不知不觉中就已经和世界同步。
十一、在社区共享你的经验
随着Linux应用的扩展,出现了不少Linux社区。其中有一些非常优秀的社区:chinaunix 、水
木清华 ,随着知识的不断积累,就可以把自己动手解决一些前人没有遇到的问题写出文档在网络上
共享给其他读者。这个时候,也就成为 了一名“高手”。Linux的使用者一般都是专业人士,他们
有着很好的电脑背景且愿意协助他人,Linux高手更具有鼓励新手的文化精神。
最后是一个笔者的Linux学习的路线图(roadmap):
1、了解Linux 的基础知识,这些包含了用户管理、群组的概念、权限的观念等;
2、掌握至少50个以上的常用命令;
3、掌握.tgz、.rpm等软件包的常用安装方法;
4、学习添加外设,安装设备驱动程序(比如网卡);
5、熟悉Linux文件系统 和目录结构;
6、掌握vi、gcc、gdb等常用编辑器,编译器,调试器。
7、理解shell别名、管道、I/O重定向、输入和输出以及shell脚本编程。
8、网络的基础包括:掌握路由概念、OSI七层网络模型、TCP/IP模型及相关服务对应的层次对于
Linux学习非常重要。最后学习Linux环境下的组网。
阅读(893) | 评论(0) | 转发(0) |