Chinaunix

标题: Linux系统管理员成长经验:十一大工作心得 [打印本页]

作者: cnjnhu    时间: 2008-07-26 19:08
标题: Linux系统管理员成长经验:十一大工作心得
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。作为一个 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的标准Shel是Bash Shel;Solaris的shell是B shell;Linux的Shell是以命令行的方式表现出来的。读者可能会不理解,Windows从命令行“进化”到了图形界面,那么Linux现在还使用命令行岂不是一种倒退?

当初我刚刚接触Linux时就曾有过这种想法。可是后来发现,如果使用图形界面,那么分配给应用软件的资源就少了,在价格昂贵的服务器上,能够以较低的硬件配置实现同样的功能是非常重要的。

下面举例说明,一台服务器有1GB内存,假设其中512MB用于处理图形界面,若要安装一个需要784MB内存的数据库软件,惟一的办法就是扩大内存。但是如果使用命令行,系统可能只需要64MB内存,其它的内存就可以供数据库软件使用了。使用命令行,不仅是内存,而且CPU及硬盘等资源的占用都要节省很多。所以,作为服务器使用命令行是优点而不是缺点。既然Shell有这么多优点,就必须要学习它。

[ 本帖最后由 cnjnhu 于 2008-7-26 19:11 编辑 ]

0924080.jpg (39.23 KB, 下载次数: 850)

0924080.jpg

作者: cnjnhu    时间: 2008-07-26 19:10
七、勤于实践

要增加自己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社区。其中有一些非常优秀的社区:水木清华、其中有一些非常优秀的社区:www.linuxforum.net(国内最高水平GNU站点)、http://www.chinaunix.net/ (中国最大的Unix技术社区),随着知识的不断积累,就可以把自己动手解决一些前人没有遇到的问题写出文档在网络上共享给其他读者。这个时候,也就成为了一名“高手”。Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人,Linux高手更具有鼓励新手的文化精神。

最后是一个笔者的Linux学习的路线图(roadmap):

●了解Linux 的基础知识,这些包含了用户管理、群组的概念、权限的观念等;
●掌握至少50个以上的常用命令;
●掌握.tgz、.rpm等软件包的常用安装方法
●学习添加外设,安装设备驱动程序(比如网卡)
●熟悉Linux文件系统 和目录结构。
●掌握vi,gcc,gdb等常用编辑器,编译器,调试器 。
●理解shell别名、管道、I/O重定向、输入和输出以及shell脚本编程。
●网络的基础包括: 掌握路由概念、OSI七层网络模型、TCP/IP模型及相关服务对应的层次对于Linux学习非常重要的。然后学习Linux环境下的组网。
作者: sdccf    时间: 2008-07-26 19:11
很不错!
作者: stone2008    时间: 2008-07-26 19:52
顶,写得可以
作者: 阳光雪人    时间: 2008-07-26 20:53
不错不错,值得嘉奖啊!
作者: cnjnhu    时间: 2008-07-26 21:32
这篇是转载的,希望新人都能看看
作者: streetboy85    时间: 2008-07-26 21:45
好文章!
作者: 飞哥2005    时间: 2008-07-27 12:45
顶你一个 。。。。。。。。。。
作者: honckly    时间: 2008-07-27 12:50
好文章啊……
作者: diyself    时间: 2008-07-27 19:19
很不错的说!
作者: ylcqen    时间: 2008-07-27 19:30
嗯,不错!是原创吗?
作者: lqseu    时间: 2008-07-27 22:55
好文章
有了方向,努力是最重要的
作者: moodfree    时间: 2008-07-27 23:04
很好很强大.........................................
作者: 0_o'    时间: 2008-07-27 23:09
帮忙顶一个……
作者: ahuai12    时间: 2008-07-27 23:35
非常不错啊!!顶一个
作者: lj870128    时间: 2008-07-28 01:18
不顶你的话,我想我会过意不去,实在是写得太好了!
作者: ua    时间: 2008-07-28 08:49
言简意赅,佩服佩服
作者: bolix    时间: 2008-07-28 08:52
不错```
谢谢````
作者: fish2010    时间: 2008-07-28 10:02
不错,顶一个,支持一下,
作者: chenyq83    时间: 2008-07-28 10:57
谢谢楼主分享!
作者: polokus    时间: 2008-07-28 11:04
挺不错的,收藏了先,呵呵
作者: honckly    时间: 2008-07-28 12:39
就好像索引一样,有顺序的进行,挺不错的
作者: arccos2002    时间: 2008-07-28 13:33
不错
俺就是这么学的
作者: redblood    时间: 2008-07-28 13:35
写的不错的文章,赞一个!
作者: 恋夏寒    时间: 2008-07-28 15:39
原帖由 cnjnhu 于 2008-7-26 21:32 发表
这篇是转载的,希望新人都能看看



此文不仅仅适合新人。就算老SA从业者也应该谨记。
作者: javasuncom    时间: 2008-07-28 21:50
原帖由 cnjnhu 于 2008-7-26 21:32 发表
这篇是转载的,希望新人都能看看

我说怎么眼熟,在别的地方看过
作者: paulbowu    时间: 2008-07-29 03:06
不错,总结得很好,收藏了。
作者: 赞美师    时间: 2008-07-29 09:35
多看多学习.谢谢
作者: zljmy    时间: 2008-07-29 10:22
七、勤于实践

要增加自己Linux 的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个 Linux 发行版本,然后进入精彩的Linux世界。相信对于你自己的 Linux 能力必然大有斩获。此外,人脑不像计算机的硬盘一样,除非硬盘坏掉了或者是资料被你抹掉了,否则储存的资料将永远而且立刻的记忆在硬盘中。在人类记忆的曲线中,你必须要不断的重复练习才会将一件事情记得比较熟。

同样的,学习 Linux 也一样,如果你无法经常学习的话,学了后面的,前面的忘了。你对Linux命令熟悉后你可以开始搭建一个小的Linux网络,这是最好的实践方法。 Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。当然你不需搭建所有服务,可以慢慢来。需要说明的是这个Linux网络对于初学者有两三台计算机即可。自己多动手,不要非要等着别人帮你解决问题。
作者: lbt5210    时间: 2008-07-29 10:43
好文章!!!!!!
作者: duowawa    时间: 2008-07-29 10:45
赞一个  
作者: wolfguozi    时间: 2008-07-29 11:10
经典!写的真的不错呀!受教了!谢谢!俺也要向你学习!
作者: yangzhengbo2002    时间: 2008-07-29 13:37
不错,不错
作者: 日灰    时间: 2008-07-29 14:34
记号      

作者: 1588    时间: 2008-07-29 15:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: randy_wang    时间: 2008-07-29 17:16
写的很不错  珍藏
作者: polokus    时间: 2008-07-29 17:55
刚刚把这个保存到我的Mybase里面了,呵呵
作者: lightone    时间: 2008-07-30 10:50
六就是四  真正的六参考shell版
作者: cysky    时间: 2008-07-30 14:59
不错的文章,2008-07-30
作者: evil-kevin    时间: 2008-07-30 15:13
好文章 觉得自己目前最大的障碍在英语这里了 回去先吧工具学好去
作者: ppiqq    时间: 2008-07-30 15:17
顶一下 + 赞赞 +  赚分
作者: jcky    时间: 2008-07-30 15:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: ABC-FBI    时间: 2008-07-30 21:12
说得好啊.....
作者: zhouguanwu    时间: 2008-07-31 09:57
顶起,说的一点么错
作者: safe.cn    时间: 2008-07-31 10:01
说得很不错.顶一下...
作者: tianrenly    时间: 2008-07-31 22:19
LZ写文档的功夫不错,肯定是个高手
作者: zly888    时间: 2008-08-01 11:39
很的体会。

俺学习了。
作者: gigabyte    时间: 2008-08-01 11:52
写的不错,体会很深啊……
作者: gouree    时间: 2008-08-01 12:55
我认为图形界面没什么不好,总有一天linux所有的操作都可以在图形界面上完成。硬件现在已经不是关键性问题,至少服务器不会因为一个图形界面而影响工作效率,如果是那样的机器,可能也没有资格来当服务器。
作者: oohju    时间: 2008-08-01 14:19
不错 非常值得借鉴~
作者: 小溪的号    时间: 2008-08-01 23:45
ding
作者: yinglikx2006    时间: 2008-08-02 11:29
写的真的是很不错呀!!!一定要切记这些心得!~
作者: grace_redhat    时间: 2008-08-02 13:57
是很不错 做起来可要好好坚持
作者: daofei    时间: 2008-08-04 13:41
谢谢了。thanks。
作者: cssweb234    时间: 2008-08-04 16:07
支持一下。不错的东西
作者: yffl1987    时间: 2008-08-04 16:07
辛苦了 !谢谢搂主
作者: fjlycfq    时间: 2008-08-04 16:08
好文,顶上去。。。。。。。。。
作者: herowang79    时间: 2008-08-04 16:15
多 谢 楼 主!!!
作者: beauty2003    时间: 2008-08-04 17:27
挺不错的,让人知道该干些什么了.
作者: yuhongchun    时间: 2008-08-04 19:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 冷雨无声    时间: 2008-08-04 20:36
今天看见类似的文章已经是第三遍了,可见其重要性啊
作者: guohua219    时间: 2008-08-05 08:40
很好,很强大
作者: crosslife    时间: 2008-08-05 12:52
学习了...正往这方面发展//
作者: xerin    时间: 2008-08-05 14:54
顶个,顺便问下现在哪个版本用比较流行。
作者: jingandleo    时间: 2008-08-07 05:59
标题: 支持
现在才发现那时个没有学好E文是一个错误,只有补了.
作者: nixin    时间: 2008-08-07 09:28
好,顶了                      你
作者: analystgxd    时间: 2008-08-07 10:01
嗯,对新手来说确实有很大的帮助,谢了!
作者: randy_wang    时间: 2008-08-07 10:15
标题: 这边文章我以前见过
一楼的能不能说说具体的新手怎么样入门  比如每一步怎么走!
作者: cnjnhu    时间: 2008-08-07 10:32
原帖由 randy_wang 于 2008-8-7 10:15 发表
一楼的能不能说说具体的新手怎么样入门  比如每一步怎么走!



我要说的就是实践。你使用linux ,解决问题尝试在命令行下,自己做书上的离子。
作者: cnjnhu    时间: 2008-08-07 10:33
原帖由 xerin 于 2008-8-5 14:54 发表
顶个,顺便问下现在哪个版本用比较流行。



现在中国使用red hat比较多
rhel   fedora core  centos

全世界桌面是ubuntu系列
作者: jaix    时间: 2008-08-07 10:41
that is the spirit!
作者: lioncn    时间: 2008-08-08 09:07
五、用Unix思维思考Linux

what's the mean?
是用命令行吗?
还是一个命令专注于做好一件事?
作者: gouree    时间: 2008-08-08 09:56
说一下自己的看法,linux也是一种操作系统,他的主要功能是用来操作你的计算机的。而计算机是为了处理你的应用问题的,不能只停留在摆弄操作系统的层面上,最好要学会linux下的应用,比如说linux下的java开发,linux下使用c,等。毕竟我们不可能所有人都去当linux的网管。
我个人学习这个系统是为了可以更好的了解linux系统的工作原理,这样才可以写出能用的系统架构文档。
作者: cnjnhu    时间: 2008-08-08 14:30
原帖由 lioncn 于 2008-8-8 09:07 发表
五、用Unix思维思考Linux

what's the mean?
是用命令行吗?
还是一个命令专注于做好一件事?



不仅是命令行,应该还有文本流,less is more 等。基本可以这么说:模块原则,清晰,组合,分离,简洁,吝啬,透明性,健壮等等,一言蔽之:KISS  ,keep it simple, stupid
作者: cnjnhu    时间: 2008-08-08 14:34
原帖由 gouree 于 2008-8-8 09:56 发表
说一下自己的看法,linux也是一种操作系统,他的主要功能是用来操作你的计算机的。而计算机是为了处理你的应用问题的,不能只停留在摆弄操作系统的层面上,最好要学会linux下的应用,比如说linux下的java开发, ...



说的很好。现在如果学习就是为了用,为了出成果。但是我还是大家好好了解unix的历史,文化,思维方式,linux接过unix的历史重任。要不然,chinaunix最热的是linux.
作者: dxqt001    时间: 2008-08-09 17:14
真正的经验之谈,每次看了我都会对照一下自己哪方面有了进步哪方面还要加强,真的感谢楼主的好贴。
作者: zp2577    时间: 2008-08-15 16:25
:em12:  thank you for sharing
作者: ylcqen    时间: 2008-08-15 16:35
支持原创!学得好~
作者: yyrjw    时间: 2008-08-15 18:02
顶下楼主  
作者: cnjnhu    时间: 2008-08-15 18:33
感谢,不是原创。
作者: wdg0802    时间: 2008-08-15 20:18
写的很好。。一直就想有一台 自己的电脑但是再买电脑的时候上面都是该死的windows,,问问他们支持不支持linux,,,卖的人不是很清楚啊。。。。我本来就不是很明白,,,他这样子说了。我就更不敢买了。。。买来没有人帮助我安装啊。。现在好点了,什么东西都可以在网络上找到答案。。。。哈哈
作者: 红帽--楠楠    时间: 2008-08-15 20:53
谢谢lz指明方向。说的很好,一步一步来!!继续努力!!
作者: bluesky2008    时间: 2008-08-19 21:01
怎么记得是鸟哥说的啊 ?
作者: 冷雨无声    时间: 2008-08-19 21:14
好文章,受益匪浅啊,
作者: crosslife    时间: 2008-08-19 21:33
不错的文章...很有指导意义
作者: zyp339025518    时间: 2008-08-19 21:38
不错不错,值得借鉴啊!
作者: cnjnhu    时间: 2008-08-19 22:46
感谢大家,愿大家都能利用linux技术闯出一片天地
作者: huanrong    时间: 2008-08-19 23:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: shichunda    时间: 2008-08-20 09:16
帮楼主顶,写的真是太好了!
作者: wlkcrq    时间: 2008-08-20 11:33
好文章,    学习了!
作者: cnjnhu    时间: 2008-08-20 14:32
原帖由 huanrong 于 2008-8-19 23:28 发表
LZ 我现在在看一个叫 鸟哥 的人写LINUX 不知你觉得他写得如何???



   鸟哥,台湾在大陆IT界很有名的人。一个学生很不容易的写出了自己的使用和学习的linux知识。现在基本已经不更新了。可是作为一个入门教程非常经典。
作者: honckly    时间: 2008-08-20 14:33
原帖由 cnjnhu 于 2008-8-20 14:32 发表



   鸟哥,台湾在大陆IT界很有名的人。一个学生很不容易的写出了自己的使用和学习的linux知识。现在基本已经不更新了。可是作为一个入门教程非常经典。

不是都出好几版了吗 ?
都是谁更新的?
作者: linscooter    时间: 2008-08-24 12:17
受教了,很全面。实践很重要。
作者: cnjnhu    时间: 2008-08-24 15:44
不是都出好几版了吗 ?
都是谁更新的?

大家可以去网站看看情况
作者: broceliu    时间: 2009-09-22 11:25
gOOd  DOC
作者: inter_whisky    时间: 2009-09-22 15:26
顶一个,赞
作者: 聪明的很啊QQ    时间: 2009-09-22 20:44

作者: teczm    时间: 2009-09-22 21:16
阅!
作者: yjiwihc    时间: 2009-09-24 16:49

作者: helan06    时间: 2009-09-24 20:08
标题: 山阻石拦大江毕竟东流去,雪辱霜欺梅花依旧向阳开!
欢迎加入 Linux在中国 群号:49224583




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2