Linux探索第二幕进入Linux的世界吧

发表于:2007-07-04来源:作者:点击数: 标签:
第 1 场 柔道的黑腰带 自从上一幕“传奇的开始”在一些论坛得到发表以后,笔者的确收到一些朋友的来信,希望笔者能够更加详细的说说关于Linux 的一切,当然也不仅限于Linux本身。是的,笔者在这里要坦率的告诉大家,在笔者的脑海里和笔者的电脑 硬盘里的确“

  第 1 场 柔道的黑腰带
  
  自从上一幕“传奇的开始”在一些论坛得到发表以后,笔者的确收到一些朋友的来信,希望笔者能够更加详细的说说关于Linux 的一切,当然也不仅限于Linux本身。是的,笔者在这里要坦率的告诉大家,在笔者的脑海里和笔者的电脑硬盘里的确“埋藏”着太多的Linux 的故事,而且这些故事都是动人且惊人的。其中就有自由软件之父Richard Stallman,Linux 之父Linus Torvalds,自由软件头号理论家Eric S.Raymond,Linux 最大分销商红帽子公司的CEO Robert Young,自由软件书籍最大出版商的创始人Tim O'Reilly,还有Web 服务器市场占有率最高的Apache社团的共同创始人及核心人员Brian Behlendorf等等等等。
  
  毋庸置疑,以上所列的每一个人,每一个名字都带着精彩的故事和夹带着少许传奇色彩,但是笔者更要坦率的告诉大家,如果笔者把上面这些人的故事都放在《Linux 探索》此系列文章中来讲述的话,那么就连笔者也不知道何时才能进入《Linux 探索》系列文章的真正主题——学习Linux 的技术了。
  
  也许会在将来的某一天(或许就在明天),笔者会另开一系列文章,专门来讲述这些让人振奋的精彩故事,这里就请大家“稍安勿躁”啦。
  
  好了,闲话少叙,现在开始切入正题。本系列文章的主角就是Linux ,那么什么是Linux 呢?相信大家经过前一幕3 场的故事应该已经知道问题的答案了吧?只是如果您要向别人(他或者是她可能一点都不了解Linux )来介绍什么是Linux的话,就没有必要给他来讲述那么冗长的故事了,只需要一句话:Linux 是一种操作系统。什么?还是不太明白?那么再详细一点:Linux 是一种和Windows 一样的操作系统,可以帮助你完成工作的一个平台。(哦,如果他或者是她连Windows都不知道的话,那就不管你的事了^_^ )
  
  我知道接下来肯定会有人问:那么是Linux 好呢,还是Windows 更棒呢?MyGod ,这是不是能够算是一个经典问题呢?笔者想是的,因为要给出完整的答案可不是一件容易的事情!所以笔者在这里也只能这样回答您:Linux 和Windows哪个更棒,目前取决于您要干什么和您问的人是谁。
  
  当然,笔者知道这更像是一句“外交性质”的回答,也就是说了等于没有说。呵呵,别着急,在第二幕的结束时笔者还会给您一个更准确的答案,以满足您的好奇心。
  
  让我们正式来认识一下Linux 吧:Linux 是一个免费,开放源代码,协作开发的类UNIX操作系统,它可以运行在大多数的硬件平台上。它提供了广泛的网络支持,同其他系统交换所必需的许多特性和大量本身拥有以及从其他系统引入的应用程序。
  
  哦?开放源代码?对于我们技术人员来说,看到这样的单词可是非常兴奋哦。是真的吗?在我们这个已经被自私,贪婪,欲望所缠绕的都市里面还会有人把一个完整的操作系统的源代码公开?是的!这就是GNU 计划!伟大的理想计划,许多人的终生梦想!GNU 的意思是“GNU 不是UNIX”(GNU's Not Unix)的单词字头缩写。——这种递归方式的取名方法是计算机老手们的一种幽默。如果您理解不到这有什么可笑之处,也没有什么关系,这只能证明您还是属于大多数人的那一类。
  
  化两分钟时间来认识一下GNU 计划吧,虽然它在我们这个国度似乎根本没有生存的空间!GNU 是自由软件基金会(Free Software Foundation)的一个工程。该工程始于1984年,目标是创建一种免费的,类似于UNIX的操作系统。多年以后,他们编写出许多GNU 工具,这些工具被许多商业UNIX供应商广泛使用,当然,系统管理员也使用这些工具来完成任务。Linus Torvalds的Linux 内核最终使GNU的梦想(创建完全免费的,类似于UNIX的操作系统)变成了现实!
  
  当然,就像有上帝就会有撒旦一样,这个世界上总有人喜欢黑暗,他们享受着GNU 所带来的好处,但是他们自己本身却不肯(准确的说是不敢)实施GNU 计划,这样的人就存在于我们这个国度!而且如今还生存的非常“成功”。语所何指,就请读者诸君自己去琢磨了。
  
  现在笔者可以向您来解释本场的标题“柔道的黑腰带”的含义了。回想一下DOS 吧,还记得这个操作系统吗?笔者是在1993年认识这个操作系统的。现在想想,大陆的资讯和教育的确落后,那个时候Windows 3.1 操作系统也已经投放市场一年多了,而我们还刚刚认识Dos ,不过这是我们的国情所致,可以理解和谅解。让笔者印象最深的就是当时的Dos+WPS 让中国多少人多了就业的机会!还有风靡数十年的“五笔字型”,以至于让很多人产生这样的一种错觉:学电脑就是学打字。似乎在WPS 之前还有一种很流行的编辑工具,和四通有点关系,但是限于记忆,笔者在这里已经难以回忆起来了(又懒得查资料,呵呵)。
  
  DOS 的特色就是命令行方式操作。dir ,cd,md……这是笔者刚接触Dos 时学的3 个命令的顺序,你的呢?
  
  亲爱的读者,这里是您需要了解的事是:在本系列文章中,我会在命令行方式上投入比较多的精力。当然,我知道很多人喜欢那些美好的事物,比如梦幻般的界面之类的东西。但是从系统管理的角度来看,命令行实际上就是规则。它总是有效的,同时也是灵活的。即使是通过一条缓慢的跳制解调器线路,它也能操纵几千公里以外地远程系统。让我们面对这样的现实吧:所有的图形都是减慢网络连接速度的杀手。
  
  另一个原因是:漂亮的前端GUI 和图形化桌面的确不赖,它可以让一个新管理员,也可以在经过少量培训之后完成任务。但应该真正理解的是:实际上,力量是来自于表层下(即友好的菜单和图形化界面之下)所发生的事情!
  
  学会运用命令行就像类似于获得了柔道中的黑腰带或者说获得了急救证书。但是这并不是说在遇到障碍(或对手)时突然拥有了解决方法,而是说将拥有自信和知识,这样就可以保护自己,或是在有紧急情况发生时加以处理。记住吧:命令行是强大的!可随时使用!
  
  当然,这并不是说我们不要那些图形化的东西,毕竟漂亮的东西人人喜欢,不是吗?尤其是当您面对那些胆小的用户的时候,把舒服的图形化工具放在他的面前是再好也不过的了。同样的,这些用户经常做的一件事情就是喜欢把梦幻般的窗口界面看成是对操作系统性能的一种测试。(“我要打魔兽争霸或者是打CS”)出于这方面的考虑,笔者也将介绍图形化方式的操作。
  但是笔者是一个诚实的人,可不想隐瞒什么事实。还是要告诉大家命令行操作是第一位,GUI 是第二位。毕竟,许多GUI 接口实际上只是命令行漂亮的前端或者说是包装而已罢了。而且对于经验丰富的系统管理员来说,他们会发现GUI工具很难提供全部的可选参数。而要想提供完备的参数的话,一般又会使GUI 操作界面变得与其对应的命令行程序同样复杂。本来GUI 的设计就是要简化操作。因此有经验的用户基本都回返回到命令行灵活的能力上面去。
  
  好了,笔者可不想在这里引起一场争论,毕竟无论是命令行方式还是GUI 方式,它们共同的目的就是为了完成工作罢了。每一种都有它各自的优点和缺点。
  
  再让我们回到DOS 的回忆中吧。是的,笔者承认在初次接触Linux 的时候,的确让笔者遥想到1993年学DOS 时的情景。而今,现在,笔者再次回忆起DOS ,并将和大家一起通过DOS 来认识Linux 的命令行操作方式,却是一转眼已是十年了。时间过得可真是飞快啊……
  
  第二幕 进入 Linux 的世界吧
  第 2 场命令行的开始
  
  如果您认为自己已经足够了解Linux 的基本命令的话,已经觉得没有必要再谈论这些日常使用的命令,您可以完全不看这一场。毕竟,笔者的文章不是“矩阵革命”,非看不可。^_^ 当然,那些希望了解Linux 的读者可能仍然希望回顾一下这些内容。毕竟,万一错过了某些内容呢?要知道,在系统管理员的世界里面,有些“错过”就是意味着“过错”!(其实在人生的长河里,又何尝不是这样呢?错过了,就意味着失去。时过境迁,一切都难寻旧梦。而所谓弥补,常常是一厢情愿的强求。)笔者仍将延续一个“不良”习惯:从基本的内容开始介绍,那么会深入到何种程度呢?那就要视情况而定了。
  
  本场要讨论的内容都是一些最基本的命令,他们将贯穿本系列文章的全部,也将会和读者您一起度过使用Linux 的美妙时光。笔者希望让您能够知道这些命令是何等的强大与灵活,也希望您能在学习了这些基本命令之后,能够继续去探索这些命令其它“隐秘”的功能。轻微的探索渴望回向您揭开日常命令的真正潜力!因为在Linux 的环境下,命令行永远是系统管理员生活中一种永恒的需要!
  
  提到命令行,就意味着我们要接触shell.现在我们先不要管shell 来自何方,又将走向哪里。我们现在只要知道shell 能够解释我们输入的命令即可。在您的脑海里面还有没有DOS 的痕迹?如果有的话,当您看到shell 的时候,是不是也能像笔者一样遥想起过去的光景?是的,您可以把shell 看成当初的DOS 提示符。(如果您忘记了DOS 提示符的样子,也没有关系。在您的Windows 系统里面,点击“开始”,然后点击“运行”,在打开一栏里面输入“cmd ”,ok,DOS 重现了。当然,严格的说在Windows 2000以后的操作系统里面已经不能称为DOS 了,而应该叫做“命令控制台”,增强了许多了DOS 命令,您将在接下来会看到的。其实shell 更像是DOS 时代的command.com 程序。)
  
  shell 有很多种,我们经常用的就是BASH shell(Bourne Again)。注意这个Again 单词,聪明的读者如您一定已经猜到在这个shell 之前应该还有一个shell,哈哈,您猜对了!再让我们来回顾一下历史吧:第一个真正的 Unix shell ——“sh”,亦称为‘Bourne shell’,诞生于 1975 年,作者是 Steve Bourne .很快,出现了其他 shell,如基于原始‘Bourne shell’的“ksh ”、“zsh ”,后者常用作专属 Unix 系统中的标准 shell;也有一些从 C语言中衍生出来的 shell ,如“csh ”或“tcsh”。
  
  一般地,系统默认的就是BASH shell. 它使用广泛,而且如果没有其它特殊的情况下,是被设置成用户运行的shell 的。这个 shell功能非常强大(甚至有人觉得太庞大了),是的,您可要知道压缩后的 man page (帮助文件)就有50KB .虽然功能很强大,但是笔者仍然觉得有点小小的缺憾,比如没有命令行拼写检查之类的功能,呵呵。如果您是一个不甘于已经强大,还渴望强大的读者,笔者这里推荐您可以用Z shell (zsh )。不过,笔者猜想很少会有人会去用到shell的全部功能吧。
  
  虽然每个人都在宣称自己使用的shell 比其他人的都好,但是这依照笔者来看,实在没有必要。就像我们现在有不同的浏览器,比如IE,Netscape,Opera等等,还有各种依IE内核来开发的浏览器,比如MyIE之类的玩意。但是他们的功能都是相同的:就是显示web 的内容。说到底,使用何种shell 只不过是个人的爱好问题罢了。
  
  好了,关于shell 的故事笔者只能讲到这里了,希望您已经大致理解shell了,因为我们要讨论的是BASH的内建命令,而不是BASH的本身介绍,要知道。关于BASH的本身介绍足以再写一本大部头的书籍。虽然学习BASH的本身同样重要,但是现在还不到时候。
  
  现在假设您已经进入shell 环境了,看到了吗?类似于这样的:
  
  
  [root@localhostroot]#光标就停在这里,等候您输入命令呢。“# ”说明是用root帐号进入系统的,root:就是UNIX或者类UNIX系统如Linux 中的上帝!上帝的权力很大,可不
  要滥用。
  
  继续我们的学习吧。我们在开始学习DOS 的时候,第一个学习的命令是什么呢?笔者第一个学习的命令是dir ——其作用就是显示文件和目录列表。那么在Linux 系统里面,起到类似作用的命令是什么呢?记下来,是ls. 如果您以前从来没有使用过Linux 系统的话,那么这个命令将会是您第一个认识的Linux 的命令。很有纪念意义哦。现在请您在Linux 的环境下输入ls看看,如果您是默认的环境,那么你会看到很多文件,而且还是有颜色的。哦,您说,在DOS 下面(注意:这里指的DOS 环境一概是指Windows 下面的命令控制台,现在已经很少有人再用DOS 了吧)输入dir 还能够看到文件的最后修改时间,文件的大小之类的信息,很清晰的样子。而ls似乎很混乱,别着急。您在ls后面加一个参数-l,就像这样:ls -l (这是英文字母L.而不是数字1 ,可不要搞混了),是不是看到更多的内容了呢?而且还有些内容您还不知道是干什么用的。别担心,因为有些内容牵涉到文件的权限,如果笔者在这里展开解释,势必又要造成本场内容的冗长,而且也不符合本场的主题。笔者会在以后进行讲解的,现在您只要知道这个参数是让您能够得到和dir 一样的功能就可以了。
  
  笔者第二个学习的DOS 命令是CD——其作用就是改变目录。那么在Linux 下面又是哪个命令与之类似功能呢?很幸运,也是CD命令。比如笔者想进入某个目录,就像这样输入:
  $ cd /usr/local/sybase
  
  而在DOS 下面我们是这样输入的:
  F:\>cd \usr\local\sybase
  
  几乎没有区别,不是吗?
  
  好了,本场最后一个命令:MD.DOS下面的意思就是创建一个新目录。比如在DOS 下面我们需要创建一个目录,只要这样输入就可以了:
  C:\temp> MD MyFolder
  而在Linux 下面是哪个命令来完成这个功能的呢?mkdir 是也。在Linux 下面我们如果要创建一个目录,像下面这样输入:
  $ mkdir MyFolder
  很简单不是吗?
  
  命令行不是那么让人畏惧,是吗?习惯了图形化操作,现在再来接触命令行方式,是不是别有风味?还是别有一番滋味呢?亲爱的读者朋友,从下面一场开始,笔者将开始进行冲刺,会介绍更多的命令和参数,别紧张,都是很容易可以理解的。DOS 命令谁还不会啊?呵呵。下回再见吧。
  

原文转自:http://www.ltesting.net