1.Linux进入与退出系统
进入Linux系统:
必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:
1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情。
2.普通用户--这个帐号供普通用户使用,可以进行有限的操作。
一般的Linux使用者均为普通用户,而系统管理员一般使用超级用户帐号完成一些系统管理的工作。如果只需要完成一些由普通帐号就能完成的任务,建议不要使用超级用户帐号,以免无意中破坏系统。影响系统的正常运行。
用户登录分两步:第一步,输入用户的登录名,系统根据该登录名识别用户;第二步,输入用户的口令,该口令是用户自己设置的一个字符串,对其他用户是保密的,是在登录时系统用来辨别真假用户的关键字。
当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示:
[root@loclhost /root] #
这时就可以对系统做各种操作了。注意超级用户的提示符是“#”,其他用户的提示符是“$”。
修改口令
为了更好的保护用户帐号的安全,Linux允许用户随时修改自己的口令,修改口令的命令是passwd,它将提示用户输入旧口令和新口令,之后还要求用户再次确认新口令,以避免用户无意中按错键。如果用户忘记了口令,可以向系统管理员申请为自己重新设置一个。
虚拟控制台
Linux是一个真正的多用户操作系统,它可以同时接受多个用户登录。Linux还允许一个用户进行多次登录,这是因为Linux和UNIX一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台进行多次登录。虚拟控制台的选择可以通过按下Alt键和一个功能键来实现,通常使用F1-F6例如,用户登录后,按一下Alt-F2键,用户又可以看到"login:"提示符,说明用户看到了第二个虚拟控制台。然后只需按Alt-F1键,就可以回到第一个虚拟控制台。 一个新安装的Linux系统默认允许用户使用Alt-F1到Alt-F6键来访问前六个虚拟控制台。虚拟控制台可使用户同时在多个控制台上工作,真正体现Linux系统多用户的特性。用户可以在某一虚拟控制台上进行的工作尚未结束时,切换到另一虚拟控制台开始另一项工作。
退出系统
不论是超级用户,还是普通用户,需要退出系统时,在shell提示符下,键入exit命令即可。
Linux文件的复制、删除和移动命令
cp命令
该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。
语法: cp [选项] 源文件或目录 目标文件或目录
说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
该命令的各选项含义如下:
- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
- d 拷贝时保留链接。
- f 删除已经存在的目标文件而不提示。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
- l 不作拷贝,只是链接文件。
需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
mv命令
用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同MSDOS下的ren和move的组合。
语法:mv [选项] 源文件或目录 目标文件或目录
说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
命令中各选项的含义为:
- I 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
- f 禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。
如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户用mv命令破坏另一个文件,使用mv命令移动文件时,最好使用i选项。
rm命令
用户可以用rm命令删除不需要的文件。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断开了链接,原文件保持不变。
rm命令的一般形式为:
rm [选项] 文件…
如果没有使用- r选项,则rm不会删除目录。
该命令的各选项含义如下:
- f 忽略不存在的文件,从不给出提示。
- r 指示rm将参数中列出的全部目录和子目录均递归地删除。
- i 进行交互式删除。
使用rm命令要小心。因为一旦文件被删除,它是不能被恢复的。了防止这种情况的发生,可以使用i选项来逐个确认要删除的文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件则不会删除。
Linux目录的创建与删除命令
mkdir命令
功能:创建一个目录(类似MSDOS下的md命令)。
语法:mkdir [选项] dir-name
说明:该命令创建由dir-name命名的目录。要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或 文件名称。
命令中各选项的含义为:
- m 对新建目录设置存取权限。也可以用chmod命令设置。
- p 可以是一个路径名称。此时若路径中的某些目录尚不存在, 加上此选项后, 系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
rmdir 命令
功能:删除空目录。
语法:rmdir [选项] dir-name
说明:dir-name表示目录名。该命令从一个目录中删除一个或多个子目录项。需要 特别注意的是,一个目录被删除之前必须是空的。rm - r dir命令可代替 rmdir,但是有危险性。删除某目录时也必须具有对父目录的写权限。
命令中各选项的含义为:
- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应 的信息。
cd 命令
功能:改变工作目录。
语法:cd [directory]
说明:该命令将当前目录改变至directory所指定的目录。若没有指定directory, 则回到用户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读 权限。
该命令可以使用通配符(通配符含义请参见第十章)。
pwd 命令
在Linux层次目录结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。然而,没有提示符来告知用 户目前处于哪一个目录中。要想知道当前所处的目录,可以使用pwd命令,该命令显示整个路径名。
语法:pwd
说明:此命令显示出当前工作目录的绝对路径。
ls 命令
ls是英文单词list的简写,其功能为列出目录的内容。这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。该命令类似于DOS下的dir命令。
语法:ls [选项] [目录或是文件]
对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls将输出 其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。
命令中各选项的含义如下:
- a 显示指定目录下所有子目录与文件,包括隐藏文件。
- A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和 “..”。
- b 对文件名中的不可显示字符用八进制逃逸字符显示。
- c 按文件的修改时间排序。
- C 分成多列显示各项。
- d 如果参数是目录,只显示其名称而不显示其下的各文件。往往与l选项一起使 用,以得到目录的详细信息。
- f 不排序。该选项将使lts选项失效,并使aU选项有效。
- F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记 “@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。
- i 在输出的第一列显示文件的i节点号。
- l 以长格式来显示文件的详细信息。这个选项最常用。
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小 建立或最近修改的时间 名字
对于符号链接文件,显示的文件名之后有“—〉”和引用文件路径名。
对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。
目录中的总块数显示在长格式列表的开头,其中包含间接块。
- L 若指定的名称为一个符号链接文件,则显示链接所指向的文件。
- m 输出按字符流格式,文件跨页显示,以逗号分开。
- n 输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和 GID号来表示,而不是实际的名称。
- o 与l选项相同,只是不显示拥有者信息。
- p 在目录后面加一个“/”。
- q 将文件名中的不可显示字符用“?”代替。
- r 按字母逆序或最早优先的顺序显示输出结果。
- R 递归式地显示指定目录的各个子目录中的文件。
- s 给出每个目录项所用的块数,包括间接块。
- t 显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则 按字典顺序。修改时间取决于是否使用了c或u选顶。缺省的时间标记是最后一次修 改时间。
- u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。即将-t的时间 标记修改为最后一次访问的时间。
- x 按行显示出各排序项的信息。
用ls - l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:
- 普通文件
d 目录
l 符号链接
b 块设备文件
c 字符设备文件
后面的9个字符表示文件的访问权限,分为3组,每组3位。
第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字 符分别表示对文件的读、写和执行权限。
各权限如下所示:
r 读
w 写
x 执行。对于目录,表示进入权限。
s 当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组 ID)。
t 设置标志位(留在内存,不被换出)。如果该文件是目录,在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,在该文件执行 后,指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。
Linux文本处理命令
sort命令
sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。实际上,sort命令可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。
Sort命令将逐行对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行的下一字符,如果还相同,将继续进行比较。
语法:
sort [选项] 文件
说明:sort命令对指定文件中所有的行进行排序,并将结果显示在标准输出上。如不指定输入文件或使用“- ”,则表示排序内容来自标准输入。
sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。排序关键字定义了用来排序的最小的字符序列。缺省情况下以整行为关键字按ASCII字符顺序进行排序。
改变缺省设置的选项主要有:
- m 若给定文件已排好序,合并文件。
- c 检查给定文件是否已排好序,如果它们没有都排好序,则打印一个出错信息,并以状态值1退出。
- u 对排序后认为相同的行只留其中一行。
- o 输出文件 将排序输出写到输出文件中而不是标准输出,如果输出文件是输入文件之一,sort先将该文件的内容写入一个临时文件,然后再排序和写输出结果。
改变缺省排序规则的选项主要有:
- d 按字典顺序排序,比较时仅字母、数字、空格和制表符有意义。
- f 将小写字母与大写字母同等对待。
- I 忽略非打印字符。
- M 作为月份比较:“JAN”<“FEB”
- r 按逆序输出排序结果。
+posl - pos2 指定一个或几个字段作为排序关键字,字段位置从posl开始,到pos2为止(包括posl,不包括pos2)。如不指定pos2,则关键字为从posl到行尾。字段和字符的位置从0开始。
- b 在每行中寻找排序关键字时忽略前导的空白(空格和制表符)。
- t separator 指定字符separator作为字段分隔符。
uniq命令
文件经过处理后在它的输出文件中可能会出现重复的行。例如,使用cat命令将两个文件合并后,再使用sort命令进行排序,就可能出现重复行。这时可以使用uniq命令将这些重复行从输出文件中删除,只留下每条记录的唯一样本。
语法:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。
该命令各选项含义如下:
- c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。
- d 只显示重复行。
- u 只显示文件中不重复的各行。
- n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。
+n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。
- f n 与- n相同,这里n是字段数。
- s n 与+n相同,这里n是字符数。
Linux备份与压缩命令
tar命令
tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。
语法:tar [主选项+辅选项] 文件或者目录
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
t 列出档案文件的内容,查看已经备份了哪些文件。
u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
x 从档案文件中释放文件。
辅助选项:
b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。
f 使用档案文件或设备,这个选项通常是必选的。
k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。
m 在还原文件时,把所有文件的修改时间设定为现在。
M 创建多卷的档案文件,以便在几个磁盘中存放。
v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
w 每一步都要求确认。
z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
gzip命令
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
语法:gzip [选项] 压缩(解压缩)的文件名
各选项的含义:
-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件,显示下列字段:
压缩文件的大小
未压缩文件的大小
压缩比
未压缩文件的名字
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
unzip命令
用MS Windows下的压缩软件winzip压缩的文件如何在Linux系统下展开呢?可以用unzip命令,该命令用于解扩展名为.zip的压缩文件。
语法:unzip [选项] 压缩文件名.zip
各选项的含义分别为:
-x 文件列表 解压缩文件,但不包括指定的file文件。
-v 查看压缩文件目录,但不解压。
-t 测试文件有无损坏,但不解压。
-d 目录 把压缩文件解到指定目录下。
-z 只显示压缩文件的注解。
-n 不覆盖已经存在的文件。
-o 覆盖已存在的文件且不要求用户确认。
-j 不重建文档的目录结构,把所有文件解压到同一目录下。
在Linux环境下运行DOS命令
Linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读、写文件和目录。它们对DOS和Linux环境之间交换文件非常有用。它们是不具备共同的文件系统格式的系统之间交换文件的有力手段。对于一个MSDOS的软盘,只要把软盘放在软驱中,就可以利用mtools提供的命令来访问软盘上的文件。
mtools的主要命令如下:
mcd 目录名 改变MSDOS目录;
mcopy 源文件 目标文件 在MSDOS和Unix之间复制文件;
mdel 文件名 删除MSDOS文件;
mdir 目录名 显示MSDOS目录;
mformat 驱动器号 在低级格式化的软盘上创建MSDOS文件系统;
rnlabel 驱动器号 产生MSDOS卷标;
mmd 目录名 建立MSDOS目录;
mrd 目录名 删除MSDOS目录;
mren 源文件 目标文件 重新命名已存在的MSDOS文件;
mtype 文件名 显示MSDOS文件的内容。
提示:这些命令和对应的MSDOS命令非常相似。
Linux改变文件或目录的访问权限命令
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如:
$ ls -l sobsrc. tgz
-rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz
横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。
例如:
- rw- r-- r--
普通文件 文件主 组用户 其他用户
是文件sobsrc.tgz 的访问权限,表示sobsrc.tgz是一个普通文件;sobsrc.tgz的属主有读写权限;与sobsrc.tgz属主同组的用户只有读权限;其他用户也只有读权限。
确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。
下面分别对这些命令加以介绍。
chmod 命令
chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
1. 文字设定法
chmod [who] [+ | - | =] [mode] 文件名?
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example
使同组和其他用户对文件example 有读权限。
2. 数字设定法
我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。
数字设定法的一般形式为:
chmod [mode] 文件名?
chgrp命令
功能:改变文件或目录所属的组。
语法:chgrp [选项] group filename?
该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
该命令的各选项含义为:
- R 递归式地改变指定目录及其下的所有子目录和文件的属组。
chown 命令
功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。
语法:chown [选项] 用户或组 文件
说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。
该命令的各选项含义如下:
- R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
- v 显示chown命令所做的工作。
Linux与用户有关的命令
passwd命令
出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令。因此使用useradd命令增加时,还需使用passwd命令为每一位新增加的用户设置口令;用户以后还可以随时用passwd命令改变自己的口令。
该命令的一般格式为: passwd [用户名] 其中用户名为需要修改口令的用户名。只有超级用户可以使用“passwd 用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令。
该命令的使用方法如下:
输入
passwd< Enter>;
在(current) UNIX passwd:下输入当前的口令
在new password:提示下输入新的口令(在屏幕上看不到这个口令):
系统提示再次输入这个新口令。
输入正确后,这个新口令被加密并放入/etc/shdow文件。选取一个不易被破译的口令是很重要的。
选取口令应遵守如下规则:
口令应该至少有六位(最好是八位)字符;
口令应该是大小写字母、标点符号和数字混杂的。
超级用户修改其他用户(xxq)的口令的过程如下,
# passwd root
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully
#
su命令
这个命令非常重要。它可以让一个普通用户拥有超级用户或其他用户的权限,也可以让超级用户以普通用户的身份做一些事情。普通用户使用这个命令时必须有超级用户或其他用户的口令。如要离开当前用户的身份,可以打exit。
该命令的一般形式为: su [选项] [? ] [使用者帐号]
说明:若没有指定使用者帐号,则系统预设值为超级用户root。 该命令中各选项的含义分别为:
? c 执行一个命令后就结束。
? 加了这个减号的目的是使环境变量和欲转换的用户相同。
? m 保留环境变量不变。
password: 【输入超级用户的密码】
Linux系统管理命令
wall命令
这个命令的功能是对全部已登录的用户发送信息,用户可以先把要发送的信息写好存入一个文件中,然后输入:
# wall < 文件名
这样就能对所有的用户发送信息了。
在上面的例子中符号“<”表示输入重定向,有关它的含义和用法请参阅第十章的有关内容。 例如:
# wall ‘Thank you!’
Broadcast message from root (tty1) Fri Nov 26 14:15:07 1999…
Thank you!
#
执行以上命令后,用户的屏幕上显示出“Thank you!”信息后,并不出现系统提示符$(#),再次按回车键后,屏幕出现系统提示符。
write命令
write命令的功能是向系统中某一个用户发送信息。 该命令的一般格式为:
write 用户帐号 [终端名称]
例如: $ write Guest hello
此时系统进入发送信息状态,用户可以输入要发送的信息,输入完毕,希望退出发送状态时,按组合键< Ctrl+c>即可。
mesg指令
mesg命令设定是否允许其他用户用write命令给自己发送信息。如果允许别人给自己发送信息,输入命令:
# mesg y
否则,输入:
# mesg n
对于超级用户,系统的默认值为 n;而对于一般用户系统的默认值为y。 如果mesg后不带任何参数,则显示当前的状态是y还是n.。
sync命令
sync命令是在关闭Linux系统时使用的。 用户需要注意的是,不能用简单的关闭电源的方法关闭系统,因为Linux象其他Unix系统一样,在内存中缓存了许多数据,在关闭系统时需要进行内存数据与硬盘数据的同步校验,保证硬盘数据在关闭系统时是最新的,只有这样才能确保数据不会丢失。一般正常的关闭系统的过程是自动进行这些工作的,在系统运行过程中也会定时做这些工作,不需要用户干预。 sync命令是强制把内存中的数据写回硬盘,以免数据的丢失。用户可以在需要的时候使用此命令。该命令的一般格式为:
sync
shutdown命令
shutdown 命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟;时间段由“+”和分钟数表示。系统执行该命令后,会自动进行数据同步的工作。
该命令的一般格式为: shutdown [选项] [时间] [警告信息] 命令中各选项的含义为:
- k 并不真正关机,而只是发出警告信息给所有用户。
- r 关机后立即重新启动。
- h 关机后不重新启动。
- f 快速关机,重启动时跳过fsck。
- n 快速关机,不经过init程序。
- c 取消一个已经运行的shutdown。
需要特别说明的是,该命令只能由超级用户使用。
free命令
free命令的功能是查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。
该命令的一般格式为: free [-b | -k | -m] 命令中各选项的含义如下:
-b 以字节为单位显示。
-k 以K字节为单位显示。
-m 以兆字节为单位显示。
uptime命令
uptime命令显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运行了多长时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
该命令的一般格式为: uptime
Linux磁盘管理
df命令
功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法:df [选项]
说明:df命令可显示所有文件系统对i节点和磁盘块的使用情况。
该命令各个选项的含义如下:
-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
-k 以k字节为单位显示。
-i 显示i节点信息,而不是磁盘块。
-t 显示各指定类型的文件系统的磁盘空间使用情况。
-x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
-T 显示文件系统类型。
du命令
du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况。
功能:统计目录(或文件)所占磁盘空间的大小。
语法:du [选项] [Names…]
说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。
该命令的各个选项含义如下:
-s 对每个Names参数只给出占用的数据块总数。
-a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b 以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。
-k 以1024字节为单位列出磁盘空间使用情况。
-c 最后再加上一个总计(系统缺省设置)。
-l 计算所有的文件大小,对硬链接文件,则计算多次。
-x 跳过在不同文件系统上的目录不予统计。
dd命令
功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。
语法:dd [选项]
if =输入文件(或设备名称)。
of =输出文件(或设备名称)。
ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。
bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。
cbs = byte 一次转换bytes字节。
count=blocks 只拷贝输入的blocks块。
conv = ASCII 把EBCDIC码转换为ASCIl码。
conv = ebcdic 把ASCIl码转换为EBCDIC码。
conv = ibm 把ASCIl码转换为alternate EBCDIC码。
conv = block 把变动位转换成固定字符。
conv = ublock 把固定位转换成变动位。
conv = ucase 把字母由小写转换为大写。
conv = lcase 把字母由大写转换为小写。
conv = notrunc 不截短输出文件。
conv = swab 交换每一对输入字节。
conv = noerror 出错时不停止处理。
conv = sync 把每个输入记录的大小都调到ibs的大小(用NUL填充)。
fdformat 命令
软盘是用户常用的存储介质之一。软盘在使用之前必须先作格式化操作,然后可以用tar、dd、cpio等命令存储数据,也可以在软盘上建立可安装的文件系统。
功能:低级格式化软盘
语法:format [-n] device
说明:该命令的作用是对软盘进行格式化。
-n 软盘格式化后不作检验。
device 指定要进行格式化的设备,通常是下述设备之一:
/dev/fd0d360
/dev/fd0h1200
/dev/fd0D360
/dev/fd0H360
/dev/fd0D720
/dev/fd0H720
/dev/fd0h360
/dev/fd0h720
/dev/fd0H1440
Linux其它命令
echo命令
echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
该命令的一般格式为: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串可以加引号,也可以不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
cal命令
cal命令的功能是显示某年某月的日历。
该命令的一般格式为: cal [选项] [月 [年]] 命令中各选项的含义为:
- j 显示出给定月中的每一天是一年中的第几天(从1月1日算起)。
- y 显示出整年的日历。
date命令
date命令的功能是显示和设置系统日期和时间。
该命令的一般格式为: date [选项] 显示时间格式(以+开头,后面接格式)
date 设置时间格式
命令中各选项的含义分别为:
-d datestr, --date datestr 显示由datestr描述的日期
-s datestr, --set datestr 设置datestr 描述的日期
-u, --universal 显示或设置通用时间
时间域
% H 小时(00..23)
% I 小时(01..12)
% k 小时(0..23)
% l 小时(1..12)
% M 分(00..59)
% p 显示出AM或PM
% r 时间(hh:mm:ss AM或PM),12小时
% s 从1970年1月1日00:00:00到目前经历的秒数
% S 秒(00..59)
% T 时间(24小时制)(hh:mm:ss)
% X 显示时间的格式(%H:%M:%S)
% Z 时区 日期域
% a 星期几的简称( Sun..Sat)
% A 星期几的全称( Sunday..Saturday)
% b 月的简称(Jan..Dec)
% B 月的全称(January..December)
% c 日期和时间( Mon Nov 8 14:12:46 CST 1999)
% d 一个月的第几天(01..31)
% D 日期(mm/dd/yy)
% h 和%b选项相同
% j 一年的第几天(001..366)
% m 月(01..12)
% w 一个星期的第几天(0代表星期天)
% W 一年的第几个星期(00..53,星期一为第一天)
% x 显示日期的格式(mm/dd/yy)
% y 年的最后两个数字( 1999则是99)
% Y 年(例如:1970,1996等)
注意:只有超级用户才有权限使用date命令设置时间,一般用户只能使用date命令显示时间。
clear命令
clear命令的功能是清除屏幕上的信息,它类似于DOS中的 cls命令。清屏后,提示符移动到屏幕左上角。
搜索引擎给我无穷资料,协议代码使我无限欢乐!技术成就梦想,执着铸造成功,追梦路上狂奔中!
Linux的常用网络命令
计算机网络的主要优点是能够实现资源和信息的共享,并且用户可以远程访问信息。 Linux提供了一组强有力的网络命令来为用户服务,这些工具能够帮助用户登录到远程计算机上、传输文件和执行远程命令等。介绍下列几个常用的有关网络操作的命令:
ftp 传输文件
telnet 登录到远程计算机上
r - 使用各种远程命令
netstat 查看网络的状况
nslookup 查询域名和IP地址的对应
finger 查询某个使用者的信息
ping 查询某个机器是否在工作
使用ftp命令进行远程文件传输
ftp命令是标准的文件传输协议的用户接口。ftp是在TCP/IP网络上的计算机之间传输文件的简单有效的方法。它允许用户传输ASCII文件和二进制文件。 在ftp会话过程中,用户可以通过使用ftp客户程序连接到另一台计算机上。从此,用户可以在目录中上下移动、列出目录内容、把文件从远程机拷贝到本地机上、把文件从本地机传输到远程系统中。
需要注意的是,如果用户没有那个文件的存取权限,就不能从远程系统中获得文件或向远程系统传输文件。 为了使用ftp来传输文件,用户必须知道远程计算机上的合法用户名和口令。这个用户名/口令的组合用来确认ftp 会话,并用来确定用户对要传输的文件可以进行什么样的访问。另外,用户显然需要知道对其进行ftp 会话的计算机的名字或IP地址。
Ftp命令的功能是在本地机和远程机之间传送文件。该命令的一般格式如下:
$ ftp 主机名/IP
其中“主机名/IP”是所要连接的远程机的主机名或IP地址。在命令行中,主机名属于选项,如果指定主机名,ftp将试图与远程机的ftp服务程序进行连接;如果没有指定主机名,ftp将给出提示符,等待用户输入命令: $ ftp ftp > 此时在ftp>提示符后面输入open命令加主机名或IP地址,将试图连接指定的主机。 不管使用哪一种方法,如果连接成功,需要在远程机上登录。用户如果在远程机上有帐号,就可以通过ftp使用这一帐号并需要提供口令。
在远程机上的用户帐号的读写权限决定该用户在远程机上能下载什么文件和将上载文件放到哪个目录中。 如果没有远程机的专用登录帐号,许多ftp站点设有可以使用的特殊帐号。这个帐号的登录名为anonymous(也称为匿名ftp),当使用这一帐号时,要求输入email地址作为口令。 如果远程系统提供匿名ftp服务,用户使用这项服务可以登录到特殊的,供公开使用的目录。
一般专gate提供两个目录:pub目录和incoming目录。pub目录包含该站点供公众使用的所有文件,incoming目录存放上载到该站点的文件。一旦用户使用ftp在远程站点上登录成功,将得到“ftp>”提示符。现在可以自由使用ftp提供的命令,可以用 help命令取得可供使用的命令清单,也可以在 help命令后面指定具体的命令名称,获得这条命令的说明。
最常用的命令有:
ls 列出远程机的当前目录
cd 在远程机上改变工作目录
lcd 在本地机上改变工作目录
ascii 设置文件传输方式为ASCII模式
binary 设置文件传输方式为二进制模式
close终止当前的ftp会话
hash 每次传输完数据缓冲区中的数据后就显示一个#号
get(mget) 从远程机传送指定文件到本地机
put(mput) 从本地机传送指定文件到远程机
open 连接远程ftp站点
quit断开与远程机的连接并退出ftp
? 显示本地帮助信息
! 转到Shell中
下面简单将ftp常用命令作一简介。
启动ftp会话 open命令用于打开一个与远程主机的会话。该命令的一般格式是:
open 主机名/IP 如果在ftp 会话期间要与一个以上的站点连接,通常只用不带参数的ftp命令。如果在会话期间只想与一台计算机连接,那么在命令行上指定远程主机名或IP地址作为ftp命令的参数。
终止ftp会话 close、disconnect、quit和bye命令用于终止与远程机的会话。close和disronnect命令关闭与远程机的连接,但是使用户留在本地计算机的ftp程序中。quit和bye命令都关闭用户与远程机的连接,然后退出用户机上的ftp 程序。
改变目录 “cd [目录]”命令用于在ftp会话期间改变远程机上的目录,lcd命令改变本地目录,使用户能指定查找或放置本地文件的位置。远程目录列表 ls命令列出远程目录的内容,就像使用一个交互shell中的ls命令一样。
ls命令的一般格式是:ls [目录] [本地文件] 如果指定了目录作为参数,那么ls就列出该目录的内容。如果给出一个本地文件的名字,那么这个目录列表被放入本地机上您指定的这个文件中。
从远程系统获取文件 get和mget命令用于从远程机上获取文件。get命令的一般格式为:
get 文件名 您还可以给出本地文件名,这个文件名是这个要获取的文件在您的本地机上创建时的文件名。如果您不给出一个本地文件名,那么就使用远程文件原来的名字。mget命令一次获取多个远程文件。
mget命令的一般格式为:mget 文件名列表 使用用空格分隔的或带通配符的文件名列表来指定要获取的文件,对其中的每个文件都要求用户确认是否传送。
向远程系统发送文件 put和mput命令用于向远程机发送文件。
Put命令的一般格式为:put 文件名 mput命令一次发送多个本地文件,
mput命令的一般格式为:mput 文件名列表 使用用空格分隔的或带通配符的文件名列表来指定要发送的文件。对其中的每个文件都要求用户确认是否发送。
改变文件传输模式:默认情况下,ftp按ASCII模式传输文件,用户也可以指定其他模式。
ascii和brinary命令的功能是设置传输的模式。用ASCII模式传输文件对纯文本是非常好的,但为避免对二进制文件的破坏,用户可以以二进制模式传输文件。
检查传输状态:传输大型文件时,可能会发现让ftp提供关于传输情况的反馈信息是非常有用的。hash命令使ftp在每次传输完数据缓冲区中的数据后,就在屏幕上打印一个#字符。本命令在发送和接收文件时都可以使用。
ftp中的本地命令 当您使用ftp时,字符“!”用于向本地机上的命令shell传送一个命令。如果用户处在ftp会话中,需要shell做某些事,就很有用。例如用户要建立一个目录来保存接收到的文件。如果输入!mkdir new_dir,那么Linux就在用户当前的本地目录中创建一个名为new_dir 的目录。
从远程机grunthos下载二进制数据文件的典型对话过程如下:
$ ftp grunthos Connected to grunthos 220 grunthos ftp server Name (grunthos:pc): anonymous 33l Guest login ok, send your complete e-mail address as password. Password: 230 Guest 1ogin ok, access restrictions apply. Remote system type is UNIX. ftp > cd pub 250 CWD command successful. ftp > ls 200 PORT command successful. l50 opening ASCII mode data connection for /bin/1s. total ll4 rog1 rog2 226 Transfer comp1ete . ftp > binary 200 type set to I. ftp > hash Hash mark printing on (1024 bytes/hash mark). ftp > get rog1 200 PORT command successfu1. 150 opening BINARY mode data connection for rogl (l4684 bytes). # # # # # # # # # # # # # 226 Transfer complete. 14684 bytes received in 0.0473 secs (3e + 02 Kbytes/sec) ftp > quit 22l Goodbye.
使用telnet命令访问远程计算机
用户使用telnet命令进行远程登录。该命令允许用户使用telnet协议在远程计算机之间进行通信,用户可以通过网络在远程计算机上登录,就像登录到本地机上执行命令一样。为了通过telnet登录到远程计算机上,必须知道远程机上的合法用户名和口令。虽然有些系统确实为远程用户提供登录功能,但出于对安全的考虑,要限制来宾的操作权限,因此,这种情况下能使用的功能是很少的。当允许远程用户登录时,系统通常把这些用户放在一个受限制的shell中,以防系统被怀有恶意的或不小心的用户破坏。用户还可以使用telnet从远程站点登录到自己的计算机上,检查电子邮件、编辑文件和运行程序,就像在本地登录一样。
但是,用户只能使用基于终端的环境而不是X Wndows环境,telnet只为普通终端提供终端仿真,而不支持 X Wndow等图形环境。
telnet命令的一般形式为:telnet 主机名/IP 其中“主机名/IP”是要连接的远程机的主机名或IP地址。如果这一命令执行成功,将从远程机上得到login:提示符。
使用telnet命令登录的过程如下:$ telnet 主机名/IP 启动telnet会话。 一旦telnet成功地连接到远程系统上,就显示登录信息并提示用户输人用户名和口令。如果用户名和口令输入正确,就能成功登录并在远程系统上工作。在telnet提示符后面可以输入很多命令,用来控制telnet会话过程,在telnet联机帮助手册中对这些命令有详细的说明。
下面是一台Linux计算机上的telnet会话举例:
$ telnet server. somewhere. com Trying 127.0.0.1… Connected to serve. somewhere. com. Escape character is \'?]\'. “TurboLinux release 4. 0 (Colgate)
kernel 2.0.18 on an I486
login: bubba password: Last login:Mon Nov l5 20:50:43 for localhost Linux 2. 0.6. (Posix). server: ~$ server: ~$ logout Connection closed by foreign host $
用户结束了远程会话后,一定要确保使用logout命令退出远程系统。然后telnet报告远程会话被关闭,并返回到用户的本地机的Shell提示符下。
r-系列命令 除ftp和telnet以外,还可以使用r-系列命令访问远程计算机和在网络上交换文件。使用r-系列命令需要特别注意,因为如果用户不小心,就会造成严重的安全漏洞。用户发出一个r-系列命令后,远程系统检查名为/etc/hosts.equiv的文件,以查看用户的主机是否列在这个文件中。如果它没有找到用户的主机,就检查远程机上同名用户的主目录中名为.rhosts的文件,看是否包括该用户的主机。如果该用户的主机包括在这两个文件中的任何一个之中,该用户执行r-系列命令就不用提供口令。
虽然用户每次访问远程机时不用键入口令可能是非常方便的,但是它也可能会带来严重的安全问题。我们建议用户在建立/etc/hosts.equiv和.rhosts文件之前,仔细考虑r-命令隐含的安全问题。
rlogin命令
rlogin 是“remote login”(远程登录)的缩写。该命令与telnet命令很相似,允许用户启动远程系统上的交互命令会话。rlogin 的一般格式是:
rlogin [ -8EKLdx ] [ -e char ] [-k realm ] [ - l username ] host
一般最常用的格式是: rlogin host 该命令中各选项的含义为:
-8 此选项始终允许8位输入数据通道。该选项允许发送格式化的ANSI字符和其他的特殊代码。如果不用这个选项,除非远端的终止和启动字符不是或,否则就去掉奇偶校验位。
-E 停止把任何字符当作转义字符。当和-8选项一起使用时,它提供一个完全的透明连接。
-K 关闭所有的Kerberos确认。只有与使用Kerberos 确认协议的主机连接时才使用这个选项。
-L 允许rlogin会话在litout模式中运行。要了解更多信息,请查阅tty联机帮助。
-d 打开与远程主机进行通信的TCP sockets的socket调试。要了解更多信息,请查阅setsockopt的联机帮助。
-e 为rlogin会话设置转义字符,默认的转义字符是“~”,用户可以指定一个文字字符或一个\\nnn形式的八进制数。
-k 请求rlogin获得在指定区域内的远程主机的Kerberos许可,而不是获得由krb_realmofhost(3)确定的远程主机区域内的远程主机的Kerberos 许可。
-x 为所有通过rlogin会话传送的数据打开DES加密。这会影响响应时间和CPU利用率,但是可以提高安全性。
rsh命令
rsh是“remote shell”(远程 shell)的缩写。 该命令在指定的远程主机上启动一个shell并执行用户在rsh命令行中指定的命令。如果用户没有给出要执行的命令,rsh就用rlogin命令使用户登录到远程机上。
rsh命令的一般格式是:
rsh [-Kdnx] [-k realm] [-l username] host [command]
一般常用的格式是:
rsh host [command ]
command可以是从shell提示符下键人的任何Linux命令。
rsh命令中各选项的含义如下:
-K 关闭所有的Kerbero确认。该选项只在与使用Kerbero确认的主机连接时才使用。
-d 打开与远程主机进行通信的TCP sockets的socket调试。要了解更多的信息,请查阅setsockopt的联机帮助。
-k 请求rsh获得在指定区域内的远程主机的Kerberos许可,而不是获得由krb_relmofhost(3)确定的远程主机区域内的远程主机的Kerberos许可。
-l 缺省情况下,远程用户名与本地用户名相同。本选项允许指定远程用户名,如果指定了远程用户名,则使用Kerberos 确认,与在rlogin命令中一样。
-n 重定向来自特殊设备/dev/null的输入。
-x 为传送的所有数据打开DES加密。这会影响响应时间和CPU利用率,但是可以提高安全性。
Linux把标准输入放入rsh命令中,并把它拷贝到要远程执行的命令的标准输入中。它把远程命令的标准输出拷贝到rsh的标准输出中。它还把远程标准错误拷贝到本地标准错误文件中。任何退出、中止和中断信号都被送到远程命令中。当远程命令终止了,rsh也就终止了。
rcp命令
rcp代表“remote file copy”(远程文件拷贝)。该命令用于在计算机之间拷贝文件。
rcp命令有两种格式。第一种格式用于文件到文件的拷贝;第二种格式用于把文件或目录拷贝到另一个目录中。
rcp命令的一般格式是:
rcp [-px] [-k realm] file1 file2 rcp [-px] [-r] [-k realm] file
directory 每个文件或目录参数既可以是远程文件名也可以是本地文件名。远程文件名具有如下形式:rname@rhost:path,其中rname是远程用户名,rhost是远程计算机名,path是这个文件的路径。
rcp命令的各选项含义如下:
-r 递归地把源目录中的所有内容拷贝到目的目录中。要使用这个选项,目的必须是一个目录。
-p 试图保留源文件的修改时间和模式,忽略umask。
-k 请求rcp获得在指定区域内的远程主机的Kerberos 许可,而不是获得由krb_relmofhost(3)确定的远程主机区域内的远程主机的Kerberos许可。
-x 为传送的所有数据打开DES加密。这会影响响应时间和CPU利用率,但是可以提高安全性。如果在文件名中指定的路径不是完整的路径名,那么这个路径被解释为相对远程机上同名用户的主目录。如果没有给出远程用户名,就使用当前用户名。如果远程机上的路径包含特殊shell字符,需要用反斜线(\\)、双引号(”)或单引号(’)括起来,使所有的shell元字符都能被远程地解释。 需要说明的是,rcp不提示输入口令,它通过rsh命令来执行拷贝。
搜索引擎给我无穷资料,协议代码使我无限欢乐!技术成就梦想,执着铸造成功,追梦路上狂奔中!
linux环境下使用XFS文件系统
XfS文件系统是SGI开发的高级日志文件系统,XFS极具伸缩性,非常健壮。所幸的是SGI将其移植到了Lin ux系统中。在linux环境下。目前版本可用的最新XFS文件系统的为1.2版本,可以很好地工作在2.4核心下。
一、XFS文件系统简介
主要特性包括以下几点:
数据完全性
采用XFS文件系统,当意想不到的宕机发生后,首先,由于文件系统开启了日志功能,所以你磁盘上的文件不再会意外宕机而遭到破坏了。不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅速恢复磁盘文件内容。
传输特性
XFS文件系统采用优化算法,日志记录对整体文件操作影响非常小。XFS查询与分配存储空间非常快。xfs文件系统能连续提供快速的反应时间。笔者曾经对XFS、JFS、Ext3、ReiserFS文件系统进行过测试,XFS文件文件系统的性能表现相当出众。
可扩展性
XFS 是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间。对特大文件及小尺寸文件的支持都表现出众,支持特大数量的目录。最大可支持的文件大小为263 = 9 x 1018 = 9 exabytes,最大文件系统尺寸为18 exabytes。
XFS使用高的表结构(B+树),保证了文件系统可以快速搜索与快速空间分配。XFS能够持续提供高速操作,文件系统的性能不受目录中目录及文件数量的限制。
传输带宽
XFS 能以接近裸设备I/O的性能存储数据。在单个文件系统的测试中,其吞吐量最高可达7GB每秒,对单个文件的读写操作,其吞吐量可达4GB每秒。
二、XFS文件系统的使用
1.下载与编译内核
下载相应版本的内核补丁,解压补丁软件包,对系统核心打补丁
下载地址:
对核心打补丁,下载解压后,得到一个文件:xfs-1.1-2.4.18-all.patch文件。
对核心进行修补如下:
# cd /usr/src/linux
# patch -p1 < /path/to/xfs-1.1-2.4.18-all.patch
修补工作完成后,下一步要进行的工作是编译核心,将XFS编译进Linux核心可中。
首先运行以下命令,选择核心支持XFS文件系统:
#make menuconfig
在“文件系统“菜单中选择:
<*> SGI XFS filesystem support ##说明:将XFS文件系统的支持编译进核心
或
<M> SGI XFS filesystem support ##说明:以动态加载模块的方式支持XFS文件系统
另外还有两个选择:
Enable XFS DMAPI ##说明:对磁盘管理的API,存储管理应用程序使用
Enable XFS Quota ##说明:支持配合Quota对用户使用磁盘空间大小管理
完成以上工作后,退出并保存核心选择配置.
之后,然后编译内核,安装核心:
#make bzImage
#make module
#make module_install
#make install
如果你对以上复杂繁琐的工作没有耐心或没有把握,那么可以直接从SGI的站点上下载已经打好补丁的核心,其版本为2.4.18。它是一个rpm软件包,你只要简单地安装即可。SGI提交的核心有两种,分别供smp及单处理器的机器使用。
2.创建XFS文件系统
完成对核心的编译后,还应下载与之配套的XFSprogs工具软件包,也即mkfs.xfs工具。不然我们无法完成对分区的格式化:即无法将一个分区格式化成XFS文件系统的格式。要下载的软件包名称:xfsprogs-2.0.3。
将所下载的XFSProgs工具解压,安装,mkfs.xfs自动安装在/sbin目录下。
#tar –xvf xfsprogs-2.0.3.src.tar.gz
#cd xfsprogs-2.0.3src
#./configure
#make
#make install
使用mkfs.xfs格式化磁盘为xfs文件系统,方法如下:
# /sbin/mkfs.xfs /dev/sda6 #说明:将分区格式化为xfs文件系统,以下为显示内容:
meta-data=/dev/sda6 isize=256 agcount=8, agsize=128017 blks
data = bsize=4096 blocks=1024135, imaxpct=25
= sunit=0 swidth=0 blks, unwritten=0
naming =version 2 bsize=4096
log =internal log bsize=4096 blocks=1200
realtime =none extsz=65536 blocks=0, rtextents=0
格式化磁盘时,如果mkfs.xfs提示你分区原本已被格式化为其它文件系统,可以使用参数 –f 强行格式化:
#/sbin/mkfs.xfs –f /dev/sda6
3.加载XFS文件系统
#mount –t xfs /dev/sda6 /xfs ##其中/xfs是主分区/下的一个目录。
最后,为了让系统启动后就自动加载,应该更改/etc/fstab,这样系统启动后就会自动加载xfs分区而不必每次都手工加载。
要说明的一点是目前的xfs由于受linux内存页限制,在x86版本中,只能实现文件系统的块尺寸为4K。另外,XFS文件系统可以不同的方式mount,即允许文件系统以读方式加载,也允许以读写方式加载。这是因为xfs文件系统用作根文件系统时,为了安全要以只读方式加载。
三、文件系统的迁移
要使得系统中的其它分区使用XFS文件系统,还有一步是迁移文件系统。建议在迁移文件系统时,首先将磁盘上的数据、文件先备份,以免发生不可挽回的损失,在进行文件系统转换之间,最好能将整个系统进行完全备份。这一步有很多种方法,本文仅就笔者的迁移方法加以描述。各位可以按照自己习惯的方式去完成
如果你想得到一个纯的xfs系统(系统的所有文件系统均采用XFS文件系统)话,还得将根文件系统也格式化为xfs文件系统。这实际上是比较繁杂的一步。因为根文件系统不能被umount,所以,必须首先创建一个分区,其文件系统为ext2文件系统,然后将目前的根分区上的所有文件与目录,原原本本地复制到这一个分区,然后更改/etc/fstab文件,替换原来的根分区。
方法如下:
$ mkfs -t ext2 /dev/hda4
$ mkdir /mnt/temp
$ mount -t ext2 /dev/hda4 /mnt/temp
$ cd /
$ tar lcvf - .|(cd /mnt/temp; tar xpvf - )
以上操作是将根分区上的所有文件打包,复制到新建立的分区。当然,你也可以直接使用以下命令复制文件。
# cp –dpR / /mnt/temp
接着,将下次启动的根分区更改到/dev/hda4分区,更改/etc/fstab文件及/etc/lilo.conf ,然后,运行 lilo.
重新启动后,新的根分区就已经为/dev/hda4。
接下来,创建一个xfs文件系统的分区:
$ mkfs -t xfs /dev/hda2
加载此分区,采用两样的方法,将根分区的内容复制到此分区
$ mount -t xfs /dev/hda2 /mnt/temp
在根分区下,运行
$ cd /
$ tar lcvf - .|(cd /mnt/temp; tar xpvf - )
再次更改/etc/fstab、/etc/lilo.conf,用新建的xfs分区替换原来的ext2主分区。如下所示:
/dev/hda2 / xfs defaults 1 1
将新建的xfs分区用作根分区,保存以上设置。再次检查配置文件内容,确认无误后再重新启动系统。如果你的设置全部正确,那么系统成功启动后,你就拥有一个纯XFS文件系统的系统了。
搜索引擎给我无穷资料,协议代码使我无限欢乐!技术成就梦想,执着铸造成功,追梦路上狂奔中!
Linux环境中使用Ext3文件系统
Linux缺省情况下使用的文件系统为Ext2,ext2文件系统的确高效稳定。但是,随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了;其中系统缺省使用的ext2文件系统是非日志文件系统。这在关键行业的应用是一个致命的弱 点。本文向各位介绍Linux下使用ext3日志文件系统应用。
Ext3文件系统是直接从Ext2文件系统发展而来,目前ext3文件系统已经非常稳定可靠。它完全兼容ext2文件系统。用户可以平滑地过渡到一个日志功能健全的文件系统中来。这实际上了也是ext3日志文件系统初始设计的初衷。
一、Ext3日志文件系统的特点
1、高可用性
系统使用了ext3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。宕机发生后,恢复ext3文件系统的时间只要数十秒钟。
2、数据的完整性:
ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。在保证数据完整性方面,ext3文件系统有2种模式可供选择。其中之一就是“同时保持文件系统及数据的一致性”模式。采用这种方式,你永远不再会看到由于非正常关机而存储在磁盘上的垃圾文件。
3、文件系统的速度:
尽管使用ext3文件系统时,有时在存储数据时可能要多次写数据,但是,从总体上看来,ext3比ext2的性能还要好一些。这是因为ext3的日志功能对磁盘的驱动器读写头进行了优化。所以,文件系统的读写性能较之Ext2文件系统并来说,性能并没有降低。
4、数据转换
由ext2文件系统转换成ext3文件系统非常容易,只要简单地键入两条命令即可完成整个转换过程,用户不用花时间备份、恢复、格式化分区等。用一个ext3文件系统提供的小工具tune2fs,它可以将ext2文件系统轻松转换为ext3日志文件系统。另外,ext3文件系统可以不经任何更改,而直接加载成为ext2文件系统。
5、多种日志模式
Ext3有多种日志模式,一种工作模式是对所有的文件数据及metadata(定义文件系统中数据的数据,即数据的数据)进行日志记录(data=journal模式);另一种工作模式则是只对metadata记录日志,而不对数据进行日志记录,也即所谓data=ordered或者data=writeback模式。系统管理人员可以根据系统的实际工作要求,在系统的工作速度与文件数据的一致性之间作出选择。
二、使用Ext3文件系统
1.下载与编译核心
对核心打补丁,补丁下载地址:之后运行:
#make menuconfig
在Filesystem菜单中,会多出以下选项,选择内核支持Ext3文件系统:
<*> Ext3 journalling file system support (EXPERIMENTAL)
JBD (ext3) debugging support
选择支持Ext3文件系统,保存核心配置文件,重新编译核心。
#make bzImage
#make module
#make module_install
#make install
内核编译安装完成。使用新的内核启动系统后,就可以创建ext3文件系统了。
2.实际使用Ext3文件系统
创建新的ext3文件系统,例如要把磁盘上的hda5分区格式化ext3文件系统,并将日志记录在/dev/hda1分区,那么操作过程如下:
[root@test /sbin]# ./mke2fs -j /dev/sda5
mke2fs 1.24a (02-Sep-2001)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
.. .. ..
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
在创建新的文件系统时,可以看到,ext3文件系统执行自动检测的时间为180天或每第31次被mount时,实际上这个参数可以根据需要随意调节。
以下将新的文件系统mount到主分区ext3目录下:
#[root@test /sbin]# mount -t ext3 /dev/sda5 /ext3
说明:以上将已格式化为ext3文件系统的/dev/sda5分区加载到/ext3目录下。
ext3 基于ext2 的代码,它的磁盘格式和 ext2 的相同;这意味着,一个干净卸装的 ext3 文件系统可以作为 ext2 文件系统重新挂装。Ext3文件系统仍然能被加载成ext2文件系统来使用,你可以把一个文件系统在ext3和ext2自由切换。这时在ext2文件系统上的ext3日志文件仍然存在,只是ext2不能认出日志而已。
3.将ext2文件系统转换为ext3文件系统
将linux系统的文件系统由ext2转至ext3,有以下几处优点:第一系统的可用性增强了,第二数据集成度提高,第三启动速度提高了,第四ext2与ext3文件系统之间相互转换容易。
以转换文件系统为例,将ext2文件系统转换为ext3文件系统,命令如下:
[root@test /sbin]# ./tune2fs -j /dev/sda6
tune2fs 1.24a (02-Sep-2001)
Creating journal inode: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
这样,原来的ext2文件系统就转换成了ext3文件系统。注意将ext2文件系统转换为ext3文件系统时,不必要将分区缷载下来转换。
转换完成后,不要忘记将/etc/fstab文件中所对应分区的文件系统由原来的ext2更改为ext3。如果你正在转换的分区为根分区,你还应使用initrd启动系统,运行mkinitrd,确保lilo或grub能正常加载initrd。如果你没有做以上几步,那么根在下次启动时仍然会以ext2文件系统的方式加载。要查看根分区目前的文件系统,可以运行“cat /proc/mounts”查看结果,有关对根文件系统的转换,可以从随ext3软件包的说明手册中找到详细说明
4.日志的存放位置
可以将日志放置在另外一个存储设备上,例如存放到分区/dev/hda9。例如要在/dev/hda5上创建一个ext3文件系统,并将日志存放在外部设备/dev/hda9上,则运行以下命令:
#mke2fs -J device=/dev/hda9 /dev/hda5
5.文件系统修复
新的e2fsprogs中的e2fsck支持ext3文件系统。当一个ext3文件系统被破坏时,先卸载该设备,在用e2fsck修复:
#umount /dev/hda6
#e2fsck -fy /dev/hda6
总之,ext3日志文件系统是目前linux系统由ext2文件系统过度到日志文件系统最为简单的一种选择,实现方式也最为简洁。由于是直接从ext2文件系统发展而来,系统由ext2文件系统过渡到ext3日志文件系统升级过程平滑,可以最大限度地保证系统数据的安全性。目前linux系统要使用日志文件系统,最保险的方式就是选择ext3文件系统。
Linux环境下的ReiserFS文件系统
ReiserFS是一个非常优秀的文件系统。也是最早用于Linux的日志文件系统之一。
ReiserFS的开发者非常有魄力,整个文件系统完全是从头设计的。目前,ReiserFS可轻松管理上百G的文件系统,这在企业级应用中非常重要。
一、ReiserFS的特点
1.先进的日志机制
ReiserFS有先进的日志(Journalinglogging)功能 机制。日志机制保证了在每个实际数据修改之前,相应的日志已经写入硬盘。文件与数据的安全性有了很大提高。
2.高效的磁盘空间利用
Reiserfs对一些小文件不分配inode。而是将这些文件打包,存放在同一个磁盘分块中。而其它文件系统则为每个小文件分别放置到一个磁盘分块中。这意味着:如果有10000个小文件,就要占用10000个分块。想想看这多浪费磁盘空间。
3.独特的搜寻方式
ReiserFS基于快速平衡树(balanced tree)搜索,平衡树在性能上非常卓越,这是一种非常高效的算法。ReiserFS搜索大量文件时,搜索速度要比ext2快得多。Reiserfs文件系统使用BTree存储文件,而其它文件系统使用B+Tree树。BTree查询速度比B+Tree要快很多。Reiserfs在文件定位上速度非常快。
在实际运用中,ReiserFS 在处理小于 1k 的文件时,比ext2 快 8 到 15 倍!ReiserFS 几乎在各个方面都优于 ext2,具体数据请参见笔者的测试篇。更详细的测试可以见以下网址:
httpwww.namesys.combenchmarksbenchmark-results.html 这里有更为详细的测评数据。
4.支持海量磁盘
ReiserFS是一个非常优秀的文件系统,可轻松管理上百G的文件系统,ReiserFS文件系统最大支持的文件系统尺寸为16TB。这非常适合企业级应用中。
5.优异的性能
由于它的高效存储和快速小文件IO特点,使用ReiserFs文件系统的PC,在启动X窗口系统时,所花的时间要比在同一台机器上使用ext2文件系统少13。另外,ReiserFS文件系统支持单个文件尺寸为4G的文件,这为大型数据库系统在linux上的应用提供了更好的选择。
二、使用ReiserFS文件系统
1、编译核心
本文以在2.4.x 核心下安装Reiserfs文件系统为例,简述其安装及使用过程。内核版本为2.4.x以后的版本缺省都支持Reiserfs文件系统。如果你的核心目前不支持Reiserfs,那么从httpwww.namesys.com处下载reiserfs的补丁程序,要确保下载的补丁版本和你的kernel版本是一致的。
下载后用root身份登录进入系统,切换至usrsrclinux目录,执行命令:
#gunzip pathtolinux-2.2.16-reiserfs-3.5.22-patch.gz
#patch -p1 -i pathtolinux-2.2.16-reiserfs-3.5.22-patch
要让新的核心支持Reiserfs文件系统,编译时首先要打开相应选项,目前内核缺省不支持Reiserfs文件系统。所以,在编译内核时,要配置内核,以支持reiserfs文件系统。
#make menuconfig
在菜单Code maturity level options中,选择Prompt for development andor incomplete codedrivers.选项。然后,进入文件系统菜单File systems,打开以下选项:
4.支持海量磁盘
ReiserFS是一个非常优秀的文件系统,可轻松管理上百G的文件系统,ReiserFS文件系统最大支持的文件系统尺寸为16TB。这非常适合企业级应用中。
5.优异的性能
由于它的高效存储和快速小文件IO特点,使用ReiserFs文件系统的PC,在启动X窗口系统时,所花的时间要比在同一台机器上使用ext2文件系统少13。另外,ReiserFS文件系统支持单个文件尺寸为4G的文件,这为大型数据库系统在linux上的应用提供了更好的选择。
二、使用ReiserFS文件系统
1、编译核心
本文以在2.4.x 核心下安装Reiserfs文件系统为例,简述其安装及使用过程。内核版本为2.4.x以后的版本缺省都支持Reiserfs文件系统。如果你的核心目前不支持Reiserfs,那么从httpwww.namesys.com处下载reiserfs的补丁程序,要确保下载的补丁版本和你的kernel版本是一致的。
下载后用root身份登录进入系统,切换至usrsrclinux目录,执行命令:
#gunzip pathtolinux-2.2.16-reiserfs-3.5.22-patch.gz
#patch -p1 -i pathtolinux-2.2.16-reiserfs-3.5.22-patch
要让新的核心支持Reiserfs文件系统,编译时首先要打开相应选项,目前内核缺省不支持Reiserfs文件系统。所以,在编译内核时,要配置内核,以支持reiserfs文件系统。
#make menuconfig
在菜单Code maturity level options中,选择Prompt for development andor incomplete codedrivers.选项。然后,进入文件系统菜单File systems,打开以下选项:
Reiserfs support
Have reiserfs do extra internal checking
即将Reiserfs文件系统的支持编译时内核。
然后编译核心,安装核心。
#make bzImage
#make module
#make module_install
#make install;
完成内核编译安装工作。
2、编译Reiserfs工具
下面我们将编译ReiserFS工具,相应的代码是存放在usrsrclinuxfsreiserfsutils目录中的,首先make编译程序,然后再make install来安装程序。如果你的核心中没有包括这些工具,你需要另外下载。从这里下载:
ftpftp.namesys.compubreiser ... progs-3.x.0j.tar.gz
解压文件:
# tar zxvf reiserfsprogs-3.x.0j.tar.gz
# cd reiserfsprogs-3.x.0j
# .configure
# make
# make install
完成Reiserfs工具的编译与安装。
之后用新的核心启动系统。如果不出什么问题,这时新的核心已经支持Reiserfs文件系统了。
三、使用新的文件系统
1.创建Reiserfs文件系统
要使用新的文件系统,首先以下创建一个Reiserfs文件系统:
[root@test sbin]# .mkreiserfs -f devsda3
以下为格式化分区时所显示的信息:
-------------mkreiserfs, 2001-------------
reiserfsprogs 3.x.0j
=========================================================================
LEAF NODE (8211) contains level=1, nr_items=2, free_space=3932 rdkey
------------------------------------------------------------------------
###typeilenfsp locfmtfsck key
ecn need
------------------------------------------------------------------------
01 2 0x0 SD, len 44, entry count 0, fsck need 0, format new
(NEW SD), mode drwxr-xr-x, size 48, nlink 2, mtime 09142001 152651 blocks 8
------------------------------------------------------------------------
11 2 0x1 DIR, len 48, entry count 2, fsck need 0, format old
### Name length Object key Hash Gen number
0 . ( 1) 1 2 0 1, loc 40, state 4
1 .. ( 2) 0 1 0 2, loc 32, state 4
=======================================================================
Creating reiserfs of 3.6 format
Block size 4096 bytes
Block count 128520
... ...
ATTENTION YOU SHOULD REBOOT AFTER FDISK!
(yn) ALL DATA WILL BE LOST ON 'devsda3'!
键入“y”后回车,开始创建新的文件系统:
格式化的过程比较慢,视分区的大小而定,但是,对其它的文件系统的格式化比较,其明显要慢很多。格式化完成后,显示如下信息:
(yn) ALL DATA WILL BE LOST ON 'devsda3'! y
Initializing journal- 0%....20%....40%....60%....80%....100% left 0, 182 sec
Syncing...
ReiserFS core development sponsored by SuSE Labs (suse.com)
Journaling sponsored by MP3.com.
To learn about the programmers and ReiserFS, please go to
httpwww.devlinux.comnamesys
Have fun.
至此创建完成Reiserfs分区的创建。
2.使用reiserfs文件系统
为了使用新的分区,需要将其mount上来:
# mounut –t reiserfs devsda3 mntfs
这样新的文件系统就被mount到mntfs目录下了。现在就可以开始使用新的文件系统存放文件了。
最后,为了让系统每次启动时都自动加载Reiserfs文件系统,应该手工更改etcfstab内容,将相应的分区加入其中。本文在此不再赘述。
linux环境下使用JFS文件系统
JFS是IBM公司为linux系统开发的一个日志文件系统。从IBM的实力及它对Linux的态度来看,JFS应该是未来日志文件系统中最具实力的一个文件系统。
JFS提供了基于日志的字节级文件系统,该文件系统是为面向事务的高性能系统而开发的。JFS 能够在几秒或几 分钟内就把文件系统恢复到一致状态。JFS能够保证数据在任何意外宕机的情况下,不会造成磁盘数据的丢失与损坏。
一、JFS文件系统特点
1.存储空间更大
JFS 支持的最小文件系统是 16M 字节。最大文件系统的大小为 512 万亿字节(TB)。JFS 是真正意义上的 64 位的文件系统。所有 JFS 文件系统结构化字段都是 64 位大小。
2.动态磁盘 inode 分配
JFS 按需为磁盘 inode 动态地分配空间,释放不再需要的空间。这种方式避开了在文件系统创建期间,为磁盘 inode 保留固定数量空间的传统方法。用户不需要考虑文件系统包含的文件和目录最大数目。
3.基于盘区的寻址结构
JFS 使用基于盘区的寻址结构,JFS 分配尝试通过分配最小数量的盘区策略,而使每个盘区尽可能大。这有利于大的 I/O 传送,磁盘读写性能所有提高。
4.块尺寸可变
JFS 支持 512、1024、2048 和 4096 字节的块尺寸,允许用户根据应用环境优化空间利用率。较小的块尺寸减少有利于内部存储碎片的数量,提高空间利用率。系统缺省块尺寸为 4096 字节。
二、使用JFS文件系统
1.编译内核以支持JFS文件系统
首先下载最新的2.4.x 核心,下载地址
ftp://ftp.kernel.org/。然后下载JFS系统软件包:
http://www-124.ibm.com/developerworks/oss/jfs/,名称为:jfs-x.y.z-patch.tar.gz。 将下载文件存放在/usr/src目录中。
在/usr/src/上当目录下解开jfs的软件包
# tar –zxvf jfs-2.4-1.0.4.tar.gz
# tar –zxvf jfs-2.4-1.0.4-patch.tar.gz
得到四个文件:
jfs-2.4.common-v1.0.4-patch
jfs-2.4.7-v1.0.4-patch
jfs-2.4.5-v1.0.4-patch
jfs-2.4.0-v1.0.4-patch
其中,jfs-2.4.common-v1.0.4-patch文件用于所有的2.4核心,jfs-2.4.0-v1.0.4-patch用于2.4.0-2.4.2。jfs-2.4.5-v1.0.4-patch可用于核心2.4.5及2.4.6。
注意仔细阅读README文件,不要用错了patch文件
接着是为核心打补丁:
# patch –p1 < jfs-2.4.5-v1.0.4-patch
打补丁工作完成。
最后运行
#make menuconfig
将新的文件系统加入了核心编译配置文件中,要进行以下内核配置:
使用make menuconfig 在菜单"Code maturity level options"中,选择"Prompt for development and/or incomplete code/drivers."选项。然后,进入文件系统菜单"File systems",选择"JFS filesystem support."选项。配置核心,使核心支持JFS文件系统。配置核心的其它选项。
<*> JFS filesystem support
##将JFS文件系统的支持编译入内核,也可以将其编译成模块加载方式,见以下选择:
<M> JFS filesystem support
笔者建议将JFS文件系统支持直接编译进内核,这有利于提高系统性能。
然后编译核心:
#make dep
#make clean
#make bzImage
#make modules
#make modules_install
#cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.5-jfs
最后,编辑 /etc/lilo.conf 文件,加入新内核条目,以便使用新的内核引导系统。如下所示,在 lilo.conf文件中加入以下几行内容:
image=/boot/vmlinuz-2.4.5-jfs
label=jfs
read-only
root=/dev/hda5
然后运行lilo,使更改生效。
#lilo
三、创建JFS文件系统
1.查看系统对JFS文件系统的支持
如果新的内核正确启动,这说明核心已支持JFS文件系统了。查看系统进程,可以看到以下进程:
#lsmod
7 ? SW 0:00 [jfsIO]
8 ? SW 0:00 [jfsCommit]
9 ? SW 0:00 [jfsSync]
如果你看到了以上这几个进程,这表明系统核心已支持JFS文件系统。
另外,在/proc/fs/jfs 目录下应该还有三个文件:
jfsFYI
logmgr
TxAnchor
2.下载编译JFS文件系统工具
为了使用JFS文件系统,我们还需要创建文件系统的工具,到IBM的JFS网站下载相应工具jfsutils-1.0.7.tar.gz软件包。
下载地址:
http://oss.software.ibm.com/deve ... sutils-1.0.7.tar.gz
编译安装过程如下:
#tar –zxvf jfsutils-1.0.7.tar.gz
#cd jfsutils-1.0.7
#./configure
#make
#make install
安装完成后,在/usr/sbin中就多出一个 可执行文件mkfs.jfs,我们就用它将分区格式化成jfs文件系统。
3.创建JFS文件系统
以下开始创建一个JFS文件系统, 将hda6分区格式化成JFS文件系统,以下为格式化时显示的内容:
#mkfs -t jfs /dev/hda6
mkfs.jfs development version: $Name: v0_3_1 $
Warning! All data on device /dev/hda6 will be lost!
Continue? (Y/N) y
\
Format completed successfully.
5120608 kilobytes total disk space.
运行完成后,JFS文件系统已经在hda6分区创建完成了。
4.加载JFS文件系统
首先,创建一个目录jfs,以便将JFS文件系统mount到其上:
#mkdir jfs
将新的分区mount到jfs目录下:
#mount –t jfs /dev/hda6 /jfs
这样,新的文件系统就加载到/jfs目录下了。现在可以使用新的文件系统了。
四、使用JFS文件系统
1.普通分区使用JFS文件系统
Linux内核支持了JFS文件系统后,可以将磁盘所有分区均格式化为JFS文件系统。通常情况下,建议/usr,/usr/sbin等分区采用非日志文件系统,而在那些对读写要求频繁的分区上使用JFS文件系统。这有利于提高系统性能。
2.主引导区使用JFS文件系统
主分区为linux的启动分区,其中存放了系统启动所需的基本文件。以下开始将JFS文件系统用于主分区,首先备份主分区上的所有常用文件目录:
#cd /
#cp -a bin etc lib boot dev home usr var [...] /jfs
#mkdir /jfs/proc
在使用JFS文件系统启动之前,还应该更改/etc/fstab文件,将相应的分区用作根分区。如下所示:原来的根分区为:
LABEL=/ / ext2 defaults 1 1
应该更改为:
/dev/hda6 / jfs defaults 1 1
然后,编译/etc/lilo.conf文件,将主引导分区更改为/dev/hda6。置label为jfs,将缺省的启动设置为jfs。
如下所示:
default=jfs
...
image=/boot/vmlinuz-2.4.0-jfs
label=jfs
read-only
root=/dev/hda6
然后,运行lilo,完成。
最后,reboot 系统,启动之后,你就得到一个纯jfs文件系统的linux环境了,剩下的事情就是将原来的主分区重新格式化成 jfs,然后再将其mount到主分区的某个目录下就行了
linux基础知识99问
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.什么是自由软件?
自1984年起,麻省理工学院开始支持"世界最后一名黑客"Richard stallman在软件开发团体中发起自由软件运动,从而自由软件基金会FSF、GPL协议和GNU项目就此诞生,掀开了自由软件[屏蔽]的序章。
GPL,通用公共许可协议,这是与传统商业软件许可协议CopyRight对立的,所以又被戏称为CopyLeft。GPL保证任何人有共享和修改自由软件的自由。任何人有权取得、修改和重新发布自由软件的源代码,并且规定在不增加附加费用的条件下可以得到自由软件的源代码。同时还规定自由软件的衍生作品必须以GPL作为它重新发布的许可协议。
而GNU项目的目标是建立可自由发布的、可移植的UNIX类作系统。
3.从技术上说,Linux有什么优点?
1) 提供了先进的网络支持:内置TCP/IP协议;
2) 真正意义上的多任务、多用户作系统;
3) 与UNIX系统在源代码级兼容,符合IEEE POSIX标准;
4) 核心能仿真FPU;
5) 支持数十种文件系统格式;
6) 完全运行于保护模式,充分利用了CPU性能;
7) 开放源代码,用户可以自己对系统进行改进;
8) 采用先进的内存管理机制,更加有效地利用物理内存;
4.我需要学习Linux吗?
电脑初学者:强烈建议你远离配置、管理均相当繁琐的Linux,去拥抱Windows那通俗易懂的图形界面;
文字处理者:Windows多年的发展,已经开发出了一套"所见即所得"文字处理软件,犯不着与黑底白字的vi较劲;
编程爱好者:Linux的源代码完全公开,是编程爱好者的福音。剖析内核,量身定做不是你的愿望吗?怎么样,试试吧!
网络管理员:拥抱Linux吧。据权威机构评测 ,Linux在同配置机器上的网络服务效率是NT的1.8倍,而且还是免费的,老板一定会笑的。
总之,如果你具备以下条件之一,就拥抱Linux吧:
1) 对编程有狂爱,总喜欢用程序解决问题;
2) 具有较强的钻研精神,喜欢对问题刨根问底;
3) 对构造网络服务器有兴趣的人;
4) 你的PC老掉牙了,跑Windows像蜗牛;
5) 想学习、了解UNIX作系统;
6) 极其厌恶Windows的蓝屏死机;
7) 不想花钱,又想用正版软件的人。
5.Linux会取代Windows 9x吗?
计算机在应用中可以分为桌面应用(工作站/客户机)和服务器应用,桌面应用直接面向客户,实现一些个性化的工作;服务器应用则是一些后台处理系统,实现一些共性的服务工作。对于桌面应用来说,易用性十分重要,而对于服务器而言,性能可靠、稳定才是更重要的。
所以为服务器设计的性能可靠、稳定的UNIX作系统与为桌面系统设计的用户界面友好的Windows 9x系统一直是长期并存的主流作系统。
Linux作系统是一种类UNIX作系统,其设计上对稳定性的考虑比易用性考虑要多得多,它不是一种桌面系统,它也不是为了取代桌面系统而出现的。所以Linux不会取代Windows 9x。
6.Linux与WindowsNT谁更好?
WindowsNT作系统是微软公司进军服务器作系统的利器,设计系统时在满足服务器需求的前提下,融入了Windows 9x的图形化界面的优势,使得其易于使用,深受用户喜欢,其市场占有率也因此节节上升。
然而图形界面的代价,使系统的效率降低了,所以它适合中小企业、个人用户、对性能要求不严格的场合选用。
而Linux则适用于强调性能指标,对用户界面要求不大的的应用上。
7.Linux与UNIX有什么不同?
Linux也是属于UNIX家族的一员,它有许多特性是与UNIX相同的,它们之间的最大区别在于以下两点:
1) UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上;
2) UNIX是商业软件,而Linux是自由软件,免费、公开源代码的。
8.Linux能应用在哪些领域呢?
1) 教育领域:设计先进、公开源代码这两大特性使得Linux成为了作系统课的活教材;
2) 网络服务器领域:稳定、健壮、系统要求低、网络功能强使得Linux成为现在Internet服务器作系统的首选,现已达到了25%的占有率;
3) 企业Intranet:可以用低廉的投入架设E-MAIL服务器、WWW服务器、代理服务器、透明网关、路由器;
4) 视频制作领域:著名的《泰坦尼克号》就是由200多台Linux协作完成其中的特技效果的。
9.Linux作系统发展现状和未来如何?
在2000年的LinuxWorld大会上,明显感觉到:社会各界对免费发布的作系统的支持的力度大大增强了,特别是许多硬件厂商,比如 IBM、HP和 Dell 纷纷加入到Linux领域,极大地促进了这种作系统的发展。
虽然,现在纷繁复杂的多种Linux发行版,各自为阵,降低了Linux的整体战斗力。但业界认为,不同的发行版本最终会产生不断细分的市场,各个版本将专注处理比较专业的东西。
Linux作系统经历过市场的洗礼之后,一定会创造出更大的辉煌。
10.Linux对软件业有什么影响呢?
最早,程序是程序员思想的结晶,是人类共同的文化。后来,微软公司的创始人比尔.盖茨先生创建了一个全新的软件产业模式:程序是花钱购买的,源程序是程序员的知识产权,是需要保护的。这个软件的商业模式缔造了微软帝国,也将比尔推到了世界首富的位置。
如果说,微软的Windows为世界做了很大的贡献的话,那么同时它也会软件业的发展带来了垄断和铜臭。自由软件FSF组织就是想通过GNU项目来打破这一格局,再次让所有人共享程序员思想的结晶----源代码。
而Linux的加盟,使得自由软件组织更具有战斗力,事实证明,的确对现在的软件业造成了深远影响。同时,Linux奇特的开发方式,也为软件业的创新提供了宝贵经验。
11.我该如何学习Linux呢?
1) 多阅读Linux书籍,如《Linux大全》、《RedHat Linux奥秘》、《Linux系统管理白皮书》等;
2) 敢于尝试,经常使用Linux,从实践中学习Linux,别怕"try again";
3) 经常通过网络与Linux爱好者们互相交流,提高自己。
12.网上有哪些Linux资源?
在Internet上,关于Linux的网站很多,其中比较优秀的中文网站有:
1)
http://www.linuxaid.com.cn/:设有Linux论坛、在线答疑、知识库、在线培训、解决方案等栏目;
2)
http://www.linuxforum.net/:这里应该是人气最旺的Linux论坛;
3)
www.lslnet.com/linux:是一个更新较快的Linux专题网站;
4)
http://www.linuxbyte.com/:是一个较好的Linux网站;
5)
http://www.clinuxdevelop.org/:中国Linux开发联盟;
6) clyan.hongnet.com:linux数据库应用指南。
二、 Linux大观:7问
13.RedHat Linux 6.5和Linux 2.4哪个版本高?
最近许多报刊、网站都介绍了Linux的最新版 2.4怎样,怎样?而许多Linux初学者正在使用的是RedHat Linux 6.5版。哪个版本更高?
其实,这两个版本号是不同的!RedHat Linux是将Linux内核与Linux的一些常用配套软件、应用软件[屏蔽]在一起的发行版,6.5是这个发行版的版本号。而Linux 2.4则是指Linux内核的版本。
Linux核心是由linus维护的,它的版本号一般由二到三个部分组成,例如现在最稳定的2.2.15:
1) 第一个2是主版本号,一般在一个时期内比较稳定;
2) 第二个2是次版本号,如果是偶数,代表是正式版,如果是奇数,代表是开发过程中的测试版,如在2.4正式出来时,2.3.x就是在开发者间使用的测试版的版本号;
3) 最后一个15是修改号,如2.2.15就是对2.2.14做了一些小的修改而来。
这种特殊的版本命名法是为了便于在Internet上共同开发而制定的。
14.Linux的发行版有哪些?
Linux的发行版就是将Linux核心与应用软件做一个打包。较知名的有:SlackWare、RedHat、Debain、Mandrake、SuSE、Xlinux、TurboLinux、BluePoint、RedFlag、Xterm等。
15.RedHat Linux有哪些特点?
RedHat Linux是最成熟的一种Linux发行版,其无论在销售还是装机量上都是市场上的老大。在中国老一辈Linux爱好者中几乎都是RedHat的使用者。市场上有大量的文章是针对RedHat来说的。
RedHat Linux朴实、简洁、稳定,是作为商业应用、钻研Linux的好平台。
16.TurboLinux有哪些特点?
TurboLinux是一家美国公司建立的发行版,早期其致力于Linux的国际化工作,它的中文版,是最早的成熟中文Linux发行版。TurboLinux注重面向具体应用,开发出针对不同应用的发行版,在国际影响力方面越来越大,是RedHat的一个主要竞争对手。
17.BluePoint、Xterm、RedFlag三种中文Linux谁好?
BludePoint Linux是由Devin、Samuel、hahalee三个中国内核黑客通过互联网联手合作的杰作,在互联网上深受中国Linux爱好者的好评。它最主要的特点是:内核级的汉化,有许多自己的东西。
Xterm是由北京冲浪公司制作的Linux发行版,可以算得上中国最早的Linux发行版。它的最大特点是:用户界面好,进入gate槛低,适合初学Linux人试用。
RedFlag是由中科院、北大方正、康柏公司联合开发,是基于RedHat Linux改进的中文版。它的特点是:开发力量强大,比较权威,可以一试。
18.哪种版本Linux适合我?
相对来说,SlackWare、RedHat、Debain这三种发行版比较适合一些有一定基础,或很强调性能、稳定性的人。笔者强烈推荐使用RedHat。
TurboLinux、BluePoint、RedFlag、Mandrake则在用户界面比前三种更友好,稳定性适中,其中Turbo、BulePoint、RedFlag还内置了中文支持,应该是刚从Windows转到Linux中的人的最好选择。
而象Xterm、联想Happy等这些的用户界面更加优秀,内置的中文支持,[屏蔽]了更多游戏、办公软件,比较适合Linux的尝试者或初学者使用。
以上皆为本人观点,随着时间的变化,以上评价会有失偏颇,仅供参考。
19.如何得到Linux?
你可以通过以下方法获得Linux:
1) 从网站上下载,如
http://www.redhat.com/、freesoft.cei.gov.cn等;
2) 购买Linux发行版的光盘;
3) 复制Linux发行版的光盘,这种方法在GPL中是合法的!!
三、 走进Linux殿堂:35问
20.安装Linux,对硬件有什么要求?
Linux对硬件要求很低,可以运行在386以上CPU,8M以上内存的IBM PC机上。但由于设备厂商的支持力度不够,所以Linux倒是对很多新设备的支持不是很好,新设备的驱动程序总是慢一步。
21.安装Linux需要做哪些准备?
1) 收集系统资料:记录下内存大小,CDROM接口类型,SCSI卡型号,网卡型号,鼠标类型,显卡芯片组、时钟芯片、显存大小等相关信息;
2) 检查CMOS设置,关闭病毒开发,设置其从光驱启动;
3) 如果你的Linux安装盘无法自启动的话还需制作启动盘;
4) 为Linux的安装腾出硬盘空间,最好有1G左右。
22.安装Linux前要有哪些基础知识呢?
安装Linux时,至少需要两个分区:Linux native主分区、Linux Swap交换分区。主分区用来存放Linux的文件,交换分区为运行Linux提供虚拟内存。
交换区每个8-256M,最多可以有8个,一般建立一个与内存等大的就行了。
DOS中,不管物理上、逻辑上,每个分区就是一个[屏蔽]的部分,比如:C盘、D盘、E盘,每个盘都有一个根目录。而在Linux中,物理上是一个个分区,而逻辑上所有的分区都是一个整体的,Linux中只有一个根目录。
23.Linux如何命名我的硬盘?
Linux对硬盘的处理,与DOS系统基本上是一样的,先做分区,然后再做格式化。分区的命令是不同的,DOS下,每一个分区是用一个英文字母来表示,而在Linux下则更加灵活,它通过字母和数字的组合来标识硬盘分区。
如"hda1",hd是一个部分,代表IDE硬盘,如果是SCSI硬盘的话,为sa;a代表IDE1口的主硬盘(2代表IDE1口从硬盘、3代表IDE2口主硬盘、4代表IDE2口从硬盘);最后的数字代表在该设备上的分区顺序,前四个分区(主分区和扩展分区)用1-4表示,软逻辑分区从5开始。
24.如何安装Linux?
每种Linux发行版所提供的安装方法都不大一样,但是一般来说都经历以下几个阶段:
1) 一些基本设置:如安装语言、键盘;
2) 进行硬盘分区、格式化:一般发行版都提供了图形界面,如果不熟悉硬盘分区的爱好者最好在行家指导下进行;
3) 选择要安装的软件包:建议初学者全部安装,待以后熟悉了后再重新定制,以免在学习过程中丢这落那的;
4) 设备配置:如打印机、网卡、显卡等,请根据实际情况选择;
5) 安装LILO:建议装在主引导扇,使用LILO来完成多系统引导;
6) 为Linux的超级用户root设置密码。
大家可以参考每种Linux的相关资料来尝试安装。
25.如何在一块硬盘上安装多个作系统?
许多Linux爱好者都希望能够在保留Windows9x作系统的同时,安装Linux。为了能够在多个作系统的自动选择,就需要一个启动管理器,Linux带了一个很好的启动管理器---lilo。
所以在安装多个作系统时,你只需先安装其它作系统,最后安装Linux,并将lilo安装在主引导扇上,这样重新启动系统时,将出现lilo:等待你选择你要启动的作系统。
26.如何配置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小节用来指定其他作系统的启动信息,包括启动位置、名字。
27.如何启动、关闭系统?
启动Linux很简单,只要在lilo中选择linux(输入linux)就可以了,在启动过程中,将会向控制台写许多信息,直到出现用户登录提示login:,输入用户名和密码就可以登录系统,开始Linux世界的探索。
关机时一定要注意,不能直接关闭计算机电源,那样会破坏Linux的文件系统,你可以使用以下命令来实现:
1) 重启:执行reboot命令或同时按下Ctrl+Alt+Del键;
2) 关闭系统:执行shutdown -h now命令。
28.Linux下的目录作与DOS/Windows有什么不同?
Linux的文件系统与DOS类似,也是采用树形结构的。但目录的表示有一点是完全不同的,Linux用"/"表示根目录,而DOS用""表示根目录。以下是在Linux下常用的目录作命令:
1)"mkdir 目录名":建立目录;
2)"rmdir 目录名":删除空目录;
3)"cd 目录名":改变目录;
注:cd与目录名之间一定要空格,比如到根目录,需用"cd /",而非"cd/"
4)"pwd":查看自己所在的目录;
29.在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:拷贝文件
30.如何编辑一个文本文件?
你可以使用vi来编辑一个文件文件,它是在 Unix 世界里最普及的文字处理工具,几乎所有的UNIX机器上都有这个编辑器。
1) 启动vi:执行"vi 文件名",一启动vi在命令状态,可以输入各种vi的命令,不能编辑;
2) 存盘:w、存盘退出:wq、不存盘退出:q!;
3) 进入编辑状态:插入:i、新增:a;
4) 退出编辑状态:按ESC键;
5) 进入编辑状态后,编辑起来很像DOS下的edit;
6) 在命令状态下还有一些常用的命令:
x 删除游标所在字元;
dd 删除游标所在的列。
31.安装完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的一个补充;
32.如何安装网卡?
你可以用root登录后运行netconf来安装网卡。输入网卡的设备名、选择网卡的模块号,IO地址、IRQ中断等信息,然后存盘退出,执行:/etc/rc.d/init.d/network restart;
如果你的网卡未能列在可选的网卡模块列表中的话,你就需要下载驱动程序,然后将其编译成模块。最后用"insmod 模块名"命令完成安装。
33.如何驱动D-Link DE220网卡?
D-Link的DE220是一款性价比较好的,支持即插即用的ISA网卡。但正是由于即插即用功能使得其在Linux下安装会遇到一些麻烦:
1) 在DOS环境下,用DE220网卡的驱动程序盘中的一个工具setup将其设置成非PNP的;
2) 到Windows的控制面板中获取其IO地址和中断号,一般情况下,IO地址是240,中断号是10;
3) 启动Linux,登录后执行"netconf",将第一块网卡设为Enable,设备名为eth0,模块为ne,IO地址为0x240,IRQ为10;
4) 存盘退出后,运行/etc/rc.d/init.d/network restart即可。
34.如何驱动D-Link DFE530 TX网卡?
D-Link 530 TX网卡是一款性价比较好的10M/100M自适应的PCI网卡,拥有广大的用户群,然后Linux在安装向导中却没有列在列表中。
其实,一般Linux都已经包含了这款网卡的驱动模块:tulip.o,你可以直接执行"insmod tulip"来完成网卡的安装。
35.如何驱动D-Link DFE540 TX网卡?
如果你的网卡是D-Link DFE540 TX,那么在安装时不要选网卡,否则可能造成一些不必要的麻烦。
1) 从
http://cesdis.gsfc.nasa.gov/linux/drivers/tulip.html下载最新的tulip.c文件,并复制到/usr/src/tulip下;
2)执行以下命令,编译生成tulip.o:
#cd /usr/src/tulip
#gcc -DMODVERSIONS -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O6 -c tulip.c
3)执行insmod tulip.o;
4)执行/etc/rc.d/init.d/network restart,让网卡生效。
36.如何驱动Davicom 9201网卡?
Davicom 9201 PCI网卡在安装Linux时,不能直接完成。其实,大多数的Linux发行版都提供了这款网卡的驱动模块---dmfe.o,如果你的机器也是这种网卡的话,可以在安装Linux时略过网卡配置,安装完启动系统、登录后,执行:"insmod dmfe"命令添加驱动模块,然后执行"/etc/rc.d/init.d/network restart"就可以了。
37.如何驱动第二块网卡?
在Linux系统中,你可以很容易地使用配置工具netconf安装第二块网卡,在netconf中选择第二块网卡,设备名:eth1、选择其驱动模块、输入IO地址和IRQ中断号,存盘退出后,执行:
/etc/rc.d/init.d/network restart
38.如何驱动普通声卡?
在Linux系统中提供了一个十分方便使用的声卡配置工具sndconfig,如果你的声卡比较大众化,就可以使用它来驱动你的声卡:
1) 用root登录系统,运行/usr/sbin/sndconfig;
2) 从声卡选择列表中选择适合你的声卡,一般的声卡都可以使用SoundBlaster;
3) 选完后,sndconfig需要你设置声卡的IO地址和IRQ中断号,根据你的实际情况选择;
4) 设置完成按OK按钮,如果听到Linus说话的声音就大功告成了。
39.如何驱动YAMAHA719声卡?
Yamaha719声卡在Linux下的驱动是十分麻烦的:
1) 重新编译核心,不选择SB或SB PRO之类的声卡,选中CRYSTAL SOFTWARE …的芯片;
2) 然后,重新配置声卡,选CS4xxx选项;
3) 再填写好相应的I/O地址、IRQ中断、DMA即可。
如果你的声卡是Yamaha 724的话,请使用OSS来解决。
40.通用声卡安装程序OSS如何使用?
OSS是一款解决Linux下声卡难以配置问题的商业软件,它支持绝大部分的Linux发行版,你可以到
http://www.opensound.com/下载。
1) 将下载的OSS软件包osslinux392v-glibc-2212-UP.tar.gz解压:
tar zxvf osslinux392v-glibc-2212-UP.tar.gz
2) 在解开的目录下执行./oss-install,程序一般会提示你已经安装了其它声卡模块,选择去掉;
3) 接下来就是处理过程、协议及一大堆东西,接受协议安装,使用默认安装路径即可(/usr/lib/oss);
4) oss一般可以自动检测出大部分声卡,如果与你的实际情况相符,就直接在菜单中选择"Save changes and Exit.."就完成了设置;
5) 你可以使用/usr/lib/oss/soundon命令用来打开oss驱动,用/usr/lib/osssoundoff关闭oss驱动。
41.通用声卡安装程序ALSA如何使用?
ALSA,Advanced Linux Sound Architecture,是一个遵从GPL版权的通用PCI声卡解决软件。这个软件包括rpm和tar两种格式,其中rpm格式比较容易安装,这里就以rpm包为例介绍。
1)到
http://www.alsa-project.org/下载以下四个文件:
alsa-driver-0.4.1d-1.i386.rpm
alsa-lib-0.4.1d-1.i386.rpm
alsa-utils-0.4.1-1.i386.rpm
alsaconf-0.4.1-1.386.rpm
2)执行以下命令完成安装:
rpm -ivh alsa-driver-0.4.1d-1.i386.rpm
rpm -ivh alsa-lib-0.4.1d-1.i386.rpm
rpm -ivh alsa-utils-0.4.1-1.i386.rpm
rpm -ivh alsaconf-0.4.1-1.386.rpm
3) 然后执行alsaconf命令,选择合适的声卡类型;
4) 重新启动系统,然后执行命令:/usr/doc/alsa-driver/snddvices
42.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)
43.如果通过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工具方便地实现。
44.Linux下有图形界面吗?
为了完善Unix系统的图形界面,麻省理工学院在1984开始了一个X-window开发计划,通过十余年的发展,X-window这一自由软件已经成为了Unix/Linux世界图形界面的事实标准。
X-window分为三个层次:
1)X-Window底层库,是最低实现层;
2)X-SERVER,与显卡相关的中间层;
3)窗口管理器,实现最终用户界面,如KDE、GNOME等。
45.如何配置X-Window?
所谓配置X-Window就是根据机器的实际设备选择X-SERVER。可以通过xf86config或图形化界面的Xconfigure等程序来配置。
1) 运行Xconfigure程序,然后选择合适的显卡类型,如果没有,则需要下载显卡的驱动;
2) 选择显存大小,和X-SERVER;
3) 选择合适的分辨率、色深组合
4) 存盘退出后,运行startx启动X-Window。
46.如何驱动intel i740显卡?
如果你的Linux无法识别i740的话,你可以这么做:
1)下载新的 显卡数据库 和 i740 XBF驱动程序:
xf86config-glibc-1.0.0.i386.tgz 和 xfcomi740.tgz
2)解压这两个包,覆盖原来目录:
tar xvfz /tmp/xf86config*.tgz
tar xvfz /tmp/xfcomi740.tgz
3)执行cp /usr/X11R6/bin/XFCom_i740 /usr/X11R6/bin/XF86_XBF_i740;
4)用xf86config进行配置:显示器水平扫描频率选6;垂直刷新频率选2;在显卡库选择时,选311(即i740);显卡服务器类型选5;
5)配置完成后运行startx就行了。
47.如何驱动intel i810显卡?
Intel公司的两大显卡i740、i810都为Linux爱好者驱动带来不小麻烦,Intel公司为了以实际行动支持Linux,特意在网站上详细介绍了如何在Linux下配置i810显卡,你可以到下面的网址下载安装说明和软件:
http://support.intel.com/support ... 810/linuxinstal.htm
48.如何驱动Savage4显卡?
1) 到
http://www.linhardware.com/下载savage2000的驱动程序;
2) 使用tar -xvfz 文件名解开驱动程序;
3) 解压后,你能看到五个文件,其中有一个是XF86_SVGA;
4) 备份/usr/X11R6/bin/XF86_SVGA,然后将新的XF86_SVGA复制到这个目录下,替换掉这个文件;
5) 重新运行xf86config配置,不选显卡,在选X-server时,选3(也就是SVGA),并且不检测;
6) 完成后,运行startx -bpp32,就可以了。
49.如何驱动SAVAGE3D显卡?
1) 到ftp.lib.pku.edu.cn/incoming/savageX下载Savage3D显卡的驱动程序:SavageX_0_1_4.tar.gz;
2) 解压这个程序,用新的XF86_SVGA替换/usr/X11R6/bin的原文件;
3) 运行Xconfigurator,配置显卡时选择Unlisted Card, 然后选择Xserver为SVGA;
4) 完成后,运行startx运行x-win。
50.有没有通用的显卡驱动方法?
由于显卡产商支持有限,使得在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
EndSubsection
EndSection
6) 将X指向XF6_FBDev:
cd /etc/X11
mv X X.bat
ln -snf /usr/X11R6/bin/XF86_FBDev X
51.如何通过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的脚本就行了。
52.如何在Linux下使用光驱?
1)创建一个目录,用来挂上光盘目录树:
mkdir /mnt/cdrom
当然目录名可以根据你自己的习惯命名;
2)插入光盘,执行"mount -t iso9660 /dev/hdc /mnt/floppy"命令;注意,如果你的光驱接在第一硬盘线的从盘上,需将/dev/hdc改为/dev/hdb;
3)然后你就可以通过访问/mnt/cdrom来实现对光盘访问;
4)当你不使用时,执行"umount /mnt/cdrom",再取出光盘。
53.如何在Linux下使用软驱?
1) 与光盘类似,创建floppy目录;
2) 软盘插入后,执行"mount -t msdos /dev/fd0 /mnt/floppy"命令, 注:若是软盘中是长文件名格式的,将上条命令中的"msdos"改为"vfat",若是 Linux文件格式,则去掉"-t msdos";
3) 当你不使用时,执行"umount /mnt/floppy",再取出软盘。
54.如何在Linux下读取非Linux分区的内容?
1) 创建一个目录:mkdir /mnt/other
2) 执行"mount -t 文件系统类型 分区 /mnt/other"命令;
注:文件系统类型包括:modos-FAT16、vfat-FAT32、ntfs-NTFS;
分区指该分区的设备名。
3) 当你不需要使用时,执行"umount /mnt/other"。
四、 Linux下的"神兵利器":15问
55.KDE是什么,有什么特点?
KDE项目在1996年10月发起的,其目的是在X-Window上建立一个完整易用的桌面环境。KDE现在除了拥有KFM(类似于IE4.0)、KPresenter(类似PowerPoint)、KIllustrator(类似CorelDraw或 Illustrator)等重量级软件,还有体贴用户的GUI配置软件可以帮助用户配置Unix/Linux,使其深受使用者欢迎。
但由于KDE是基于由TrollTech公司开发的Qt程序库的,所以也受到了许多批评。虽然Qt本身作为一基于C++的跨平台开发工具是非常优秀,但可惜的是它不是自由软件。Qt的License允许任何人使用Qt编写免费软件及免费拷贝给其他用户使用,但如果利用Qt编写非免费软件则需要购买他们的License。更重要的是任何人都不可以随意修改Qt源代码。如果TrollTech公司更改Qt License、公司倒闭或给人收购等都会令KDE前功尽弃。
56.GNOME是什么,有什么特点?
1997年8 月,为了克服KDE所遇到的QT许可协议和单一C++依赖的困难,以墨西哥的Miguel de Icaza为首的250程序员就开始了一个新项目,完全从头开始,这就是GNOME。
经过14个月的共同努力,终于完成了这个工程。现在GNOME已得到了占Linux 市场份额最大发行商Red Hat 的支持,拥有了大量应用软件,包括文字处理软件Go,电子表格软件Gnumeric,日历程序GNOMEcal,堪与PhotoShop 媲美的图形图像处理软件Gimp 等。
现在GNOME与KDE成为了两大竞争阵营,必将使得Linux更加易于使用。
57.在Linux下如何播放CD?
当你成功地在Linux环境下驱动了你的声卡之后,你就可以通过使用X-window中的一个CD播放器来播放CD了,它在多媒体工具中。界面如下图所示:
58.能不能在Linux下播放VCD?
你可以使用MpegTV Player 1.0这个Linux下的VCD播放器实现你的愿望。安装MpegTVPlayer不需要特殊的硬件设备,只需运行X Window即可使用。
它模仿了录像机的播放控制键,如 : 播放、快进、快退、停止、定格、搜索、音量调节、静声、音量平衡、循环播放、画面放大缩小、自动播放等。播放过程会显示整个节目要用时间、已用时间。
你可以到下面站点下载MpegTV Play:
http://www.mpegtv.com/。
59.有没有Linux下MP3播放工具?
Linux下有很多MP3的播放工具,其中mpg123 应该是最经典的一种,它可以在控制台使用。许多图形界面的mp3播放软体都是利用这个程式来 播放mp3的。下面是它的一些基本的参数介绍:
-a device 设定所使用的音效装置,预设为/dev/audio或/dev/dsp
-@ file 从档案file中读取要播放的mp3档案名称列表
-z 随机播放
如果只是要单纯地播放一两首歌,或是要播放一整个目录下的歌,利用mpg123倒是个不错的选择,若是要复杂一点的功能如选择多目录内的特定mp3档案,那可能需要写个script来执行。
60.如何在Linux下浏览网页?
想要浏览网页,需要满足两个条件:
1) 你的电脑已经连上了Internet;
2) 使用浏览器软件来实现浏览;在Linux下有两种常用的浏览器:
控制台下可以使用lynx;
X-window中可以使用netscape的Linux版本;
它们的使用方法与在Windows中的浏览器基本类似。
61.如何在Linux下收发E-Mail
在Linux下你可以使用mail、pine在控制台命令行下收发E-Mail,在X-window中可以使用Kmail来收来E-Mail。
62.能不能让Linux显示中文呢?
用的英文版的Linux,你可以安装中文模拟终端chdrv使Linux能在命令行状态下显示和汉字。chdrv启动后在tty7(用Ctrl+Alt+F7)建立一个虚拟终端,用户在tty7上登录后就可以使用它提供的中文支持。
到
ftp://ftp.ihep.ac.cn/pub/chinese/system获取已编译的chdrvbin-0.23.gb.tar.gz文件和字体文件chdrvfont.tar.gz,然后执行:
tar xvzf chdrvbin-0.23.gb.tar.gz
mv chdrvfont.tar.gz chdrv-0.23.gb/
cd chdrv-0.23.gb 进入此目录
./installbin 运行安装文件
63.有没有Linux下的中文输入法?
如果你使用的Linux是中文版,就无需另外安装了。如果你使用英文版的Linux的话,你可以安装chinput来实现中文输入。你可以到下面网址下载:
http://www.turbolinux.com.cn/~justiny/download/chinput-2.1.tar.gz 1) 下载后,解开该文件:tar -xvzf chinput-2.1.tar.gz
2) 解开后,进入 Chinput-2.1/src 里,修改 chinput.c文件,查找 GBK字样,将其改为 GB2312。再查找system("/usr/bin/zwincontrol &");语句,将其取消(在前面加上 // );
3) 修改完后,执行make命令编译;
4)编译完成后,就可以在X-Window环境下使用了。
64.除了VI,还有其他文字编辑软件吗?
Vi是UNIX/Linux环境下最通用的一种编辑软件,但是它不是很友好。如果你对它不满意的话还可以尝试其它一些如emacs、joe等编辑工具。
笔者极力推荐emacs,这是自由软件基金FSF之父stallman的杰作,也是GNU项目第一个重磅bomb,的确十分优秀,值得一试。不过最大缺点就是太复杂。
65.Linux下有没有像office一样的软件?
有,StarOffice就是基于Linux的一个办公软件的套件,它是一个商业软件包,其中包括字处理、电子表格、幻灯片制作等MS Office软件包含有的软件。对于个人用户还提供一个免费的版本。用户可以到以下站点下载:
http://studio.linux.org.cn/。
StarOffice Office Suite for Linux是为非商业用户准备的,商业用户要使用StarOffice Office 则需要许可证。
ftp://ftp.gwdg.de/pub/linux/staroffice 66.Linux下有没有像photoshop一样的软件?
有,Linux下有一款十分著名的平面图形处理软件-GIMP。它的界面比Photoshop更简洁,启动时只有一个工具栏,看起来和Photoshop差不多.主菜单在用鼠标右键单击打开的图象时才弹出,像Channels,layers,brushes......一应俱全,外观也和Photoshop极为相似,用不着花时间去适应了. ....
这还不算特点.比Photoshop优越的地方也不少:如支持的图象格式极多,支持Texture Brush,像Painter那样刷出底纹图案来. Filter也更多了,比如有一种叫Alien Map的,把RGB三色进行sin,cos运算,达到特殊效果,真是奇思妙想.Undo功能也不错,我试了一下,至少支持5次undo.还有更令人欣喜的,就是对Web的支持,可以很轻松的做出定制的箭头,按钮,背景图案等,比Photoimpact更强大。
如果你离不开PHOTOSHOP,又付不起ADOBE掌柜的帐,又自认为玩艺术的人不用D版,试试GIMP吧!
67.能在Linux下玩游戏吗?
现在已经有For Linux的游戏了,除了大名鼎鼎的Doom之外,还用一些像acm-空战模拟游戏、xdemineur-挖地雷、xjewel-俄罗斯方块、xboard-国际象棋、xboing-弹珠台游戏。而且现在越来越多,为你在枯燥的学习中添上一丝乐趣。
68.在Linux下有C语言吗?其它语言呢?
在Linux下有自由软件基金FSF创建的重磅bomb---GCC,它是一个强大的编译器,目前堪称是全世界效率最高的C/C++编译器,现在已经广泛应用在各种UNIX环境下。虽然,现在还没有C语言的集成开发环境,但这丝毫不影响GCC的流行,这也许就是自由的力量吧!
同时,Linux下也提供Fortran、Pascal、Perl、Cobol等多种语言的支持。
69.Linux下有哪些数据库软件?
Linux下有许多种数据库软件可供使用,其中有Oracle for Linux、IBM DB2 for Linux、Mysql、mSql、Post等。
五、 做好Linux的管理员:21问
70.如何检查Linux硬盘使用情况?
在Linux环境下,你可以使用df命令来查看硬盘的使用情况。下面就是一个df -T -h(-T参数:显示文件系统类型,-h参数用可读性较高的方式来显示信息)命令的输入实例:
Filesystem Type Size Used Avail Use% Mountedon
/dev/hda1 ext2 7.5G 4.7G 2.5G 65% /
/dev/hda2 ext2 653M 6.6M 613M 1% /root
/dev/hdb1 ext2 7.5G 3.5G 3.7G 49% /usr
71.Linux下有哪些压缩工具?
在Linux下有很多种压缩工具,常用的有:
1) gzip/gunzip:这是GNU开发的自由软件,使用相当广泛。压缩文件扩展名为".gz"。使用方法很简单,例如:
gunzip eos.gz gzip /home/test/*.txt;
2) compress/uncompress:这是一对历史悠久的压缩程序,文件经过它压缩后,压缩文件扩展名为 ".Z"。
3)除此之外还有:zip/unzip、bzip2/bunzip2等。
72.如何管理进程?
进程是程序的一次执行。可以使用"ps -auxw"列出在当前正在执行的进程的详细信息,包括每个进程都有的进程ID号。你可以通过"kill 进程ID号"来终止这个进程。
73.文件或目录的权限是什么意思?
文件或目录的权限位由10位构成,如-rwxr-xr-x。
1) 第一位代表文件/目录类型:d代表目录、-代表文件、l代表链接;
2) 剩下的9位分成3组,每组3位;2-4位描述文件主人的权限,5-7位描述与文件主人同一用户组的权限,8-10位则是其它用户的权限。
3) rwx:每组的3位分别是:读权限、写权限、执行权限;如果是-就代表没有这个权限。
也就是说-rwxr-xr-x表示,这是个普通文件,文件主人可以读、写、执行这个文件,与文件主人同组的用户以及其它用户都可以读、执行这个文件。
74.什么是用户帐号?
在Linux系统中,是通过用户帐号来标识每一个用户的,通过登录时输入不同的用户帐号和密码确定你的身份。也就是说,Linux系统通过用户帐号和管理系统的所有用户。
然后你可以创建一些用户组,将用户加入到组中去,让其获得用户组的权限。
75. 在Linux下,如何管理用户?
如果你想要新增一个用户:
1) 以root登录,然后执行"adduser 用户帐号名"
2) 执行"passwd 用户帐号名"来为这个用户帐号设置密码。
执行"userdel 用户帐号"删除一个用户;
执行"groupadd 用户组名"新增一个用户组;
执行"groupdel 用户组名"删除一个用户组;
76. 如何为用户作磁盘限额?
1)将要设置磁盘限额的分区,按以下格式修改/etc/fstab 文件:
/dev/hda2 /home ext2 defaults,usrquota 1 2
2)在要设置磁盘限额的分区目录下创建空文件 quota.user
#touch /home/quota.user
#chmod 600 /home/quota.user
3)重启系统后,就可以使用edquota -u 用户名来设置。
77.如何备份系统?
在Linux中,你可以使用dump/restore命令组来实现系统的备份与恢复。假设你需要将/usr目录下的所有文件完整地备份到磁带机上(假定设备是rmt8,不同的磁带机不相同),你可以使用命令:
dump -O -f /dev/rmt8 /usr
其中-O参数代表备份全部文件,"-f 设备文件名"参数指定备份到什么地方,最后的目录名指定要备份的内容。
然后,你可以使用以下命令恢复:
restore -r -f /dev/rmt8
78.如何安装.tar的软件包?
Linux软件有两种发布方式:一种是源代码方式,另一种是可执行文件包。而发布包大多是先用tar归档,再用gzip压缩,生成是以.tar.gz结束的文件。
你可以直接使用"tar xvfz 文件名"完成解压缩,解tar包工作。
如果你取得是可执行文件包,安装工作结束。
如果你取得是源代码包,则还需编译一下:
1) 在解压目录下运行"./configure"进行配置;
2) 在解压目录下运行"make"进行编译;
3) 运行"make install"安装。
79.如何使用RPM安装Linux软件?
RedHat公司提供的RPM工具,使得Linux软件安装更为方便。
1) 安装:rpm -ivh somesoft.rpm
2) 反安装:rpm -e somesoft.rpm
3) 查询:rpm -q somesoft
80.如果忘了root的密码,怎么办?
如果你忘了root的密码,可以通过以下方法恢复:
1) 重新启动Linux,出现lilo:时,输入linuxsingle进入单用户模式;
2) 这时无需密码就取得了root权限;
3) 再运行passwd重新设置root的密码。
81.重装Windows而破坏了Lilo时,怎么办?
这种情况可以使用两种方法恢复:
1)用Linux启动软盘启动,然后执行/sbin/lilo,重新在引导区建立lilo;
2)使用Linux安装光盘启动,选择升级系统,将会重建lilo。
82.如何制作Linux启动盘?
在Linux下,有一个工具mkbootdisk能很方便地制作系统启动盘:
1) 查看系统的版本,可以通过ls /usr/src来看;
2) 插入一张空软盘;
3) 执行"mkbootdisk --verbose 2.2.5"。
83.如何远程使用Linux?
我们可以使用telnet、rlogin、rsh、rcp等命令来实现远程使用Linux,但这这些方法在传输过程中是明文传输的,所以有可能带来许多不安全因素。因此,应尽量避免远程使用root帐户登录系统。
如何构建安全的远程登录?
使用SSH来实现安全的远程登录,因为SSH实现了数据传输的加密。
1) 从ftp.cs.htu.fi/pub/ssh获取ssh-1.26.tar.gz文件;
2) 用tar xvpf ssh-1.26.tar.gz解开这个包;
3) 到解开的目录/usr/local/src/ssh-1.26目录下执行./configure;
4) 执行make和make install来完成编译和安装。
5) 你就可以使用ssh来与安装了SSH的服务器建立安全的远程连接。
85.如何运行计划任务?
大大可能对Windows中的计划任务都比较熟悉了,它可以通过一些简单的设置,定时完成一些任务。在Linux系统的维护中,我们可以也会需要定期执行一些任务,这种情况可以使用:
1) at命令:它可以键盘或文件中读取指令,然后在指定时间完执行;
2) crontab守候进程:通过设置它的配置文件来定时执行某些任务。
86.Linux的开机过程都做了什么?
1) 一开机,CPU将控制权交给BIOS,BIOS完成开机自检;
2) 然后BIOS读取磁盘上的第一个扇区,并装入主引导扇区的lilo;
3) lilo根据输入选择不同的内核映象,如果你选择了linux就读取/boot下的核心映象;
4) 核心开始硬件检测和设备驱动程序的初始化,然后运行init
5) init进程根据/etc/inittab的配置运行一系列初始化脚本;
6) 完成后,启动getty进程接受用户的登录。
87.如何设置开机自动运行程序?
你可以在以下几个脚本文件中加入你想一启动系统就执行的命令:
/etc/rc.local、/etc/rc.sysinit以及/etc/rc.d/init.d。
88.为什么需要重新编译内核?
以下情况你需要重新编译内核,或加入动态内核模块:
1) 更新驱动程序;
2) 根据自己的需求定制最可靠的内核;
3) 升级Linux内核。
89.如何重新编译内核?
1) 进入Linux源代码目录:cd /usr/src/linux
2) 执行"make config"或"make menuconfig"、"make xconfig"配置内核选项,选中你想要的模块,去掉不想要的模块;
3) 执行"make zImage"命令,大概30到90分钟后,会生成一个zImage的新内核映像文件,存放在/usr/src/linux/arch/i386/boot目录下;
4) 然后将其拷贝到/boot目录下;
5) 修改lilo.conf文件,加入:
image=/boot/zImage
label=newlinux
root=/dev/hda1 (根据原来的文件)
运行/sbin/lilo使修改生效。
6)重新启动,在Lilo时,输入newlinux就可以新内核启动。
90.什么是动态内核模块?
动态内核模块是Linux一个成功的设计,它使得Linux更加灵活,易于定制。其实动态内核模块就是一个内核模块,它可以在不重新编译内核的情况,动态地将一些功能用"insmod 模块名"命令加入内核、用"rmmod 模块名"命令将其移出内核。
六、 廉价的网络解决方案---Linux:9问
91.如何使用Linux架设WEB服务器?
Apache服务器是在Linux架设WEB服务器的首选。你可以在安装Linux时就选择安装它。若在安装时没有安装Apache的话,你可以从光盘或者到apache网站上找到文件:apache-1.3.12.i386.rpm,然后执行以下命令完成安装:
1)rpm -ivh apache-1.3.12.i386.rpm
2)修改/etc/httpd/conf目录下的配置文件httpd.conf、access.conf等;
3)将主页文件放到/home/httpd/html目录下;
4)执行"/etc/rc.d/init.d/httpd start"启动Apache服务器
如果需要关闭的话,可以执行/etc/rc.d/init.d/httpd stop命令。
92.如何使用Linux架设FTP服务器?
在Linux中,最常用的FTP服务软件当数wu-ftpd,如果在安装linux时没安装上它。你可从光盘或者网站rpmfind.net/linux/RPM/WbyName.html获取它的RPM包:wu-ftpd-2.6.0-9.i386.rpm。然后执行以下命令完成安装:
rpm -ivh wu-ftpd-2.6.0-9.i386.rpm
编辑 "/etc/inetd.conf" 文件,指向新的ftpd守护进程,如下所示:
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
到此为止,你的Linux就可以接受FTP服务了。
93.如何使用Linux架设E-MAIL服务器?
Linux中,最常用的E-MAIL服务器是Sendmail,你可以在安装Linux时将其选中。
1) 在DNS服务器上为E-Mail服务器做一条MX记录;
2) 编辑/etc/inetd.conf文件,将关于pop和smtp的行的注释符去掉;
3) 执行kill -HUP inetd,使修改生效;
这样E-mail服务器的用户就可通过Outlook等客户端程序进行收发邮件了。
94.如何使用Linux架设News服务器?
在安装Linux时,选择INN软件包,并允许开机时启动innd。在完成系统的安装时,大部分配置工作已经完成,无需编译源码。
1)配置/etc/news/inn.conf:
domain: foo.com
organization: foo company news site
server: localhost
根据实际情况填写;
2)配置/etc/news/nnrp.access
nnrp.access是用来完成News Readers服务的守候进程nnrpd的配置文件,用于控制对站点的访问,修改此文件无须启动INND。
3)添加新闻组:
可以手工编辑/var/lib/news/active文件添加新闻组,也可以使用ctlinnd命令来增加。若是手工方式修改新闻组,须执行以下命令使其生效:
ctlinnd reload active "modify active"
95.如何使用Linux架设BBS?
1) 从
ftp://pbbs.chpi.edu.tw/pub/pbbs/source下载PowerBBS的源代码发行包文件pbbs.tar.gz;
2) 执行tar zxvf pbbs.tar.gz解开文件;
3) 进入pbbs目录,运行Install;
4) 根据具体需求改变默认的设置。
96.如何让Linux成为文件服务器?
在Linux中,你可以用Samba来做文件服务器,你可以在安装Linux时选中Samba就可以完成安装。
1) 编辑/etc/smb.conf,修改配置:
netbios name=linux
workgroup=SambaServer
server string=Samba Server
hosts allow=192.168.9. 127.
securoty=share
interfaces=192.168.9.1/24
name resolve order=host dns bcast
wins support=no
2)重新启动SMB服务器:/etc/rc.d/init.d/smb restart
3)编辑客户机的hosts文件,加入对Samba Server的解析;
4)最后你就可以在网上邻居上看到它了。
97.如何使用Linux架设代理服务器?
1) 到
http://squid.nlanr.net/Squid/下载Squid代理服务器软件squid-2.2.STABLE3-src.tar.gz;
2) 执行tar xzxf squid-2.2.STABLE3-src.tar.gz
3) 执行./configure
4) 执行make,make install安装到/usr/local/squid目录下;
5) 编辑/usr/local/squid/squid.conf文件,加入:
acl allowed_hosts src 192.168.9.0/255.255.255.0
注:假设你的内网IP地址是192.168.9.0;
6) 执行/usr/local/squid/bin/squid -z进行初始化
7) 执行/usr/local/squid/bin/squid开启服务
8) 在客户端设置代理服务器IP和端口3128,就可以访问Internet了。
98.如何使用Linux架设透明网关?
确认Linux内核已经支持ipchain,然后编写一个脚本ipchains.rule,内容为:
注:假设透明网关服务器的外网地址是:1.2.3.4,已经与Internet相连;内网地址是192.168.9.1,连在内网上。
#!/bin/sh
/sbin/ipchains -F forward
/sbin/ipchains -F input
/sbin/ipchains -F output
/sbin/ipchains -P forward DENY
/sbin/ipchains -P input ACCEPT
/sbin/ipchains -P output ACCEPT
external_interface=1.2.3.4
/sbin/ipchains -A input -j ACCEPT -i lo
/sbin/ipchains -A output -j ACCEPT -i lo
/sbin/ipchains -A input -j DENY -i eth1 -s 192.168.9.0/24
/sbin/ipchains -A input -j DENY -i eth1 -d 192.168.9.0/24
/sbin/ipchains -A output -j DENY -i eth1 -s 192.168.9.0/24
/sbin/ipchains -A output -j DENY -i eth1 -d 192.168.9.0/24
/sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32
/sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32
/sbin/ipchains -A output -j DENY -i eth1 -d $external_interface/32
/sbin/ipchains -A forward -j ACCEPT -i eth0 -s 192.168.9.0/24 -d 192.168.9.0/24
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_raudio
/sbin/ipchains -A forward -j MASQ -i eth1 -s 192.168.9.0/24
运行这个脚本后,192.168.9.0网络中的所有机器只需将网关设置为192.168.9.1,就可以连到Internet上了。
99. Linux还能构建什么服务器?
Linux还可以成为域名服务器、PPP服务器、CVS服务器、路由器、防火墙,而且还可以通过LVS解决方式还构建服务器集群系统。因为在此篇幅有限,仅是点到为止,若有兴趣可以参考专业的Linux书籍。
Linux系统的安装和配置
Linux,在今天的广大电脑玩家耳中已经不再是那个曾经陌生又遥远的名字,大家提起Linux时,不再是把它当做与微软抗衡的一面大旗或自由软件爱好者的精神支柱。如果说几[屏蔽]的Linux是星星之火的话,今天的它已经真正地形成了燎原之势。随着越来越多成熟的Linux发行版的推出以及Linux推广的许多问题(安装不方便、中文化困难、软件匮乏、缺乏统一标准等)得到 [屏蔽]解决,现在Linux已经真正地向广大的电脑爱好者们敞开了大gate。
一、安装前的准备
你完全可以打消Linux对计算机硬件是否支持的顾虑,放心大胆地安装。
1.检查硬件支持
在安装Linux之前,先确定你的计算机的硬件是否能被Linux所支持。
首先,Linux目前支持几乎所有的处理器(CPU)。其次,早期的Linux只支持数量很少的显卡、声卡,而如今,如果要安装Linux,已经不需要再为硬件是否能被Linux支持担心了。经过十多年的发展,Linux内核不断完善,已经能够支持大部分的主流硬件,同时各大硬件厂商也意识到了Linux操作系统对其产品线的重要性,纷纷针对Linux推出了驱动程序和补丁,使得Linux在硬件驱动上获得了更广泛的支持。
另外,如果你的声卡、显卡是非常新的型号,Linux内核暂时无法支持,那也不要紧,RedHat会自动把无法准确识别的硬件模拟成标准硬件来使用,让硬件一样可以在Linux发挥作用。
由于设计Linux时的初衷之一就是用较低的系统配置提供高效率的系统服务,所以安装Linux并没有严格的系统配置要求,只要Pentium以上的CPU、64MB以上的内存、1GB左右的硬盘空间,就能安装基本的Linux系统并且能运行各种系统服务。但是如果要顺畅地运行X-Window,就需要有足够的内存,建议128MB以上。
现在,你可以打消Linux对计算机硬件是否支持的顾虑,放心大胆地安装了吧。
2.确认安装方式
RedHat Linux9.0采用了稳定的内核Linux Kernel 2.4.20,配合GCC 3.2.1,以及GNU libc 2.3.2。这些最新的特性能够保证整个系统的优越表现。
(1)从光盘安装
最简单,最方便的安装方法当然是从CD安装,你可以享受最人性化的,类似于Windows的安装。你只要将计算机设置成光驱引导,把安装CD1放入光驱,重新引导系统,在安装界面中直接按回车,即进入图形化安装界面(图1)。
由图可见,在提供“豪华”的图形化GUI安装界面的同时,REDHAT Linux 9.0仍然保留了以往版本中的字符模式安装界面,这对于追求安装速度与效率的用户一直是很有吸引力的。因为许多用户是将RedHat 9安装成服务器来使用的,不需要X-Window以及GUI安装界面。
RedHat 9的安装步骤中比以往多了一个环节,那就是对安装光盘介质的检测。它允许在开始安装过程前对安装光盘介质进行内容校验,以防止在安装的中途由于光盘无法读取或是内容错误造成意外的安装中断,导致前功尽弃。
REDHAT Linux 9.0如果完全安装将达到7张光盘,安装时间长达几十分钟。如果因为一张光盘的内容错误导致安装失败,这将浪费很多安装时间。所以,建议在安装之前对光盘进行介质检测与校验以保证安装顺利进行。
(2)从硬盘安装
如果没有安装光盘,而是从网上直接下载Linux的ISO映像文件,能不能用下载的ISO文件进行安装而不用刻录成光盘呢?当然可以!
从硬盘安装RedHat Linux 9.0通常需要三个文件①shrike-i386-disc1.iso;②shrike-i386-disc2.iso;③ shrike-i386-disc3.iso。这代表了安装时需要的三张光盘。由于是映像文件,系统无法直接读取,所以需要先将ISO里的文件还原。
这里推荐大家使用Daemon Tool(
http://www.linuxeden.com/download/winapps/daemon333.exe)这个Windows下的软件将ISO文件“解”到硬盘上。比方说shrike-i386-disc1.iso可以解压缩到C:盘的cd1目录,shrike-i386-disc2.iso解压缩到C:盘的cd2目录,shrike-i386-disc3.iso可以解压缩到C:盘的cd3目录待用。
接下来重新启动系统进入MS-DOS方式,进入我们刚才解压出来的C?\cd1目录,里面有个dosutils目录,执行里面一个名为autoboot.bat的DOS批处理文件,系统就会再次重新启动,进入Linux的安装界面。这时安装程序就会提示你选择是用光盘安装还是从硬盘安装,选择从硬盘安装后,系统会提示输入安装文件所在的目录。
需要注意的是,我们刚解压缩的ISO文件是在Windows中操作的,如果直接输入c:\cd1,Linux安装程序是无法识别的,我们需要将c:\cd1对应到Linux安装程序能够识别的格式,因此这里应该输入的是/dev/hda1/cd1。
二、正式开始安装
你会觉得简直就和安装Windows一样了。
通过上面的叙述,无论是从光盘安装,还是从硬盘安装,我们都可以方便地进入正式的安装过程。让我们来看看安装过程中几个重要的地方。
1.选择系统默认语言
RedHat支持世界上几乎所有国家的语言,这里只要在简体中文前面打上钩,并将系统默认语言选择为简体中文(图2),那么在安装过程结束,系统启动后,整个操作系统的界面都将是简体中文的了,用户不用做任何额外的中文化操作和设置。
2.分区操作
接下来,是磁盘分区的工作,这也许是整个安装过程中惟一需要用户较多干预的步骤,REDHAT Linux 9.0提供了两种分区方式——自动分区和使用DISK DRUID程序进行手动分区(图3)。
(1)自动分区:如果是全新的计算机,上面没有任何操作系统,建议使用“自动分区”功能,它会自动根据磁盘以及内存的大小,分配磁盘空间和SWAP空间。
这是一个“危险”的功能,因为它会自动删除原先硬盘上的数据并格式化成为Linux的分区文件系统(EXT3、REISERFS等),所以除非计算机上没有任何其他操作系统或是没有任何需要保留的数据,你才可以使用“自动分区”功能。
(2)手动分区:如果硬盘上有其他操作系统或是需要保留其他分区上的数据,建议采用DISK DRUID程序进行手动分区。DISK DRUID是一个GUI的分区程序,它可以对磁盘的分区进行方便的删除、添加和修改属性等操作,它比以前版本中使用的字符界面Fdisk程序的界面更加友好,操作更加直观。下面我们来看看如何使用DISK DRUID程序对硬盘进行分区。
因为Linux操作系统需要有自己的文件系统分区,而且Linux的分区和微软Windows的分区不同,不能共用,所以,需要为Linux单独开辟一个(或若干个)分区。Linux一般可以采用EXT3分区,这也是REDHAT Linux 9.0默认采用的文件系统。
为Linux建立文件分区可以有两种办法,一种是利用空闲的磁盘空间新建一个Linux分区,另一种是编辑一个现有的分区,使它成为Linux分区。如果没有空闲的磁盘空间,就需要将现有的分区删除后,腾出空间,以建立Linux分区。
DISK DRUID程序中有明显的新建、删除、编辑、重设等按钮。用户可以直观地对磁盘进行操作。在使用DISK DRUID对磁盘分区进行操作时,有四个重要的参数需要仔细设定:它们是挂载点、文件系统类型、驱动器、分区大小(图4)。
挂载点:它指定了该分区对应Linux文件系统的哪个目录,Linux允许将不同的物理磁盘上的分区映射到不同的目录,这样可以实现将不同的服务程序放在不同的物理磁盘上,当其中一个物理磁盘损坏时不会影响到其他物理磁盘上的数据。
文件系统类型:它指定了该分区的文件系统类型,可选项有EXT2、EXT3、REISERFS、JFS、SWAP等。Linux的数据分区创建完毕后,有必要创建一个SWAP分区,它实际上是用硬盘模拟的虚拟内存,当系统内存使用率比较高的时候,内核会自动使用SWAP分区来模拟内存。
大小:指分区的大小(以MB为单位),Linux 数据分区的大小可以根据用户的实际情况进行填写,而SWAP大小根据经验可以设为物理内存的两倍,但是当物理内存大于1GB时,SWAP分区可以设置为2GB。
允许的驱动器:如果计算机上有多个物理磁盘,就可以在这个菜单选项中选中需要进行分区操作的物理磁盘。
经过磁盘分区的操作,安装过程中相对最复杂的一个步骤已经过去,接下来的安装将是一马平川。让我们来继续选择要安装的系统组件。
3.选择安装组件
REDHAT Linux 9.0和先前的版本在安装组件的选择上非常相似,用户既可以选择桌面计算机、工作站、服务器、最简化安装这四个安装方法中的一个,也可以自己定义需要安装哪些软件包,并且安装程序会实时地估算出需要的磁盘空间,对用户非常方便。
系统组件安装完毕后,安装程序会自动将用户选择的软件包从光盘介质拷贝到计算机的硬盘上,中途不需人工干预,并且在安装每个系统组件时都会对该组件做简短的说明。
在选择软件包时,如果你想进一步配置系统,可以选定制软件包集合。建议定制,选上KDE桌面环境,这样你就有两个可以和WindowsXP媲美的真彩图标的桌面(图5)。
怎么样,安装过程很简单吧?当然,这还不是最后一步,因为在安装完所有系统组件后,安装程序还会“体贴”地提醒你制作一张启动磁盘,以备不测。
到此为止,Linux系统就已经顺利地安装完成了。
三、更改启动方式
它比Windows更好玩一点。
作为默认,REDHAT Linux 9.0在启动时会自动启动X-Window进入图形化操作界面。而许多Linux铁杆玩家已经习惯了在Console字符界面工作,或是有些玩家嫌X-Window启动太慢,喜欢直观快速的Console操作。
1.进入字符界面
为了在Linux启动时直接进入Console界面,我们可以编辑/etc/inittab文件。找到id:5:?initdefault:这一行,将它改为id:3:initdefault:后重新启动系统即可。我们看到,简简单单地将5改为3,就能实现启动时进入X-Window图形操作界面或Console字符界面的转换,这是因为Linux操作系统有六种不同的运行级(run level),在不同的运行级下,系统有着不同的状态,这六种运行级分别为:
0:停机(记住不要把initdefault 设置为0,因为这样会使Linux无法启动 )
1:单用户模式,就像Win9X下的安全模式。
2:多用户,但是没有 NFS 。
3:完全多用户模式,标准的运行级。
4:一般不用,在一些特殊情况下可以用它来做一些事情。
5:X11,即进到 X-Window 系统。
6:重新启动 (记住不要把initdefault 设置为6,因为这样会使Linux不断地重新启动)。
其中运行级3就是我们要进入的标准Console字符界面模式。
2.自由转换字符界面和X-Window图形界面
在了解了启动自动进入X-Window图形操作界面和Console字符操作界面的转换后,也许你会想,这两种操作界面各有各的好处,我能不能“贪心”一点,同时拥有这两种操作界面呢?在无所不能的Linux操作系统中,这个要求当然是可以得到满足的。
在X-Window图形操作界面中按“Alt+Ctrl+功能键Fn?n=1~6 ”就可以进入Console字符操作界面。这就意味着你可以同时拥有X-Window加上6个Console字符操作界面,这是一件多么令人振奋的事情啊!
在Console字符操作界面里如何回到刚才的X-Window中呢?很简单,按“Alt+Ctrl+F7”即可。这时Linux默认打开7个屏幕,编号为tty1~tty7。X-Window启动后,占用的是tty7号屏幕,tty1~tty6仍为字符界面屏幕。也就是说,用“Alt+Ctrl+Fn”组合键即可实现字符界面与X Window界面的快速切换。
Linux的老用户们都知道,X-Window是一个非常方便地图形界面,它能使用户用鼠标最简单的进行操作,但是它也有不少缺点:比如启动和运行速度慢、稳定性不够、兼容性差、容易崩溃等。但是一旦X-Window系统出了问题,并不会使整个Linux系统的崩溃而导致数据丢失或系统损坏,因为当X-Window由于自身或应用程序而失去响应或崩溃时,我们可以非常方便地退出X-Window进入Console进行故障处理,要做的只是按“Alt+Ctrl+Backspace”键,这意味着只要系统没有失去对键盘的响应,X-Window出了任何问题,都可以方便地退出。