Linux
的一些基础问题
摘自《鸟哥私房菜》
请注意:这些解答是 VBird 自己查书或者是实际操作所得到的答案,如果您发现这些答案是『错误的』请赶快跟 VBird 联络,好让我将数据赶快的订正!感谢大家的热情支持��!
一、什么是 Linux 呢?!
• 试说明 Unix 与 Linux 的历史?
o
Multics
系统:由Bell(贝尔实验室)、MIT(麻省理工学院)与GE(美国通用电器)合作开发的一个系统;
o
1969
:K. Thompson 替 DEC 公司写了一个简单的 file system 系统,此为 Unix 的前身,但是 Unix 一词尚未出现
o
1973
:由 Bell 的 D. Richie 以 C 语言改写了 Thompson 的小系统,全部以 ASCII 档案进行改写,方便于应用!此时为第一次出现 Unix 这个操作系统的名词,不过,由于 Unix 乃针对不同的硬件而设定,因此仅出现在大型的 Server 上面看到!经过数年后,有底下几种版本:
1. System V
来自于 ATT 公司; 2. BSD 来自于加州理工学院; 3. AIX 来自于 IBM 公司
o
1979
:Richard Stallman 倡导 Open source 精神;
o
1984
:GNU 与 Free Software Foundation (FSF)由 R. Stallman 倡导;
o
1986
:Xfree86 出现在 Unix 上面,且在 1994 年整合于 Linux 中!
o
1991
:芬兰大学生 Linus Torvalds在网络上首次公告 0.02 版的 Linux Kernel ,称为 hobby。
• 简单说明 GNU General Public License (GPL)的精神:
o
GPL
的授权之软件,乃为自由软件(Freeware),任何人皆可拥有他;
o
开发 GPL 的团体(或商业企业)可以经由该软件的服务来取得服务的费用;
o
经过 GPL 授权的软件,其属于 Open source 的情况,所以应该公布其原始码;
o
任何人皆可修改经由 GPL 授权过的软件,使符合自己的需求;
o
经过修改过后 Open source 应该回馈给 Linux 社群。 (PS. Open source 最大的优点为多人维护, debugs 的速度较快,程序亦较为安全,但是缺点则是缺乏『专人』维护!)
• 什么是 Linux Distribution? 基本上 Linux 是在 1991 年由芬兰大学生 Linus Torvalds 写的一个核心操作系统,最早仅只是核心而已,后来由于此一核心不但可以适合于主流 PC 的 x86 架构,并且稳定,因此有相当多的团队加入研究开发,后来某些公司将一些套件加入此一核心中,变成为完整的『安装光盘』,亦即是 Linux Distribution 了!所以才会有这么多的 Linux 版本,各版本之间没有所谓的谁优谁劣,而是个有其优缺点!看你适合哪一款,就用那一款吧!开发商针对 Linux Kernel 进行开发,并加入适合该 Kernel 的套件(如 ftp, apache, mail 等等),及配合开发商本身的支持软件,而制作出来的可安装光盘即可称为 distribution。
• 市面上众多的 Linux 版本当中,有何异同?唯一相同的地方在于 Linux 的『Kernel』,目前 ( 2002/06/29 ) Kernel 发展至 2.4.xx 版本,至于不同点则是 Linux 开发商自行加入或者是研发的软件。
• Linu Kernel 的功能:
o
System call interface
o
Process control
o
Memory management
o
File System management
o
Device drivers
简单的说,任何跟系统硬件资源有关的都是 Linux Kernel 管辖的范围,所以编辑核心的时候,将核心编的越小越好!
• 试说明 Linux Kernel 与使用者之间的相关性? 硬件<=>Kernel (Modules Loader)<=>Shell ( Terminal or GUI )<=>Users
• 试说明什么是 GUI GUI 为 Graphical User Interface 的简写,即为使用者图形界面,目前我们在 Linux 上面的 GUI 一般称为 X-Window ,而其核心为 Xfree86 这个 X-Server !请注意,这个 Xfree86 最大的功能即是在控制『显示卡、硬件周边』等跟 Window 有关的界面,所以 X-Window 无法启动时,通常是 Xfree86 这个 X-Window 的核心驱动程序设定不完全有关!
• Linux 的优点: 最大的优点来自于其良好的资源分配!所以具有:
o
良好的多人多任务环境,资源分配平均;
o
除了免费之外,在线更新速度快,除错与安全性均较佳;
o
为 Open source 的授权,故而具有 open source 的所有优缺点;
o
网络功能强大。
• Linux 是多人多任务的环境,请问何谓多任务(Multitask)与多人(Multiuser):
o
Multitask
指的是多任务环境,在 Linux 系统下, CPU 与其它例如网络资源可以同时进行多项工作, Linux 最大的特色之一即在于其多任务时,资源分配较为平均!
o
Multiuser
指的是 Linux 允许多人同时连上主机之外,每个使用者皆有其各人的使用环境,并且可以同时使用系统的资源!
二、Linux 的安装与认识 Linux 支持的硬件
• 一般而言, Linux 需要的配备并不需要太高档,但 Open Linux Server 3.1.1 需要?
o
CPU
需要在 PII, PIII, P4 或 K7, K8 以上等级;
o
RAM
至少需要 64 MB,
o
硬盘至少 550 MB,全部安装则需要 1.7GB
• 什么是 IDE 界面,一般而言,普通 PC 允许几个 IDE 界面与装置?
o
IDE
为用来传输硬盘数据的一个汇流界面;
o
共有 IDE1, IDE2 ,分别有 master 与 slave 所以共四个 IDE 装置支持!
• IDE2 的 master 之第一个 logical 磁盘中,其装置代号(文件名称)为何? /dev/hdc5
• 在硬盘分割 (Partition)时,最多有几个 primary + extended ? Primary + Extended 共四个,其中 Extended 通常只有一个! ( 更详细的硬盘与 MBR 可以参考 这里 这篇讨论 )
• 若在分割的时候,在 IDE1 的 slave 硬盘中,分割『六个有用』的扇区(具有 filesystem 的),此外,有两个 primary 的扇区!请问六个扇区的代号?
o
/dev/hdb1(primary)
o
/dev/hdb2(primary)
o
/dev/hdb3(extended)
o
/dev/hda5(logical
底下皆为 logical)
o
/dev/hda6
o
/dev/hda7
o
/dev/hda8
请注意,5-8 这四个 logical 相加的总和为 3!
• 一般而言安装 Linux 至少要有哪两个 partition 呢?
o
根目录 / (root)
o
虚拟内存 Swap
• 一般而言,在 RAM 为 64MB 或 128 MB 的系统中, swap 要开多大? 约两倍的 RAM ,亦即为 128 MB 或 256 MB ,可获得较佳效能!
• 光驱与软盘机的代号(装置文件名称)?
o
/dev/cdrom
o
/dev/fd0
• 网络卡(Network Interface Card, NIC)的代号?
o
/dev/eth0
• 预设的 Linux 档案格式为何?又,目前常用的 Journalling 档案格式为何?
o
Ext2
o
Ext3, Reseifs
• 安装 Linux 的主要流程?
o
BIOS
(决定由 cdrom 或 floppy 开机,并加载PC硬件信息)
o
载入 install kernel loader :
o
收集硬件信息
o
Hard Disk
之 Partition
o
Formation
o
Softpackage
的选择
o
开始安装!
• 什么是 GMT 时间?台北时间差几个钟头? GMT 时间指的是格林威治时间,为标准的时间,而台北时间较 GMT 快了 8 小时!
• Tap, SCSI 硬盘, RAID, printer 的装置代号?
o
Tap : /dev/ht0 (IDE), /dev/st0 (SCSI);
o
SCSI H.D.: /dev/sd[a-p],
o
RAID : /dev/md[0-15];
o
printer : /dev/lp[0-2]
三、简易 KDE 的使用( X-Window)
• 若以 X-Window 为预设的登入方式,那请问如何进入 Virtual console 呢? 可以按下 [Ctrl] + [Alt] + [F1] ~ [F6] 进入 Virtual console ( 共六个 ); 而按下 [Ctrl] + [Alt] + [F8] 可回到 X-Window 的 desktop 中!
• 如何修改进入 Linux 时候的 run-level ?又 run-level 0, 1, 3, 5 各代表什么意思?
o
修改 /etc/inittab 里头的设定即可;
o
0
:重新开机(如 init 0 ); 1:单人维护模式,没有网络功能; 3:纯文字接口登入,多人多任务环境; 5:X-Window 登入模式,多人多任务模式。
• XFree86 在 X-Window 中的角色为何? 基本角色是控制显示相关硬件的核心角色,也可以说程序 X-Window 的 Server ,此外, KDE 这个 Window management 则是 X-Window 的 Client 呦!因此, XFree86 若死掉了,那么 KDE 就无法被启动!
• XFree86 的主要设定档在哪里?就是在 /etc/X11/XF86Config-4 这个档案!
• KDE 预设提供多少个 Virtual desktops ? 预设是提供四个,就是在进入 KDE 之后,最下方的 bar 上面有 1,2,3,4 那个字样的那个咚咚!
四、在线求助 ( Help )
• 在 Linux 系统中,安装的套件 (RPM安装) 预设的文件数据放在那个目录底下? /usr/share/doc
• 查看 Linux 系统的在线求助可以使用什么指令? man command info command
• 使用 man 来查询在线求助的时候,若要查询类似参数档(如/etc/passwd)需如何? man 5 passwd 或是例如 syslog.conf 则: man 5 syslog.conf 那个 5 即是大部分的 config 档案的查询。
• 使用 man 查询 command 的所有相关指令时,需要下什么参数? man
�C
k command
例如 man
�C
k passwd
• man page 的 man path 变量,记录在那个档案中呢?! /etc/man.conf
五、vi 的使用
• 在 linux 底下最常使用的文书编辑器为 vi ,请问如何进入编辑模式?
o
在一般模式底下输入: i, I, a, A 为在本行当中输入新字符;(出现
�C
Insert-
)
o
在一般模式当中输入: o, O 为在一个新的一行输入新字符;
o
在一般模式当中输入: r, R 为取代字符!(左下角出现
�C
Replace-
)
• 如何由编辑模式跳回一般模式? [Esc]
• 若上下左右键无法使用时,请问如何在一般模式移动光标? h, j, k, l
• 若 [pagedown] [ pageup] 在一般模式无法使用时,如何往前或往后翻一页? [Ctrl] + [f] [Ctrl] + [b]
• 如何到本档案的最后一行、第一行;本行的第一个字符、最后一个字符? G, 1G , 0, $
• 如何删除一行、n行;如何删除一个字符? dd, ndd, x 或 X (dG 及 d 1G 分别表示删除到页首及页尾)
• 如何复制一行、n行并加以贴上? yy, nyy, p 或 P
• 如何搜寻 string 这个字符串?
o
?string (
往前搜寻)
o
/string (
往后搜寻)
• 如何取代 word1 成为 word2,而若需要使用者确认机制,又该如何?
o
:1,$s/word1/word2/g
或
o
:1,$s/word1/word2/gc
(需要使用者确认)
• 如何读取一个档案 filename 进来目前这个档案? :r filename
• 如何另存新档成为 newfilename? :w newfilename
• 如何存档、离开、存档后离开、强制存档后离开? :w; :q: :wq; :wq!
• 如何设定与取消行号? :set nu :set nonu