林海谐缘

 找回密码
 审核注册
搜索
查看: 1540|回复: 2

关于linux---初学者必看

[复制链接]
发表于 2006-11-29 21:52:16 | 显示全部楼层 |阅读模式
  一、linux的基本操作

1、用户的登录、注销与关机

摁下电源开关,屏幕上刷刷闪过一串串启动内容的文字提示,是不是感觉有点兴奋?如果这是你的linux第一次启动,那么在服务启动的一串绿色的"[OK]",突然出现一个红色的false,仔细一看好象是一个叫httpd的服务。不要害怕,这个问题我们在以后的学习中会得到解决。最后,系统显示:
linux login:
作为系统管理员,第一次进入系统当然要以超级用户的身份进入,和NT中Administrators身份对应的linux帐号是root(这也是一般类UNIX系统中常见的系统管理员身份)。在login:后面输入“root”,然后回车,系统提示:
Password:
输入当初在安装的时候选择的系统管理员密码。你也许会奇怪,系统为什么不显示“*”号来提示你已经输入,好象什么也没有输入,光标还在原处闪烁。其实,你已经输入了你的密码,之所以采用这种不回显的技术,也是出于安全考虑——减少周围的人知道您密码位数的概率,而降低您密码被很快破解的可能性。按照你心里想的输入密码,然后直接回车,OK,成功登录,系统提示:
[root@linux /root]#
符号“@”前面的自然是你的帐号身份,之后的是主机名,可能根据你的主机的名称不同而不同。/root是你的主目录,它既是你的个人配置文件所在的地方,也是你每次登录后所在的目录,是你受到系统保护的私人领地——当然,前提是只有你自己拥有root权限:)。
和NT不同的是,作为多用户多任务操作系统,linux在同一台主机的本地就提供了6个虚拟控制台,分别为tty1至tty6。虚拟控制提供了linux在字符模式下同时运行几个程序的方法,实现了多任务处理。这六个虚拟控制台可以通过组合键Alt+F1,Alt+F2,……,Alt+F6来进行切换。每一个控制台都可以看作一个完全和独立的工作站。系统启动的缺省控制台为tty1。从一个控制台切换到新的虚拟控制台以后,linux也会先显示登录提示符,就象第一次登录一样。在装入另一个命令解释器之前,也会询问用户名和口令。所以,我们可以在不同的控制台以不同的用户身份登录,更方便了用特定的身份执行特定的操作。当用户从一个虚拟控制台切换到一个新的虚拟控制台以后,在原来那个控制台运行的程序将继续运行。
我们可以来做个小小的实验,在第一个登录的控制台(tty1)输入命令ping 127.0.0.1,这时可以看见类似windows下ping本地的输出,紧接着Alt+F2切换到第二个虚拟控制台,登录以后,使用命令ps aux|grep ping(关于这个命令,将在第五个专题的进程管理中详细说明,它的功能是显示运行中的程序中包含ping串的部分),我们可以看见两行输出,一行表示ping在运行中,一行表示你的这个查询在查询的时候也在运行:)。然后我们再用Alt+F1切换到第一个虚拟控制台,可以看见ping命令还在不停的输出——在你离开这一会,它都已经刷了好几屏了,用Ctrl+D来结束它吧。非常清楚,ping命令在我们离开控制台一的时候也并没有被挂起,而一直在执行中。
在同一个控制台中,我们不用先注销也是可以改变我们的系统身份的,这可以用命令su实现。使用方法是:
[root@linux /root]#su username
命令行中的username是你给su的参数,例如你想改变自己的身份为bluewind(前提是您已经添加了这个系统用户,操作方法可以参考《搞清linux的用户和组-基础篇》),那么你可以使用su bluewind命令。如果你是从root身份su的话,不用输入password。而从其它身份则系统会提示输入密码的。简单的敲入su不带任何参数的话,缺省的认为你想成为root用户身份。
用户退出登录有两种方法,一种是exit命令——这个命令一般的系统都会提供,一种是logout——有些系统如果提供了exit就不再提供这个命令了,例如redhat 7.0。执行的结果是回到上次转换身份前的用户状态。例如,你先用root登录,再su为bluewind,然后你执行exit,就回到了root身份,再执行exit,连root也退出了,回到登录提示符的状态。
通过telnet登录系统和通过本地虚拟控制台登录很相似,只是出于安全性考虑,系统不允许直接用root身份通过telnet登录,你可以先用一个普通身份登录以后再su成root——如果有必要的话。

linux提供了三种关掉系统的方式:shutdown、halt和reboot。这三个命令在一般情况下只有系统的超级用户(一般都是指root,但不全是)才可以执行。输入没有参数的shutdown命令,2分钟之后即可关闭系统。在这段时间,linux将提示所有已经登录系统的用户。如果需要设定等待的时间,可以使用如下的选项:
○now:立即。
○+mins:在指定的分钟之后
○hh:ss:在指定的时间。
在关掉系统之前,系统会自动产生一个/etc/nologin文件,用于说明系统即将关闭,用户不能登录进入。在这段时间中,只有系统管理员可以进入。如果你需要获得有关shutdown命令的更详细的帮助,可以使用man shutdown命令。
halt命令相当于shutdown -h now ,表示立刻关机。
reboot命令相当于shutown -r now ,表示立刻重起。

2、Shell的使用

如果你熟悉DOS的话,你可以用dos中的command.com程序来帮助理解shell。它可以被认为是一种简化的shell。shell是用户和linux之间的接口,用户输入的每个命令都是由shell先解释,然后再传给linux内核的。有些命令是shell内建的,就好象dos的内部命令,例如显示当前工作路径命令pwd就是bash内部的;其它命令如同dos的外部命令是自己单独的程序。
shell的另外一个重要特性就是,它自身就是一个解释型程序设计语言。shell程序设计支持在高级语言里能够见到的绝大多数程序控制结构,关于这个,能够单独写一本书^_^。我们还是回到正题,不过我们可以知道,shell命令完全可以完成在dos中象bat程序一样的功能,而且更强、更方便、更随和——随便写一个命令列表的文本文件,指定一个shell执行它或者把它的属性改为可执行后直接运行就可以了。
shell在用户成功的登录系统后启动,并始终作为与系统内核交互的手段,直至退出系统。

◆常用的shell

在linux系统里,可以使用多种不同类型的shell。一般来说,在/etc目录下会有个shells文件,该文件是目前系统中可用的shell类型列表。一般包括如下几行:
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
而最常用的主要是Bourne shell(sh),C shell(csh)和Bourne Again Shell(bash)三种。
sh是UNIX最初使用的shell,并且在每一种UNIX上都可以使用。它在编程方面非常优秀,但和用户的交互却比较逊。
csh更多的考虑了界面的友好性,但普遍的认为C Shell的编程接口不如sh。由于它的编程语法和c比较相近,所以它还是被许多C程序员所使用。
bash是sh的扩展,并与sh完全兼容,并在吸取c和kon shell的优点的基础上对sh增加了和增强了很多特性。它是大多数linux系统中默认的shell。下面我们将主要介绍bash的简单使用。

bash的环境变量的设置主要是在/etc/profile文件里,每个用户还可以在自己的主目录(刚登录系统后的当前路径)中的.bash_profile文件中定义自己的个人环境变量。注意,以点“.”开头的文件在linux中是隐藏文件,使用ls的-a参数才能看见它们的存在。
我们比较关心的可能是这样的一行
PATH="$PATH:/usr/X11R6/bin:/usr/sbin/:./"
通过下边的export语句,这一句就象dos中设置path路径一样,所不同的主要有以下三点:
a、形式上用冒号分隔各个路径单元,不象dos是用分号分隔;
b、内容上可以使用$PATH代替这个赋值等式前的路径设置(注意,linux是区分大小写的);
c、效果上这个路径决定了bash查找的绝对范围,不要认为bash会象dos自动先查找当前路径,除非你在PATH中进行了设置。
你可以使用echo $PATH来显示自己的当前PATH设置。
关于bash更详细的帮助可以通过man bash命令获得。

修改用户缺省shell设置可以参考 《搞清linux的用户和组-基础篇》 的有关内容。

3、文件系统与目录树
在dos-windows体系中,每个磁盘或硬盘分区有独立的根目录,并且用唯一的驱动器标识符表示,如A:,C:等。
而linux的文件系统则不一样,它采用了一种虚拟文件系统技术,使不同的磁盘和分区组合成一个整体。单个磁盘或硬盘分区构成单独的文件系统(可以是fat、NTFS等等格式的),有其各自的目录树结构。但是,在操作系统能够使用这些文件系统之前,必须通过称为“挂装”的操作将单独的文件系统附加到虚拟文件系统的某一个子目录上——也就是说这个子目录就是实际文件系统的根,通过访问这个子目录来访问该分区或磁盘。如此操作,最终可使所有的文件系统结合成一个无缝的统一整体,组织到一个大的树型目录结构中。该目录树的顶部是一个单独的根目录,名为root,用/表示。根目录下是一些标准的子目录和文件。
在文件系统模型中,仍然体现了linux的设计哲学,即将不同的文件系统组合成一个有机的整体,进而为用户提供一致的文件系统结构。
对大多数Linux发行版本而言,文件系统的目录树布局遵循FSSTND标准,这有利于编写或移植软件,同时也有利于进行系统管理和维护。
完整的目录树可划分为小的部分,这些小部分又可以单独的存放在自己的磁盘或者分区上。这样相对稳定的部分和经常变化的部分可以单独放在不同的分区里,从而方便了备份和系统管理。目录树的主要部分有root(/)、/usr、/var、/home等等。下面是一个典型的linux目录结构如下:
/ 根目录
/bin 存放必要的命令
/boot 存放内核以及启动所需的文件等
/dev 存放设备文件
/etc 存放系统的配置文件
/home 用户文件的主目录,用户数据存放在其主目录中
/lib 存放必要的运行库
/mnt 存放临时的映射文件系统,我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。
/proc 存放存储进程和系统信息
/root 超级用户的主目录
/sbin 存放系统管理程序
/tmp 存放临时文件的目录
/usr 包含了一般不需要修改的应用程序,命令程序文件、程序库、手册和其它文档。
/var 包含系统产生的经常变化的文件,例如打印机、邮件、新闻等假脱机目录、日志文件、格式化后的手册页以及一些应用程序的数据文件等等。建议单独的放在一个分区。
典型的/usr目录如下:
/X11R6 存放X window系统
/bin 存放增加的用户程序
/dict 存放字典
/doc 存放追加的文档
/etc 存放设置文件
/games 存放游戏和教学文件
/include 存放C开发工具的头文件
/info 存放GNU信息文件
/lib 存放库文件
/local 存放本地产生的增加的应用程序
/man 存放在线帮助文件
/sbin 存放增加的管理程序
/share 存放结构独立的数据
/src 存放程序的源代码
由于/usr中的文件不和特定的计算机相关,也不会在通常使用中修改,因此可以通过网络共享这个目录(文件系统),这样,当管理员安装了新的软件之后,所有共享这一文件系统的计算机均可以使用新的软件。

4、目录操作和文件操作

在介绍文件的操作之前,我们先了解一下文件的类型。目录树包括以下文件类型:
a、普通文件:包括文档文件、数据文件、程序、shell脚本等我们常接触到的文件。
b、目录文件:目录文件包含着一个该目录下的文件和本身以及上一级的链表。这是由操作系统维护的文件。它至少包括两个记录,一个是它自身(“.”),一个是它的上一级目录(“..”)。注意,根目录的上一级目录还是它自身。
c、设备文件:和所有UNIX一样,linux把所有设备都作为一个文件来处理,包括IO设备。
d、进程通信文件:即所谓的先进先出文件,主要是为进程间通信用的。

我们一般登入系统后,当前的工作目录都是自己的主目录,想看看主目录里有什么东东?你可以使用ls命令试试。输出就如同dir /w一样^_^。要查看隐含文件使用命令行:
ls -a
可以看见多了不少以点(“.”)开头的隐藏文件。如果还想进一步查看文件的详细信息,那就查看长格式的输出吧,使用
ls -l
当然,我们完全可以组合使用多参数,有两种方法:
ls -a -l 或者 ls -al
都可以得到该目录下所有文件的详细列表,比dos下dir的输出还详细——只不过文件的名却在右边。如果文件太多,一屏显示不下怎么办呢?ls命令并没有提供dir的/p开关的功能,不过按照UNIX系统设计的积木原则,我们可以用命令的组合获得我们需要的任何功能。象这次我们可以使用输出重定向,使用通道,对于下面这个命令,你应该不会觉得别扭吧?
la -l | more
这和dos下的管道一模一样嘛:),还不只这个,连改变当前目录的cd命令,也是和dos中的用法一样,看来dos还是没有完全抛弃UNIX的影响。
cd命令的用法和dos中相似,不同的是cd和后边的目录(包括代表上一级目录的..)之间必须有空格隔开。多出几次错误信息你就会记得这一点了,呵呵。记住:
cd.. ------wrong
cd .. or cd / ------right
查看当前的路径的命令是pwd,如前所说的,它是bash的内部命令,cd也是。它存在价值在于你不用时刻面对着一个可能非常长的路径,当然你觉得有必要,也可以通过对bash的适当配置使得它的提示符类似于dos模式。
建立和删除的目录命令也很容易从字面上理解,建立目录使用mkdir,删除空目录用rmdir。注意,你建立目录、删除目录的操作,都需要相应的权限。
要想做到dos下的deltree的功能,需要使用文件的删除命令rm的递归删除参数-r或-R。这个命令的基本格式是
rm [-option] filename
例如要删除/tmp/newtemp所有文件和子目录,可以使用如下命令:
rm -r /tmp/newtemp
这样的话,系统会一个一个文件问你是否需要删除,如果你可以确信这个目录下的所有东西都没有保留的价值的话,你可以加上一个-f的参数,表示强制删除,不再询问,如:
rm -rf /tmp/newtemp (还记得我们使用多个参数的两种方法么?)
注意,在linux中没有类似undelete的命令,不要随意使用带-f、-r、-R参数的rm命令哦:)
文件的拷贝使用cp命令,使用的格式如下:
cp [-option] soursefile targetfile
注意,和dos中的copy不同的是:
· soursefile和targetfile不能相同;
· cp需要使用递归选项-r来完成带文件的目录的拷贝;
· cp可以使用-u开关来保留文档的最新版本。当使用-u选项时,如果目标文件存在且最后修改时间比源文件晚,则不覆盖。
我们常用的还有重命名操作命令,或者说移动文件命令,mv,格式如下:
mv [-option] source target
mv有个非常有用的选项 -b,表示给被覆盖的文件产生一个备份。

cat命令用于把所给的文件以所给顺序在标准输出上输出。格式如下:
cat [-ption] [file]
如果没有设置参数file,则把从标准输入中读入的文件从标准输出上输出。如果file以一个减号来代替,则cat仍然从标准输入上读入数据。例如:
cat - file1 - >file2
这个命令表示先从标准输入读入数据,直到输入结束字符Ctrl+d,接下来从文件file1中输入,接着又从键盘输入直到输入结束字符,把这些结构都输出到file2文件中。实际上做了个在file1前后均加了一段文字然后存成了file2文件的操作。
用这个命令还可以把多个文件连接在一起。例如:
cat *.txt > outall.txt
表示把所有的txt后缀的文件按照字母顺序连接起来,然后再写到outall.txt文件里。
如果[file]选项是二进制文件,而又不是把它输出到一个文件而是标准输出的话,由于终端可能要对不可打印字符进行处理,可能会出现乱码。可以使用-v选项来解决这个问题。这个选项把不可打印字符(从ASCII码的000到037的字符)用^和ASCII码从100到137的字符组合来表示。
还有三个用来显示文件的命令,它们分别是head、tail、more。
head [-option] [file] 是用来显示文件的前面一部分的。可以使用-num选项来显示前num行,也可以使用选项-c num使head输出前num个字节。其它的使用和cat相似。
tail [-option] [file] 是和head对应的显示文件后一部分的命令。选项和head命令一样。
more命令就是前面我们曾经借助它进行分页显示的命令,它也可以直接用来分页显示文本文档。命令格式和前面几个命令一样。在显示完一页后,more会提示用户输入:如果输入空格键或是f,则显示下一页;如果输出n加空格键,则用来显示后面的n 行;回车键用来显示下一行。
这几个命令都是网络管理比较常用的查看日志文件的工具,可以用man命令获得它们更详细的帮助。
还有几个显示二进制文件的命令,例如od、mn和strings,你也可以通过man获得帮助。

在linux中还可以为文件增加链接。例如目录的两个链接“.”和“..”。在目录中,每一对文件名与索引节点号称为一个链接(link)。同一个索引节点可以和多个文件名创建链接。实际上这种硬链接是直接创建了与文件(在这是目录文件)的索引节点(i-node)号相联系的链接。我们也可以为文件创造多个链接,这使用命令:
ln [-option] sourse [target]
如果不使用target参数的话,则在当前目录中是创建一个同名的链接文件;如果用ln产生几个文件的连接,则target必须为一个目录。只有超级用户才能产生目录间的硬链接。
这一个功能非常有用。除了我们可以在主目录方便访问我们经常访问的文件,而且我们可以为重要的文件或目录建立多个链接,提供“防删除”的功能,避免以为删除造成严重后果。这样做的原理是,如果一个文件(或目录)的索引节点有一个以上的链接,删除操作只能破坏其一,索引节点本身的其他链接仍然不受影响。当然,如果对只有一个链接的文件发出删除命令,索引节点、文件数据块与目录的连接都会被释放,文件也真正删除。
上面的链接说的都是硬链接,和索引节点号直接相关的链接。我们知道,每一个文件系统(如一个硬盘分区)都有自己的索引节点数组,因此索引节点号只有在同一个文件系统中才是唯一的,这意味着,固定链接只能用在一个文件系统的内部。
而符号链接(symbolic link,又常被称为软链接)则没有这个限制,它和windows系统中的快捷方式非常相似,它可以用在不同的文件系统之中。因此,在两个文件之间建立链接,如果要求保证可移植性,应尽量使用符号链接。可以使用 ln -s 来产生符号链接。

· 文件、目录的属性

涉及到文件的属性,就不可避免的关联到用户管理,关于这个内容,请先参考专题五中的用户管理部分,再来阅读这一部分。linux下,每一个文件、每一个目录都必须有一个属主,并针对拥有文件的用户自己、用户所在组、其它所有帐号(组)分别设定读、写、执行三种权限。例如,我(假定是usergroup组的username帐户的拥有者)使用如下命令建立一个新的文件
touch mytestfile
然后我们使用ls -l mytestfile这一命令来查看这个文件的权限状态(关于ls命令,可以前面已有错误,可以查阅本站的命令查询),可以得到如下的屏幕输出显示:
-rw-rw-r-- 1 username usergroup 0 Feb 6 21:37 mytestfile
输出分为7个部分,分别表示文件权限属性、硬连接个数、文件所有者帐户、文件所属组、文件大小、文件创建时间、文件名称。
· 使用chown命令修改文件的主人
当你新建立一个文件的时候,文件的所有者当然就是你了。这一事实只有超级用户(比如说root)才可以通过chown命令改变(例如 chown otheruser mytestfile,把mytestfile文件的属主改为otheruser)。普通用户不能把自己的文件“送”给别人,不然你把有特殊目的的程序给了root怎么办?:)
chown命令的用法比较简单。这里我先假设你现在拥有超级用户权限,那么你就可以使用如下命令将一个文件“送给”username用户了:
chown username /home/username/thefileisrootcreate.txt (假定该文件是由root创建的)
修改一个目录的所有者也是类似的:
chown username /home/newboat
当然,如果这个目录还有子目录及文件需要同时送给username,chown也是支持-R参数的:
chown -R username /home/newboat
如果你同时想修改文件/目录所属的组的话,你可以使用以下命令方便的达到目的:
chown -R username.othergroup /home/newboat
这样,不但文件主人得到了修改,文件所属的组也变成了othergroup
· 修改文件的组属性
文件所属组你倒是可以改变,前提是:
1、你的超级用户。
2、你同时属于两个或两个以上的组。
两个条件你至少具备一个,你才能够把文件所属旧组变为新组。使用如下的命令将当前目录下所有html文件所属的组改为httpd:
chgrp httpd *.html
和chown命令一样,chgrp也可以使用-R参数对一个目录内的所有文件和子目录进行递归的修改组属性。
<提示>:你可以使用不带参数的groups命令查看自己属于哪个组。

文件权限的设定是我们这一小节讨论的核心,我们主要介绍chmod命令的两种用法。

· 使用访问字符串设置文件目录权限
每一个文件、目录都针对用户自己、用户所在组、其它所有帐号(组)分别有读、写、执行三种权限及其组合。ls -l查看文件属性的第一个字段所示。总共十位字符“-rw-rw-r--”,第一位是目录区分标志,如果是d的话,表示这是一个目录。第二到四位分别表示文件所有者的读(r:read)、写(w:write)、执行(x:execute)属性,第五到七位是文件所属组的读、写、执行权限,第八到第十位则是其它用户的读、写、执行权限。如果对应的位是相应的字母,就是有这相应权限,否则为“-”,表示没有获得这个许可。象刚才例子中的文件就是自己可读写,本组可读写,其它用户可读,所有的用户(包括自己)都不能执行它。
我们的用u、g、o分别来指代用户(user)、组(group)、其它帐户(other),就可以方便的设置文件和目录的权限了。当然,我们也可以用a来表示所有的这三项。
例如,我们要对所有perl的脚本文件设定权限,对所有用户都可以读和执行,文件所有者还允许写许可,那么我们可以使用如下命令:
chmod a+rx,u+w *.pl
注意:如果要使用多个访问字符串,它们之间要用逗号隔开,各个许可字符串之间不允许有空格。正如上例所示。
如果要修改目录中所有文件和子目录的权限属性,可以使用chmod提供的-R参数来递归修改。例如,下列命令将/www/site1目录及其下面的子目录的权限属性设定为所有者和组可读、写、执行,其它用户不可访问:
chmod -R a+rwx,o-rwd /www/site1
注意,不要轻易使用-R选项,这可能会带来安全隐患。
使用字符串方便了理解,单输入那么多字母还是有点累,如果你对8进制有些概念的话,可以使用下面介绍的方法来做权限设置。

· 使用八进制数设置文件目录权限
我们知道,在ls -l的输出中,文件权限表示为“-rw-rw-r--”,前一位只和是否为目录或连接有关,其它九位正好可以分成三段,每段三位,“rw-”、“rw-”和“r--”,“-”代表无效“0”,其它字符代表有效“1”,那么这个文件的权限就是“110”、“110”、“100”,把这个2进制串转换成对应的8进制数就是6、6、4,也就是说该文件的权限为664(三位八进制数)。我们也可以使用类似这种三位八进制数来设定文件授权,如上边两个例子,就也可以写为:
chmod 755 *.pl
chmod -R 770 /www/site1
是不是很简洁?关键在于你能根据你需要设定的权限正确的选择八进制数(利用八进制数的二进制表示可以非常轻易的做到这一点)。

· 读、写、执行的权限说明
1、所谓写的权限,也就是对文件修改和删除的权限。如果目录的写权限也对你开放了,则可以创建、删除或修改该目录下的任何文件或自目录——即使该文件和子目录并不属于你。
2、对目录有只读许可的用户,不能用cd命令进入该目录;还必须同时有执行许可才可以进入该目录。
3、必须同时拥有读和执行权限才可以使用ls这样的程序列出目录内容清单。
4、只对目录有执行权限的用户,想访问该目录下的文件有读权限的文件,必须知道该文件名才可以访问
 楼主| 发表于 2006-11-29 21:52:36 | 显示全部楼层
二、初学者必看

1、什么是Linux?

??Linux 是一个诞生于网络、成长于网络且成熟于网络的奇特的操作系
统。1991年,芬兰大学生Linus Torvalds萌发了开发一个自由的UNIX操作
系统的想法,当年,Linux 就诞生了,为了不让这个羽毛未丰的操作系统
矢折,Linus将自已的作品Linux通过Internet发布。从此一大批知名的、
不知名的电脑黑客、编程人员加入到开发过程中来,Linux逐渐成长起来。

??Linux一开始是要求所有的源码必须公开,并且任何人均不得从Linux
交易中获利。然而这种纯粹的自由软件的理想对于 Linux的普及和发展是
不利的,于是Linux开始转向GPL,成为GNU阵营中的主要一员。

??现在,Linux凭借优秀的设计,不凡的性能,加上IBM、INTEL、CA、
CORE、ORACLE等国际知名企业的大力支持,市场份额逐步扩大,逐渐成为
主流操作系统之一。

2、从技术上说,Linux有什么优点?

1) 提供了先进的网络支持:内置TCP/IP协议;
2) 真正意义上的多任务、多用户操作系统;
3) 与UNIX系统在源代码级兼容,符合IEEE POSIX标准;
4) 核心能仿真FPU;
5) 支持数十种文件系统格式;
6) 完全运行于保护模式,充分利用了CPU性能;
7) 开放源代码,用户可以自己对系统进行改进;
8) 采用先进的内存管理机制,更加有效地利用物理内存;

3、Linux与WindowsNT谁更好?

??WindowsNT 操作系统是微软公司进军服务器操作系统的利器,设计系
统时在满足服务器需求的前提下,融入了Windows 9x的图形化界面的优势,
使得其易于使用,深受用户喜欢,其市场占有率也因此节节上升。

??然而图形界面的代价,使系统的效率降低了,所以它适合中小企业、
个人用户、对性能要求不严格的场合选用。

??而Linux则适用于强调性能指标,对用户界面要求不大的的应用上。

4、Linux与UNIX有什么不同?

??Linux 也是属于UNIX家族的一员,它有许多特性是与UNIX相同的,它
们之间的最大区别在于以下两点:

1) UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上;
2) UNIX是商业软件,而Linux是自由软件,免费、公开源代码的。

5、安装Linux,对硬件有什么要求?

??Linux对硬件要求很低,可以运行在386以上CPU,8M以上内存的IBM PC
机上。但由于设备厂商的支持力度不够,所以 Linux倒是对很多新设备的
支持不是很好,新设备的驱动程序总是慢一步。

6、安装Linux需要做哪些准备?

1) 收集系统资料:记录下内存大小,CDROM接口类型,SCSI卡型号,网
卡型号,鼠标类型,显卡芯片组、时钟芯片、显存大小等相关信息;
2) 检查CMOS设置,关闭病毒开发,设置其从光驱启动;
3) 如果你的Linux安装盘无法自启动的话还需制作启动盘;
4) 为Linux的安装腾出硬盘空间,最好有1G左右。

7、如何安装Linux?

??每种Linux发行版所提供的安装方法都不大一样,但是一般来说都经
历以下几个阶段:

1) 一些基本设置:如安装语言、键盘;
2) 进行硬盘分区、格式化:一般发行版都提供了图形界面,如果不熟悉
硬盘分区的爱好者最好在行家指导下进行;
3) 选择要安装的软件包:建议初学者全部安装,待以后熟悉了后再重新
定制,以免在学习过程中丢这落那的;
4) 设备配置:如打印机、网卡、显卡等,请根据实际情况选择;
5) 安装LILO:建议装在主引导扇,使用LILO来完成多系统引导;
6) 为Linux的超级用户root设置密码。
大家可以参考每种Linux的相关资料来尝试安装。

8、如何配置linux启动管理器lilo?

??根据需要修改/etc/lilo.conf文件,然后执行/sbin/lilo让设置生效。
下面是一个lilo.conf文件的示例:

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux
image=/boot/vmlinuz-2.2.5-15
label=linux
root=/dev/hda1
initrd=/boot/initrd-2.2.5-15.img
read-only
other=/dev/hda2
label=windows

??其中,timeout是用来设置lilo等待输入的时间,在此表示如果5秒不
选择的话就进入default;default选项用来指定默认启动哪个系统;
image小节用来指定linux的启动信息,包括启动位置,名字--linux;
other小节用来指定其他操作系统的启动信息,包括启动位置、名字。

9、在Linux如何对文件进行操作?

??你可以使用ls -l命令列出目录的详细信息,就相当于DOS的DIR命令。
ls命令的输出如下所示:

total 2
drwxr-xr-x 2 xu user 1024 Mar 13 0:34 sub1
-rw-r----- l xu user 678 Jun 15 1:45 hodo.txt

最左边一列是文件/目录权限,第3列是的属主信息,第4列是属主所在用
户组,第5列是所占空间大小,接下去是日期、时间,最后一列是文件/目
录名。以下是一些常用文件操作命令:

rm:删除文件 more:浏览文件 cp:拷贝文件

10、如何编辑一个文本文件?

??你可以使用vi来编辑一个文件文件,它是在 Unix 世界里最普及的文
字处理工具,几乎所有的UNIX机器上都有这个编辑器。

1) 启动vi:执行"vi 文件名",一启动vi在命令状态,可以输入各种vi
的命令,不能编辑;
2) 存盘:w、存盘退出:wq、不存盘退出:q!;
3) 进入编辑状态:插入:i、新增:a;
4) 退出编辑状态:按ESC键;
5) 进入编辑状态后,编辑起来很像DOS下的edit;
6) 在命令状态下还有一些常用的命令:
x 删除游标所在字元;
dd 删除游标所在的列。

11、安装完Linux后,根目录下一大堆,都是些什么?

/bin:存放最常用命令;
/boot:启动Linux的核心文件;
/dev:设备文件;
/etc:存放各种配置文件;
/home:用户主目录;
/lib:系统最基本的动态链接共享库;
/mnt:一般是空的,用来临时挂载别的文件系统;
/proc:虚拟目录,是内存的映射;
/sbin:系统管理员命令存放目录;
/usr:最大的目录,存许应用程序和文件;
/usr/X11R6:X-Window目录;
usr/src:Linux源代码;
/usr/include:系统头文件;
/usr/lib:存放常用动态链接共享库、静态档案库;
/usr/bin、/usr/sbin:这是对/bin、/sbin的一个补充;

12、如何安装网卡?

??你可以用root登录后运行netconf来安装网卡。输入网卡的设备名、
选择网卡的模块号,IO地址、IRQ中断等信息,然后存盘退出,执行:
/etc/rc.d/init.d/network restart;

??如果你的网卡未能列在可选的网卡模块列表中的话,你就需要下载驱
动程序,然后将其编译成模块。最后用"insmod 模块名"命令完成安装。

13、如何驱动普通声卡?

??在Linux系统中提供了一个十分方便使用的声卡配置工具sndconfig,
如果你的声卡比较大众化,就可以使用它来驱动你的声卡:

1) 用root登录系统,运行/usr/sbin/sndconfig;
2) 从声卡选择列表中选择适合你的声卡,一般的声卡都可以使用Sound
Blaster;
3) 选完后,sndconfig需要你设置声卡的IO地址和IRQ中断号,根据你的
实际情况选择;
4) 设置完成按OK按钮,如果听到Linus说话的声音就大功告成了。

14、Linux下如何安装Modem?

1) 在Windows中查看你的Modem位于什么端口上;
2) 在Linux中通过直接与端口交互来使用Modem,其对应关系如下:
COM1:/dev/cau0 COM2:/dev/cau1
COM3:/dev/cau2 COM4:/dev/cau3
3) 设置Modem的最高速率:
#setserial /dev/cau1 spd.hi (最高速率设为57600bps)
#setserial /dev/cau1 spd.vhi (最高速率设为115200bps)

15、如何通过Modem拔号上网?

1) 执行命令ln /dev/modem /dev/cau1(根据实际情况)
2) 创建一个脚本:touch sw,加入:
/usr/sbin/pppd connect ′/usr/sbin/chat ″ ″ ATDT163 CONNECT ″
″ ogin:username word:password′ /dev/modem 38400 modem defaultrout
将username与password用你的上网帐号和密码代入。
3) 你还可以使用KDE中的kppp工具方便地实现。

16、如何配置X-Window?

??所谓配置X-Window就是根据机器的实际设备选择X-SERVER。可以通过
xf86config或图形化界面的Xconfigure等程序来配置。

1) 运行Xconfigure程序,然后选择合适的显卡类型,如果没有,则需要
下载显卡的驱动;
2) 选择显存大小,和X-SERVER;
3) 选择合适的分辨率、色深组合
4) 存盘退出后,运行startx启动X-Window。

17、有没有通用的显卡驱动方法?

??由于显卡产商支持有限,使得在Linux下驱动显卡一直都是难题。为
了解决这个问题,Linux 2.2.x以上版本提供了一种新的解决方案---使用
frame buffer设备,通过VESA VBE 2.0标准,利用显卡SVGA特性,配合
XFree86的XF86_FBDev,驱动你的显卡。这的确可以帮你个忙。

1)确认你有XF86_FBDev文件,如果没有就从ftp.xfree86.org下载;
2)执行"mknod /dev/fb0 c 29 0"建立frame buffer设备;
3)修改/etc/lilo.conf文件,加入:
image = /boot/vmlinuz-2.2.5-fb (新编译的内核)
label = linuxfb (启动标号,可自定)
root = /dev/hda2 (参照lilo.conf其他部分)
vga = 0x314 (显示模式,参照下表)

附:显示模式表
640x480 800x600 1024x768 1280x1024
256色 0x301 0x303 0x305 0x307
32k色 0x310 0x313 0x316 0x319
64k色 0x311 0x314 0x317 0x31A
16M色 0x312 0x315 0x318 0x31B

4) 执行/sbin/lilo,使配置生效,然后重启系统,以新的内核启动系统。
当然,如果你的内核已经支持了,就无需做这个修改,直接加上vga=那一
行就行了。
5) 接着进行frame buffer Server的配置:参照/etc/X11/XF86Config中
vga的配置,加入一个screen小节,如下所示:
Section "Screen"
Driver "fbdev"
Device "My Video Card"
Monitor "MAG XJ500T"
Subsection "Display"
Depth 16 (色深,须与前面所选显示模式的色深一致)
Modes "default"
ViewPort 0 0
EndSubsectionEndSection
6) 将X指向XF6_FBDev:
cd /etc/X11
mv X X.bat
ln -snf /usr/X11R6/bin/XF86_FBDev X

18、如何通过ISDN上网?

??ISDN的应用越来越普及,它速度快、价格便宜,深受网民的喜欢,那
么在Linux下如何通过ISDN上网呢?

1) 确认你的Linux内核已经包含了对ISDN的支持模块;
2) 驱动ISDN卡:

对于非即插即用的Teles 16.3 ISDN卡可以使用命令:
#modeprobe hisax io=0x180 irq=10 type=3 protocol=2 id=isdn0

对于即插即用型,则使用:
#pnpdump〉/etc/isdn.conf
#isapnp/etc/isdn.conf
#modprobe hisax irq=10 io=0x680 type=14 protocol=2 id=isdn0

3) 安装Isdn4Linux,再执行scripts目录下的"makedev.sh"脚本程序,
加入ISDN设备;
4) 执行echo 1〉/proc/sys/net/ipv4/ip_dynaddr命令让其支持动态IP;
5) 然后根据ppp的脚本再写一个用ISDN的脚本就行了。

19、如何在Linux下使用光驱?

1)创建一个目录,用来挂上光盘目录树:

mkdir /mnt/cdrom

当然目录名可以根据你自己的习惯命名;

2)插入光盘,执行"mount -t iso9660 /dev/hdc /mnt/floppy"命令;注
意,如果你的光驱接在第一硬盘线的从盘上,需将/dev/hdc改为/dev/hdb;

3)然后你就可以通过访问/mnt/cdrom来实现对光盘访问;

4)当你不使用时,执行"umount /mnt/cdrom",再取出光盘。
 楼主| 发表于 2006-11-29 21:52:52 | 显示全部楼层
三、Linux常见紧急情况处理方法

使用急救盘组进行维护

急救盘组(也称为boot/root盘组),是系统管理员必不可少的工具。用它可以独立地启动和运行一
个完整的Linux系统。实际上,急救盘组中的第2张盘上就有一个完整的Linux系统,包括root文件系
统;而第1张盘则存放了可启动的内核。

使用急救盘组维护系统很简单。只需用这两张盘启动系统后,进入急救模式,这时使用的是root账户。
为了能访问硬盘上的文件?枰?止ぐ沧坝才涛募?低场@?纾?孟旅娴拿?羁稍?mnt目录中安装
/dev/hda2盘上的ext2fs类型的Linux文件系统:

# monut -t ext2/dev/hda2/mnt

注:现在根目录是急救盘上的根目录。为了访问硬盘文件系统中的文件,必须先把它安装到某个目录
下。这样,如果将硬盘上文件系统安装在/mmt目录下,则硬盘上原来的/etc/passwd文件的路径就是
/mnt/etc/passwd。

2、文件系统被破坏时的处理方法

当文件系统被破坏时,如果使用的是ext2fs类型的文件系统,就可从软盘运e2fsck命令来修正文件系
统中被损坏的数据。对于其他类型的文件系统,可以使用相应的fsck命令。

当从软盘上检查文件系统时,最好不要mount安装。

注:文件系统被破坏的常见原因是超级块被损坏,超级块是文件系统的“头部”。它包含文件系统的
状态、尺寸和空闲磁盘块等信息。如果损坏了一个文件系统的超级块(例如不小心直接将数据写到了
文件系统的超级块分区中),那么系统可能会完全不识别该文件系统,这样也就不能安装它了,即使
采用e2fsck命令也不能处理这个问题。

不过,ext2fs类型的文件系统将超级块的内容进行了备份,并存放于驱动程序的块组(block group)
边界。可以用如下的命令通知e2fsck使用超级块的备份

# e2fsck -b 8193

是指文件系统所在的分区,-b 8193选项用于显示使用存放在文件系统中的8193块的超级块的备份数据。

3、恢复丢失的文件

如果不小心删除了重要的文件,那么没有办法直接恢复。但是还可以将相应的文件从急救盘复制到硬盘
上。例如,如果删除了文件/bin/login,此时系统无法正常进到登录界面,可以用急救盘组启动系统,
将硬盘文件系统安装到/mnt目录下,然后使用下述命令:   

#cp -a /bin/login /mnt/bin

“-a”选项用于告诉cp在拷贝时保持文件的访问权限。 当然如果被删除的基本文件不在“急救盘组”中,
也就不能用这种方法了。如果以前做过系统备份的话,那么也可以用以前的备份来恢复。

4.函数库破坏时的处理方法

如果不小心将系统函数库文件破坏了,或者破坏了/lib目录下符号链接,那么将导致依赖这些库的命令无
法执行。最简单的解决办法是用急救盘组启动系统,在/mnt目录中安装硬盘文件系统,然后修复/mnt/lib
目录下的库。

5、无法用root账号登录系统

由于系统管理员的疏忽,或者由于系统受到黑客的入侵,系统管理员可能无法用root帐号登录系统。   

对于第1种情况,可能是系统管理员忘记了root密码,用急救盘组就可以解决问题。

对于第2种情况,由于很可能是密码被黑客修改了,因此系统管理员无法进入系统,也就是说,Linux系统
完全失去了控制,因此应尽快重新获得系统的控制权。在取得 root权限后,还应检查系统被破坏的情况,
以防被黑客再次入侵。

需要做的最主要的工作就是重新设置root的密码,获得Linux操作系统的控制权。首先用急救盘组启动系统,
然后将硬盘的文件系统安装到/mnt目录下,编辑/mnt/etc/passwd文件,将其对应于root账户的一行加密口
令域置空,如下所示:

root::0:0:root:/root:bin/bash

注:如果系统使用 shadow工具,就需要对文件/etc/shadow进行上述的操作,使root登录系统不需要口令。

这样,root账户就没有口令了。当重新从硬盘启动Linux系统时,就可以用root账户登录(系统不会要求输
入密码)。进入系统后,再用命令passwd设置新的口令。

6、Linux系统不能启动

一般来说,如果系统管理员不能正常进入系统,就需要考虑使用急救盘组进入急救模式排除系统的故障。但
在没有制作急救盘组的情况下,Linux系统不能启动,该怎么办?

在个人计算机使用 Linux系统时,通常都是Linux和MS Windows 9x或MS Windows NT并存的。

由于重新安装其他的操作系统,经常会导致原有的Linux不能启动。这主要是因为,这些操作系统默认为计算
机中没有其他的操作系统,因而改写了硬盘的主引导记录(MBR),冲掉了Linux的LILO系统引导程序。

如果有急救盘组,那么很简单,用第一张启动盘启动硬盘的Linux系统,重新运行LILO命令,就可以将LILO系
统引导程序写回硬盘的主引导记录。再次开机即可。

如果没有系统启动盘,怎样恢复硬盘上的Linux呢?在这种情况下,如果知道Linux在硬盘上的确切安装分区,
且有loadlin程序,就可以重新返回Linux。loadlin程序是DOS下的程序,运行它可以从DOS下直接启动Linux,
快速进入Linux环境。在 Red Hat Linux 6.0光盘的 dosutil/目录下就有这个程序。除此之外,还需要一个
Linux启动内核的映像文件。在 Red H

at linux 6.0光盘的 images/目录下有这个文件——vmlinuz。

例如,在Windows 98系统下面,进入DOS的单用户模式,然后运行下述的loadlin命令,即可重新进入Linux系统:

loadlin vmlinuz root=/dev/hda8

/dev/hda8是Linux的root文件系统所在的硬盘分区位置。命令执行后,就引导Linux系统。用root登录后,运行
LILO命令,则重新将LILO装入MBR,回到以前多操作系统并存使用的状态。
您需要登录后才可以回帖 登录 | 审核注册

本版积分规则

QQ|手机版|小黑屋|林海谐缘论坛 ( 豫ICP备07015145号 ) |
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论 | 管理员:linker(QQ:80555546) 群:3067918

GMT+8, 2024-11-21 22:52 , Processed in 0.032248 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表