/lost+found 这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所。对了,有点类似于DOS下的.chk文件。
/mnt 这个目录是空的,系统提供这个目录是让用户临时挂载别的文件系统。 /proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里啊!? /root 系统管理员,也叫作超级权限者的用户主目录。当然系统的拥有者,总要有些特权啊!
/sbin s就是Super User的意思,也就是说这里存放的是一些系统管理员使用的系统管理程序。
/tmp 这个目录不用说,一定是用来存放一些临时文件的地方了。
/usr 这是个最庞大的目录,我们要用到的很多应用程序和文件几乎都存放在这个目录下。具体来说:
/usr/X11R6 存放X-Windows的目录; /usr/bin 存放着许多应用程序;
/usr/sbin 给超级用户使用的一些管理程序就放在这; /usr/doc 这就是LINUX文档的大本营;
/usr/include LINUX下开发和编译应用程序需要的头文件,在这找; /usr/lib 存放一些常用的动态链接共享库和静态档案库;
/usr/local 这是提供给一般用户的/usr目录,在这安装软件最适合; /usr/man man是什么,对了是帮助。这里就是帮助文档目录啊! /usr/src LINUX开放的源代码,就存在这个目录,爱好者们别放过哦!
/var 这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样干的。顺带说一下系统的日志文件就在/var/log目录中。
这里列出了最常见的目录,根据LINUX发行套件的不同,目录结构也是有一定差别的。还有你自己建立的目录,我当然不知是存什么的。希望上面的文字能使你在大脑里留下了LINUX的全景图,以便大家深入掌握LINUX的其它方方面面。
扫盲行动之四:GRUB三步通
朋友,你装好linux后是不是每次启动后系统就默认进入到linux,想让它变成windows吗?请修改你的引导装入器吧(当然它不止这个功能)!由于现在的linux都喜欢用GRUB来引导,LILO已越来越少用了,所以我在这里主要给大家讲讲GRUB这个东东!! ################## # GRUB的优点 # ##################
GRUB 是引导装入器(boot loader) -- 它负责装入内核并引导 Linux 系统。GRUB 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT 和 2000。尽管引导操作系统看上去是件平凡且琐碎的任务,但它实际上很重要。如果引导装入器不能很好地完成工作或者不具有弹性,那么就可能锁住系统,而无法引导计算机。另外,好的引导装入器可以给您灵活性,让您可以在计算机上安装多个操作系统,而不必处理不必要的麻烦。
GRUB 是一个很棒的boot loader。它有许多功能,可以使引导过程变得非常可靠。例如,它可以直接从 FAT、minix、FFS、ext2 或 ReiserFS 分区读取 Linux 内核。这就意味着无论怎样它总能找到内核。另外,GRUB 有一个特殊的交互式控制台方式,可以让您手工装入内核并选择引导分区。这个功能是无价的:假设 GRUB 菜单配置不正确,但仍可以引导系统。哦,对了 -- GRUB 还有一个彩色引导菜单。 更令人惊讶的是,这是一个自由软件!!! ################## # GRUB菜单 # ##################
先来看一个例子,这是位于/boot/grub/目录下的menu.lst文件。
此文件将在开机是产生一个菜单,包含有Debian linux,Windows2000,RedHat linux和 Mandrake linux,共四个选择项。我一共分了8个区,一个fat16(0x6),一个ntfs(0x7),三个ext2fs分区(0x83),一个swap分区(0x82)。ntfs用来装win2000,三个ext2fs装了三个linux,c盘fat16分区没有装任何东西。 #例子由此开始
######################
# #
# 一个GRUB configure 的例子 # # #
###################### timeout 10 default 2
# --> Debian linux <-- title Debian linux root (hd0,2)
kernel /boot/vmlinuz-2.2.18 root=/dev/hda3 ro initrd /boot/initrd-2.2.18.gz # --> Debian END <-- # --> Windows 菜单选项 <-- title Windows2000 root (hd0,0) chainloader +1
# --> Winddows 结束 <-- # --> RedHat linux 菜单选项 <-- title RedHat linux root (hd0,8)
chainloader +1 # 在硬盘主引导分区装了lilo,所以也用了chainloader。 # --> RedHat linux 结束 <-- # --> Mandrake linux 菜单选项 <-- title Mandrake linux
root (hd0,5)
kernel /boot/vmlinuz-2.4.3-20mdk root=/dev/hda6 ro initrd /boot/initrd-2.4.3-20mdk.img # --> Mandrake linux 结束 <-- #例子到此结束
以符号井"#"开头的行表示被注释掉,没有任何意义。
timeout表示默认等待的时间,这儿是10秒钟。超过10秒,用户还没有作出选择的话,系统将自动选择默认的操作系统。
默认的操作系统就是由default控制的。default后加一个数字n,表明是第n+1个。需要注意的是,GRUB中,计数是从0开始的,第一个硬盘是hd0,第一个软驱是fd0,等等。所以,default 2 表示默认的操作系统在这儿是 Redhat linux。
接下来,正如你所想象的,title表示的是“Debian linux”菜单项。root (hd0,2)表示第一个硬盘,第三个分区。这儿的root 于linux的root分区及其不同,此root非彼root也!
在 Linux 中,当谈到 \文件系统时,通常是指主 Linux 分区。但是,GRUB 有它自己的 root 分区定义。GRUB 的 root 分区是保存 Linux 内核的分区。这可能是您的正式 root 文件系统,也可能不是。我们讨论的是 GRUB,需要指定 GRUB 的 root 分区。进入 root 分区时,GRUB 将把这个分区安装成只读型,这样就可以从该分区中装入 Linux 内核。GRUB 的一个很“酷”的功能是它可以读取本机的 FAT、FFS、minix、ext2 和 ReiserFS 分区。
到目前为止,您可能会感到一点疑惑,因为 GRUB 所使用的硬盘/分区命名约定与 Linux 使用的命名约定不同。在 Linux 中,第一个硬盘的第五个分区称作 \。而 GRUB 把这个分区称作 \。GRUB 对硬盘和分区的编号都是从 0 开始计算。另外,硬盘和分区都用逗号分隔,整个表达式用括号括起。现在,可以发现如果要引导 Linux 硬盘 hda5,应输入 \。
知道了内核在哪儿,还要具体指出哪个文件是内核文件,这就是kernel的工作。 kernel /boot/vmlinuz-2.2.18 root=/dev/hda3 ro说明/boot/vmlinuz-2.2.18 就是要载入的内核。后面的都是传递给内核的参数。root=/dev/hda3就是linux的硬盘分区表示法,ro是以readonly的意思。
initrd用来初始的linux image,并设置相应的参数。 是不是感觉很简单啊!再来看一看windows的定义段吧。
这里,我添加了一项来引导 Windows2000。要完成此操作,GRUB 使用了“链式装入器”(chainloader)。链式装入器从分区 (hd0,0) 的引导记录中装入 win2000 自己的引导装入器,然后引导它。这就是这种技术叫做链式装入的原因 -- 它创建了一个从引导装入器到另一个的链。这种链式装入技术可以用于引导任何版本的 DOS 或 Windows。 我的RedHat linux在硬盘主引导分区装了lilo,所以也用了chainloader。 GRUB的配置文件要简单就这么简单,如果你要更个性化一点,试一试把“color
light-gray/blue ”加在default语句的下面,下一次启动GRUB时,看看有什么变化,再试一试“color light-blue/red\惊喜吗? 有趣吧! ###################### # GRUB的交互性 # ######################
GRUB 最好的优点之一就是其强健的设计 -- 在不断使用它时请别忘了这点。如果更新内核或更改它在磁盘上的位置,不必重新安装 GRUB。事实上,如有必要,只要更新 menu.lst 文件即可,一切将保持正常。
只有少数情况下,才需要将 GRUB 引导装入器重新安装到引导记录。首先,如果更改 GRUB root 分区的分区类型(例如,从 ext2 改成 ReiserFS),则需要重新安装。或者,如果更新 /boot/grub 中的 stage1 和 stage2 文件,由于它们来自更新版本的 GRUB,很有可能要重新安装引导装入器。其它情况下,可以不必理睬!
GRUB的最大的特点就是交互性特别强。在开机时,按一下“c”,将进入GRUB 控制台。显示如下:
GRUB version 0.5.96.1 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub>
欢迎使用 GRUB 控制台。现在,再研究命令:
我将通过GRUB 控制台绕过lilo来启动RedHat linux, grub> root (h