免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: silly2004
打印 上一主题 下一主题

一个公司的系统管理员用shell编程的机会多不多 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2004-06-26 09:43 |只看该作者

一个公司的系统管理员用shell编程的机会多不多

原帖由 "網中人" 发表:
再補充一下:
會用工具,不代表了解工具背後設了些甚麼...

但會用 shell 的話,可了解的就清楚多了,但不一定要了解 source code 。
你只要知到如何用 shell 將 command 所須的參數傳入?
及修改哪些設定檔?
..........

我不是说shell不需要,我个人也很喜欢shell,网兄的十三问当然也拜读过。我只是反对过分沉迷于shell行为,把精通shell作为评价优秀admin得唯一标准。
  没错,shell很重要,但是shell不是万能的,shell也有很多缺点:
  1.我在这里看一些高手讨论一些shell程序(大部分都是关于文本提取)有一些的确很巧妙,比如${file##*/} 可是这些东东可能在linux下面运行很好,却不能去AIX,更不用说win2003。我管理的服务器有多个系统,我明明可以用perl编写可以跨平台的脚本,为什么还要使用有局限的shell程序?更何况win2003的shell能力天生疲软。
   另外,网兄说,要会用shell,要知道修改哪些设定档....没错,要改网卡参数我就去/etc/sysconfig/networking;要开机自动运行程序,我可以附加在rc.local;我知道/var/log里面有日志文件;知道/dev下面是设备文件,我还知道K开头的文件是代表kill,S开头的文件代表start.......我十指翻飞,在各个不同的目录下面查找修改我要的东西,让那些end user看得眼花缭乱.......可是这就算了解系统?这和在windows里面的一个窗口下面修改参数有什么区别呢?我们知道/proc/sys里面可以修改系统参数,用mrtg监视流量,用iptables做firewall可是你知道为什么吗?只其然而不知其所以然,就算真正了解了?
  说了这么多,其实没有贬低shell编程的意思,只是它不过是工具,该用就用,不该用的时候,就不要用。了解系统方面,sourcecode更重要

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
32 [报告]
发表于 2004-06-26 13:56 |只看该作者

一个公司的系统管理员用shell编程的机会多不多

xiaoyafeng 兄可能誤會了:
1) 沒人說 shell 是唯一標準,只是說是必要基礎而已。這兩者之間差很多,希望兄能正確解讀。
2) 也沒人說 shell 是萬能的。若這是兄之片面解讀,可否請兄台稍為修正一下呢?
3) 只要用到 TUI / Command line ,那就離不開 shell 。對 shell 越理解,那工作越方便。兄提到 windows 裡開一個窗口改參數,這可不一樣。請問那些用 GUI tools 設過 dns server 的朋友,有幾個搞得懂 dns 設定要扯上哪些檔與 key 嗎?若你是用 shell 透過 vi 來改,起碼得對 *.conf, *.key, *db 這些檔的每一個欄位要懂吧?這對於了解系統有很大幫助。以 named 的 chroot 環境來說,用 GUI 的話,一旦所用工具未能認知這個系統修改,那是永遠設不起來的﹗若用 shell 則不然,只要對 chroot 與 directory tree 了解一下就可以應付了...
4) 光是知道目錄在哪,有哪些設定檔,知到 K/S 之別,還遠遠不夠... 我希望的是:能夠讀得懂 /etc/rc* 底下每一個 script 的每一行﹗而不止於 script 名稱本身。不知兄台的認知是否亦如此呢?
5) 知得越多,反而更覺的更不了解。不是嗎?不知兄台可有同感?然而,知多一些,總比知少一些要好。然而更然而,我一直認為:"知得多不如用得巧"。難道兄台沒讀出我上一篇所言的"技巧"嗎?
6) 凡事不要鑽牛角尖。若你說懂 shell 不如懂 C 。那可能有人會認為要懂得如何設計 CPU 才算了解系統。我建議分清楚我們這裡討論的角色是--- System Administrator 。
7) 若兄台堅持"懂 C 是檢驗 Administrator 的唯一標準"(哈,是否你也覺得被人誤會的感覺很不好呢?),那麼,按理來推,若連 shell 都不懂,那豈不是連邊都沾不上嗎?
8) 樓主問的是 Administrator ,而不是 developer 。以今天的科技廣度來說,兄台認為我們還能找到"全才"的機會有多少呢?還是,找到相當的"專才"加以合作,更能發揮分工效果呢?(註:我指的全才不是那些"樣樣懂其實樣樣不懂"那類"通才"。)
9) 講了這麼多,弟也沒有將 shell 誇大為高高在上凌架一切之意。只是建議樓主若要走 admin 一途,最好先過 shell 這關。兄台提到 iptables/firewall ,說實在的,與 shell 沒太大關係,反而與 TCP/IP 基礎更為密切。若連 socket pair & three-way-handshake 都搞不懂,那就不要急著碰了。這對於一個就算自己會寫 bash version 3 的人來說,也是同樣的道理...

p.s.
... so far ... 大家都能在理性範圍內探討,我很喜歡這樣的氣氛...  ^_^
希望我們能保持下去...
我之所以參與,不在於誰服誰,而在於表達自己的觀點。更重要是透過意見的繳換得到提昇,不管是技術上的、還是為人上的...
大家共勉!

论坛徽章:
0
33 [报告]
发表于 2004-06-26 15:04 |只看该作者

一个公司的系统管理员用shell编程的机会多不多

不重视shell大概不会是一个  聪明的  admin
“shell是基本功”不应该有争议啊~~~

论坛徽章:
0
34 [报告]
发表于 2004-06-26 18:29 |只看该作者

一个公司的系统管理员用shell编程的机会多不多

用shell的确使某些问题得到满意的解决,因此我喜欢shell。

一个shell爱好者.

论坛徽章:
0
35 [报告]
发表于 2004-06-28 11:58 |只看该作者

一个公司的系统管理员用shell编程的机会多不多

原帖由 "zhangr" 发表:
知道的越多,就会觉得越不了解系统是怎么运作的.
如果什么都不知道,当然也就觉得系统很简单.


不敢苟同   

论坛徽章:
0
36 [报告]
发表于 2004-06-28 11:59 |只看该作者

一个公司的系统管理员用shell编程的机会多不多

[quote]原帖由 "bjgirl"]我认为,多学点东西没坏处! [/quote 发表:


我也始终这样认为!

论坛徽章:
0
37 [报告]
发表于 2004-06-28 15:26 |只看该作者

一个公司的系统管理员用shell编程的机会多不多

非常高兴看到这样的讨论

我认为shell做为ADMIN的基本功是无庸置疑的,但是至于精通与否确实跟个人发展方向有关系。如果你是为了完成admin工作,那掌握普通程度的shell我认为足够了,毕竟你的应用正常动作之后,几乎剩下的就是日常工作了,如果给你一定的时间,你就会掌握百分之九十以上的工作方法(包括借助于shell完成的)。如果你对shell非常有兴趣,那你当然可以借助于它强大的功能完成令普通人头晕的工作,但可能是对你的日常工作并不是必要的,这对你来说,只是喜欢。
如果你想对OS有更深入的了解,那么C远比shell更有决定性。

我本人对shell一般,不算太感兴趣,面对HACKER更感兴趣,所以更喜欢C来读kernel,只是水平一般,希望能找到同道合的朋友
msn :rewriteworld@hotmail.com

论坛徽章:
0
38 [报告]
发表于 2004-06-28 15:43 |只看该作者

一个公司的系统管理员用shell编程的机会多不多

呵呵,当你管理100到200台服务器时,你就会深刻感觉到shell对你有怎样的好处了。
当然在一台机器上很多时候直接修改一些文件就可以了,当有多台服务器,一台机器一台的修改,你不喊“上帝帮我“才怪呢。^-^


另外最重要的事情是:不要对任何一门语言或工具有偏见,能在不同的时候选在正确的语言或工具才是最关键的时期。当然要选择工具你必须先了解它,否则摆在面前也没有办法时候它,只会造成偏见(管中窥豹)。


借用bjgirl的话“有时间多学一点没有坏处”,希望与大家共勉!
^-^

论坛徽章:
0
39 [报告]
发表于 2004-06-28 15:53 |只看该作者

一个公司的系统管理员用shell编程的机会多不多

才发现这个主题这么火,搬个凳子来看看。
TUI下写shell改配置,GUI用bat做启动脚本,呵呵,差不多啊。
会shell总比不会的好,用的机会多不多看需要了,是不是admin看老板给多少钱招人了。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
40 [报告]
发表于 2004-06-28 16:43 |只看该作者

一个公司的系统管理员用shell编程的机会多不多

倘若,我們將討論焦點從
"管理系統是否需要 shell 基礎?"
給轉為
"會 shell 還是會 C 才算了解系統管理(註一)?"
的話,
那,我想在進一步討論之前先來調查一下的用戶群體比例:
1) 會 shell 但不會 C
2) 會 C 但不會 shell
3) shell 與 C 都會
4) shell 與 C 都不會

然後,在發表討論之前,先表明自己所屬的群體。
如此,會讓參與討論的各方更明瞭彼此的背境與立場,從而降低不必要的誤會。
以小弟而言,我屬於第一類。

註一:
所謂的"了解系統管理",與"了解系統本身"是有一定的層級差異的。
如果下面的比喻可以被接受的話,應能領會我所指的差異所在:
汽車設計師比賽車手更了解汽車,
但若談到駕駛操作及對賽道的了解,設計師恐怕就不及車手了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP