鸟哥的 Linux
与 ADSL
私房菜
一些基础的
Linux 问题
最近更新日期:2002/06/28
一些基础的 Linux 问题与讨论:
注意:如果您有更好的试题,或者是有相关的数据要提供给
VBird 的话,我也会尽快的将他写到网页中的!感谢感谢!! ^_^ ..
一、什么是 Linux 呢?!
-
试说明 Unix 与 Linux 的历史?
-
简单说明 GNU General Public License
(GPL)的精神:
-
什么是 Linux Distribution?
-
市面上众多的 Linux 版本当中,有何异同?
-
Linu Kernel 的功能:
-
试说明 Linux Kernel 与使用者之间的相关性?
-
试说明什么是 GUI
-
Linux 的优点:
-
Linux 是多人多任务的环境,请问何谓多任务(Multitask)与多人(Multiuser):
二、Linux 的安装与认识 Linux
支持的硬件
-
一般而言, Linux 需要的配备并不需要太高档,但
Open Linux Server 3.1.1 需要?
-
什么是 IDE 界面,一般而言,普通 PC
允许几个 IDE 界面与装置?
-
IDE2 的 master 之第一个 logical 磁盘中,其装置代号(文件名称)为何?
-
在硬盘分割 (Partition)时,最多有几个
primary + extended ?
-
若在分割的时候,在 IDE1 的 slave 硬盘中,分割『六个有用』的扇区(具有
filesystem 的),此外,有两个 primary 的扇区!请问六个扇区的代号?
-
一般而言安装 Linux 至少要有哪两个
partition 呢?
-
一般而言,在 RAM 为 64MB 或 128 MB
的系统中, swap 要开多大?
-
光驱与软盘机的代号(装置文件名称)?
-
网络卡(Network Interface Card, NIC)的代号?
-
预设的 Linux 档案格式为何?又,目前常用的
Journalling 档案格式为何?
-
安装 Linux 的主要流程?
-
什么是 GMT 时间?台北时间差几个钟头?
-
Tap, SCSI 硬盘, RAID, printer 的装置代号?
其它注意事项:
-
要玩 X-window 时,至少需要具有 4-8 MB 的 VGA RAM 才好!
-
第一次使用与安装 Linux 时,请尽量的安装『所有套件!』
-
若具有安装与使用经验之后,则安装的时候,仅选择您所预计需要开放的服务之套件即可!
-
特别留意硬件对于 Linux distribution 的支持度!可以参考一下如下的网页:
http://www.linux.org.tw/hardware/index.php3
-
制作 Install 之软盘开机片:
将可开机光盘放入 Windows 系统下,并执行光驱中的档案(假设光盘代号为
E:)
E:\col\tools\rawrite\rawrite2
Enter disk image source filename: E:\col\launch\floppy\install.144
Enter target disketie derive: A:
-
制作软盘开机片的一般方法:
mkbootdisk --device /dev/fd0 `uname -r`
三、简易 KDE 的使用( X-Window)
-
若以 X-Window 为预设的登入方式,那请问如何进入
Virtual console 呢?
-
如何修改进入 Linux 时候的 run-level
?又 run-level 0, 1, 3, 5 各代表什么意思?
-
XFree86 在 X-Window 中的角色为何?
-
XFree86 的主要设定档在哪里?
-
KDE 预设提供多少个 Virtual desktops
?
四、在线求助 ( Help )
-
在 Linux 系统中,安装的套件 (RPM安装)
预设的文件数据放在那个目录底下?
-
查看 Linux 系统的在线求助可以使用什么指令?
-
使用 man 来查询在线求助的时候,若要查询类似参数档(如/etc/passwd)需如何?
-
使用 man 查询 command 的所有相关指令时,需要下什么参数?
-
man page 的 man path 变量,记录在那个档案中呢?!
五、vi 的使用
-
在 linux 底下最常使用的文书编辑器为
vi ,请问如何进入编辑模式?
-
如何由编辑模式跳回一般模式?
-
若上下左右键无法使用时,请问如何在一般模式移动光标?
-
若 [pagedown] [ pageup] 在一般模式无法使用时,如何往前或往后翻一页?
-
如何到本档案的最后一行、第一行;本行的第一个字符、最后一个字符?
-
如何删除一行、n行;如何删除一个字符?
-
如何复制一行、n行并加以贴上?
-
如何搜寻 string 这个字符串?
-
如何取代 word1 成为 word2,而若需要使用者确认机制,又该如何?
-
如何读取一个档案 filename 进来目前这个档案?
-
如何另存新档成为 newfilename?
-
如何存档、离开、存档后离开、强制存档后离开?
-
如何设定与取消行号?
六、档案与目录管理
-
请问底下的目录与主要放置什么数据?
-
『旧的』 Unix 系统与 Linux 系统的『文件名』最多可以容许几个字符?
-
什么是绝对路径与相对路径,要由 /usr/share/doc
进入到 /usr/share/man 由相对路径与绝对路径的写法各为何?
-
在非为根目录的任何一个目录中,下达
ls –al 时,均会有『.』及『..』这两个目录,请问分别代表什么?
-
显示、变换目录的时候,使用什么指令?
-
新增目录、移除目录移动目录与拷贝目录有什么指令可用?
-
如何查看一个档案的『内容』(不要使用
vi 的情况下)
-
什么是 hard link 与 soft link 的档案?有何不同?
-
如何在 root 的家目录下建立一个 /bin
的连结快捷方式
-
若有一个连结档为 testing 连结到 test1.sh
,请问 copy testing 到 /tmp 底下,『cp testing /tmp』则 /tmp/testing 这个档案会是:(1)
连结档,连结到 test1.sh ;(2) 一般档案,为内容与 test1.sh 相同?
-
当一个档案属性为 –rwxrwxrwt 则表示这个档案的意义为?
-
我需要将一个档案的属性改为 –rwxr-xr--
请问该如何下达指令?
-
在 /usr/bin/passwd 这个档案的属性为
–r-s--x--x 请问代表什么意思(s)
-
如何改出 –rwxr-sr-x 与 –rwxr-xr-t这个属性?
-
如何查看一个档案的类型 (type) 例如纯文字文件、执行文件与
setuid 档案等?
-
若一个使用者的 umask 为 033 ,请问他建立一个新的目录与档案时的预设属性为?
-
若我需要更改一个档案的拥有者与群组,该用什么指令?
-
如何将一个档案的修改日期改成目前的时间?
-
如何搜寻一个档案?
-
Linux 预设的档案系统为何?此外,常用的
Journalling 档案格式有哪些?
-
less 跟 more 有什么不同?
-
在比较两个档案的异同时,常使用的是
diff 与 cmp ,请教两者有何不同?
六.1、磁盘挂载与虚拟内存问题
-
我要如何查看 Linux 系统当中所有已经挂载的硬盘容量与
inodes ?
-
我要如何查看目前所在目录的所有档案占用的硬盘空间,此外,如何仅输出结果?
-
如果扇区 /dev/hda3 有问题,偏偏他是被挂载上的,请问我要如何修理此一扇区?
-
承上题,那么有问题的档案将被移动到那个目录下?
-
试说明新增一个 partition 在 /dev/hdb
当中,且为 hdb5时,并挂载上 /disk2 ,需要哪些步骤?
-
如何新增加 64MB 的虚拟内存 swap
?
-
如果要设定一个新挂载上的扇区,令他可以在开机的时候被挂载上,应该编辑哪一个档案?
-
简易说明 quota 的设置流程?
七、BASH SHELL
-
简单说明 bash shell 的功能特征:
-
在设定变量中,主要的规则为何?
-
显示环境变量与所有变量的指令为何?
-
在环境变量当中,『使用者家目录、主机名称』的变量名称为:
-
如何让一个变量可以持续到下一个程序
(PID) 去?
-
在变量的设定当中,双引号与单引号有何不同?
-
Command1 `command2` 这个指令代表什么意思?
-
在命令重导向当中, > 与 >> 有什么不同?
-
若要将错误的输出导向『不见了』的装置,该如何是好?
-
在管线指令中,我要将 last 输出的结果显示
root 的『登入次数』, 如何做?
-
如何设定一个变量名称为 name ,使其显示为『
VBird’s testing variable. 』?
-
请问 bash shell 的环境变量与自己的个人变量可以登入便设定的档案?
-
如何查询曾经操作过的指令?如何执行第
26 个操作过的指令?上一个操作过的指令?
-
如何设定命令别名?使 lm 与 ls –al|more
功能相同
-
如何将 /bin 的所有信息输出到 /home/testing.dat
这个档案?
-
在上一题中,若还要输出到屏幕上,要如何是好?
-
执行 find ,并将正确的结果输出到
right 而错误结果输出到 error 当中?
-
如何在指令列模式中将 /root/.bashrc
的资料加在 /home/col/.bashrc 当中?
-
不要显示执行的结果要如何是好?
-
列出这个月曾经登入主机的使用者信息即可,不需要重复?
-
万用字符当中, *, ?, [] 各代表什么意思?
七.1、SHELL SCRIPTS
-
什么是 shell scripts ? scripts
有何功用?
-
要撰写可以经由键盘输入的 scripts
时,常使用到的指令?
-
在 shell script 当中,在控制式中,
&& 与 || 代表什么意思?
-
在使用循环的时候,常使用到的控制式为哪三个?
-
执行 scripts 的方法有哪两种?
-
如何宣告一个变量成为整数型态?
-
为何在 shell script 前面都要宣告
shell 呢?
-
在判断式中,如何判断一个档名是否存在?
-
在执行一个 scripts 时,在 scripts
内的变量, $0, $1 代表什么?
-
若要写一个既定的 parameter (如
start ),用哪一个判断式较简单?
-
如何印出目前系统中的所有账号,并加以排序且输出到
/tmp/account 中?
-
如何在不执行 scripts 的情况中 debug
?
八、基本账号管理
-
如何新增一个使用者 username,且该使用者没有家目录?
-
Linux 使用者的账号、密码与群组的名称档案放在哪里?
-
建立新使用者的预设家目录内容在那个目录中?
-
建立一个新使用者时,其使用到的相关档案有哪些?
-
root 的 UID 与 GID 各为何?
-
如何让一个使用者不能登入主机,但是可以收信?
-
试说明一个使用者登入系统的流程?
-
在 /etc/shadow 当中的日期设定中,其数字代表的意义为何?
-
如何变更使用者的一些属性?
-
如何视察一个使用者 username 所拥有的群组呢?
-
试说明如何手动增加一个使用者 username
与群组 groupname?
-
试说明 /etc/passwd 这个档案的内容与格式:
-
使用 id 这个指令时,可以显示什么讯息数据?
-
可以控制使用者使用主机资源的预设档案在哪里?
-
基本的压缩指令有哪些?
九、开机程序
-
试说明开机流程:
-
开机时后的加载讯息可以看哪里?
-
改变 run-level 或关机的指令
-
改变登入 Linux 时候预设的 run-level
要改那个档案?
十、程序与资源管理
-
如何查看目前的程序?
-
如何查看目前的内存使用状况?
-
目前的工作如何丢到背景中?
-
如何取得目前背景中的工作,且将他拉回前景中?
-
如何设定一个程序在开始执行时候的优先值?
-
什么指令可以修改一个正在执行的程序之
nice 值?
-
在例行性命令中,使用的两支 demane
是什么?
-
使用 crontab 这个『指令』的时候,如何可以查看目前的工作与删除目前的工作?
-
常用的 kill 指令之 signal 当中,
1, 9, 15 代表什么?
来看看解答啰:
请注意:这些解答是 VBird 自己查书或者是实际操作所得到的答案,如果您发现这些答案是『错误的』请赶快跟
VBird
联络,好让我将数据赶快的订正!感谢大家的热情支持啰!
一、什么是 Linux 呢?!
-
试说明 Unix 与 Linux 的历史?
-
Multics 系统:由Bell(贝尔实验室)、MIT(麻省理工学院)与GE(美国通用电器)合作开发的一个系统;
-
1969:K. Thompson 替 DEC 公司写了一个简单的
file system 系统,此为 Unix 的前身,但是 Unix 一词尚未出现
-
1973:由 Bell 的 D. Richie 以 C 语言改写了 Thompson
的小系统,全部以 ASCII 档案进行改写,方便于应用!此时为第一次出现 Unix
这个操作系统的名词,不过,由于 Unix 乃针对不同的硬件而设定,因此仅出现在大型的
Server 上面看到!经过数年后,有底下几种版本:
1. System V 来自于
ATT 公司;
2. BSD 来自于加州理工学院;
3. AIX 来自于 IBM 公司
-
1979:Richard Stallman 倡导 Open source 精神;
-
1984:GNU 与 Free Software Foundation (FSF)由
R. Stallman 倡导;
-
1986:Xfree86 出现在 Unix 上面,且在 1994 年整合于
Linux 中!
-
1991:芬兰大学生 Linus Torvalds在网络上首次公告
0.02 版的 Linux Kernel ,称为 hobby。
-
简单说明 GNU General Public License
(GPL)的精神:
-
GPL 的授权之软件,乃为自由软件(Freeware),任何人皆可拥有他;
-
开发 GPL 的团体(或商业企业)可以经由该软件的服务来取得服务的费用;
-
经过 GPL 授权的软件,其属于 Open source 的情况,所以应该公布其原始码;
-
任何人皆可修改经由 GPL 授权过的软件,使符合自己的需求;
-
经过修改过后 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 的功能:
-
System call interface
-
Process control
-
Memory management
-
File System management
-
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 的优点:
最大的优点来自于其良好的资源分配!所以具有:
-
良好的多人多任务环境,资源分配平均;
-
除了免费之外,在线更新速度快,除错与安全性均较佳;
-
为 Open source 的授权,故而具有 open source 的所有优缺点;
-
网络功能强大。
-
Linux 是多人多任务的环境,请问何谓多任务(Multitask)与多人(Multiuser):
-
Multitask 指的是多任务环境,在 Linux 系统下,
CPU 与其它例如网络资源可以同时进行多项工作, Linux 最大的特色之一即在于其多任务时,资源分配较为平均!
-
Multiuser 指的是 Linux 允许多人同时连上主机之外,每个使用者皆有其各人的使用环境,并且可以同时使用系统的资源!
二、Linux 的安装与认识 Linux
支持的硬件
-
一般而言, Linux 需要的配备并不需要太高档,但
Open Linux Server 3.1.1 需要?
-
CPU 需要在 PII, PIII, P4 或 K7, K8 以上等级;
-
RAM 至少需要 64 MB,
-
硬盘至少 550 MB,全部安装则需要 1.7GB
-
什么是 IDE 界面,一般而言,普通
PC 允许几个 IDE 界面与装置?
-
IDE 为用来传输硬盘数据的一个汇流界面;
-
共有 IDE1, IDE2 ,分别有 master 与 slave 所以共四个
IDE 装置支持!
-
IDE2 的 master 之第一个 logical
磁盘中,其装置代号(文件名称)为何?
/dev/hdc5
-
在硬盘分割 (Partition)时,最多有几个
primary + extended ?
Primary + Extended 共四个,其中 Extended 通常只有一个!
( 更详细的硬盘与 MBR 可以参考 这里
这篇讨论 )
-
若在分割的时候,在 IDE1 的 slave
硬盘中,分割『六个有用』的扇区(具有 filesystem 的),此外,有两个 primary
的扇区!请问六个扇区的代号?
-
/dev/hdb1(primary)
-
/dev/hdb2(primary)
-
/dev/hdb3(extended)
-
/dev/hda5(logical 底下皆为 logical)
-
/dev/hda6
-
/dev/hda7
-
/dev/hda8
请注意,5-8 这四个 logical 相加的总和为 3!
-
一般而言安装 Linux 至少要有哪两个
partition 呢?
-
一般而言,在 RAM 为 64MB 或 128
MB 的系统中, swap 要开多大?
约两倍的 RAM ,亦即为 128 MB 或 256 MB ,可获得较佳效能!
-
网络卡(Network Interface Card,
NIC)的代号?
-
预设的 Linux 档案格式为何?又,目前常用的
Journalling 档案格式为何?
-
安装 Linux 的主要流程?
-
BIOS(决定由 cdrom 或 floppy 开机,并加载PC硬件信息)
-
载入 install kernel loader :
-
收集硬件信息
-
Hard Disk 之 Partition
-
Formation
-
Softpackage 的选择
-
开始安装!
-
什么是 GMT 时间?台北时间差几个钟头?
GMT 时间指的是格林威治时间,为标准的时间,而台北时间较
GMT 快了 8 小时!
-
Tap, SCSI 硬盘, RAID, printer
的装置代号?
-
Tap : /dev/ht0 (IDE),
/dev/st0 (SCSI);
-
SCSI H.D.: /dev/sd[a-p],
-
RAID : /dev/md[0-15];
-
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 各代表什么意思?
-
修改 /etc/inittab 里头的设定即可;
-
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 –k command 例如 man –k passwd
-
man page 的 man path 变量,记录在那个档案中呢?!
/etc/man.conf
五、vi 的使用
-
在 linux 底下最常使用的文书编辑器为
vi ,请问如何进入编辑模式?
-
在一般模式底下输入: i, I, a, A 为在本行当中输入新字符;(出现
–Insert- )
-
在一般模式当中输入: o, O 为在一个新的一行输入新字符;
-
在一般模式当中输入: r, R 为取代字符!(左下角出现
–Replace-)
-
若上下左右键无法使用时,请问如何在一般模式移动光标?
h, j, k, l
-
若 [pagedown]
[ pageup] 在一般模式无法使用时,如何往前或往后翻一页?
[Ctrl] + [f]
[Ctrl] + [b]
-
如何到本档案的最后一行、第一行;本行的第一个字符、最后一个字符?
G, 1G, 0, $
-
如何删除一行、n行;如何删除一个字符?
dd, ndd, x 或 X (dG 及 d1G 分别表示删除到页首及页尾)
-
如何复制一行、n行并加以贴上?
yy, nyy, p 或 P
-
如何搜寻 string
这个字符串?
-
?string (往前搜寻)
-
/string (往后搜寻)
-
如何取代 word1
成为 word2,而若需要使用者确认机制,又该如何?
-
:1,$s/word1/word2/g 或
-
:1,$s/word1/word2/gc (需要使用者确认)
-
如何读取一个档案
filename 进来目前这个档案?
:r filename
-
如何另存新档成为
newfilename?
:w newfilename
-
如何存档、离开、存档后离开、强制存档后离开?
:w; :q: :wq; :wq!
-
如何设定与取消行号?
:set nu
:set nonu
六、档案与目录管理
-
请问底下的目录与主要放置什么数据?
-
/etc/:几乎系统的所有设定档案均在此,尤其 passwd, shadow
-
/etc/rc.d/init.d:系统开机的时候加载服务的 scripts
的摆放地点
-
/boot:开机设定档,也是预设摆放核心 vmlinuz 的地方
-
/usr/bin, /bin:一般执行档摆放的地方
-
/usr/sbin, /sbin:系统管理员常用指令集
-
/dev:摆放所有系统装置档案的目录
-
/var/log:摆放系统登录档案的地方
-
『旧的』 Unix
系统与 Linux 系统的『文件名』最多可以容许几个字符?
14, 255
-
什么是绝对路径与相对路径,要由
/usr/share/doc 进入到 /usr/share/man 由相对路径与绝对路径的写法各为何?
-
绝对路径绝对由 / 开始写起,相对路径则非由 / 写起;
-
cd /usr/share/man ; cd ../man
-
在非为根目录的任何一个目录中,下达
ls –al 时,均会有『.』及『..』这两个目录,请问分别代表什么?
-
显示、变换目录的时候,使用什么指令?
ls, pwd 为显示; 变换目录用 cd
-
新增目录、移除目录移动目录与拷贝目录有什么指令可用?
-
新增: mkdir 目录,
-
移除: rmdir 目录(但是该目录内必须要已经清空了), rm
–rf 目录,
-
移动: mv directory1 directory2
-
拷贝: cp –r directory1 directory2
-
如何查看一个档案的『内容』(不要使用
vi 的情况下)
cat, tac, more, less, head, tail, nl, od(查看二进制制)
-
什么是 hard
link 与 soft link 的档案?有何不同?
-
Hard Links:在做成 hard link 档案时,系统会占用掉一个
inode ,由连结档案可发现其 link 字段多使用了一个 inode ,当源文件被删除的时候,该源文件的内容将继续保留在其它的
Hard Links 档案中;但所有 Link 占用的硬盘总量仅占一个档案的容量大小!(但
Hard link 不能连结不同 filesystem 的档案)
-
Soft Links:类似快捷方式,当原始档被删除,soft link 档案将找不到原始档了!
-
如何在 root
的家目录下建立一个 /bin 的连结快捷方式
ln –s /bin /root/bin
-
若有一个连结档为
testing 连结到 test1.sh ,请问 copy testing 到 /tmp 底下,『cp testing
/tmp』则 /tmp/testing 这个档案会是:(1) 连结档,连结到 test1.sh ;(2) 一般档案,为内容与
test1.sh 相同?
答案为 (2)
-
当一个档案属性为
–rwxrwxrwt 则表示这个档案的意义为?
任何人皆可读取、可写入,但是不可删除该档案(或目录),除了
root 与档案或目录拥有者有权可以删除。
-
我需要将一个档案的属性改为
–rwxr-xr-- 请问该如何下达指令?
chmod 754 filename, chmod u=rwx,g=rx,o=r filename
-
在 /usr/bin/passwd
这个档案的属性为 –r-s--x--x 请问代表什么意思(s)
那个 s 代表为 SUID ,当使用者使用这个档案进行工作的时候,将会具有该档案拥有者的权限!
-
如何改出 –rwxr-sr-x
与 –rwxr-xr-t这个属性?
chmod 2755 filename, chmod 1755 filename
-
如何查看一个档案的类型
(type) 例如纯文字文件、执行文件与 setuid 档案等?
file filename
-
若一个使用者的
umask 为 033 ,请问他建立一个新的目录与档案时的预设属性为?
-
目录:744 ? -rwx-r--r--
-
档案:633 ? -rw--wx-wx
-
若我需要更改一个档案的拥有者与群组,该用什么指令?
chown, chgrp
-
如何将一个档案的修改日期改成目前的时间?
touch filename
-
如何搜寻一个档案?
which (仅用于指令搜寻), whereis, locate, fine
-
Linux 预设的档案系统为何?此外,常用的
Journalling 档案格式有哪些?
Ext2, Journalling 有 ext3 及 Reiserfs 等
-
less 跟 more
有什么不同?
less 可以翻页,但是 more 不行!
-
在比较两个档案的异同时,常使用的是
diff 与 cmp ,请教两者有何不同?
diff 为一行一行比较, cmp 为一个字符(character)一个字符比较
六.1、磁盘挂载与虚拟内存问题
-
我要如何查看
Linux 系统当中所有已经挂载的硬盘容量与 inodes ?
df –k, df –i,
-
我要如何查看目前所在目录的所有档案占用的硬盘空间,此外,如何仅输出结果?
du -k, du –i, du -s
-
如果扇区
/dev/hda3 有问题,偏偏他是被挂载上的,请问我要如何修理此一扇区?
umount /dev/hda3
fsck /dev/hda3
-
承上题,那么有问题的档案将被移动到那个目录下?
lost+found
-
试说明新增一个
partition 在 /dev/hdb 当中,且为 hdb5时,并挂载上 /disk2 ,需要哪些步骤?
-
fdisk /dev/hdb 按 n 新增,按 e 新增 extended
,再按 n 新增 logical
-
mke2fs –b 2048 /dev/hdb5
-
mkdir /disk2
-
mount –t ext2 /dev/hdb5 /disk2
-
如何新增加
64MB 的虚拟内存 swap ?
-
dd if=/dev/zero of=/tmp/swap bs=4k count=16384
-
mkswap /tmp/swap
-
swapon /tmp/swap
-
如果要设定一个新挂载上的扇区,令他可以在开机的时候被挂载上,应该编辑哪一个档案?
-
简易说明
quota 的设置流程?
-
编辑 /etc/fstab, 加入 usrquota and/or grpquota
-
reboot
-
quotacheck –avug (会产生 aquota.user(group))
-
quotaon –aug
-
edquota –u username
-
edquota –g groupname
-
repquota –vu /dev/hd[a-d][1-16]
七、BASH SHELL
-
简单说明 bash
shell 的功能特征:
-
命令记忆功能 ~/.bash_history
-
命令别名功能 alias
-
shell scripts 功能
-
命令与文件名称补全功能 <tab>
-
工作控制功能 jobs
-
在设定变量中,主要的规则为何?
-
变量与变量内容以等号来连结;
-
等号两边不能直接接空格符;
-
变量名称只能是英文字母与数字,但是数字不能是开头字符;
-
若有空格符可以使用双引号『 " 』或单引号『 ' 』来将变量内容结合起来,但须要特别留意,双引号内可以保有变量,但是单引号则仅为一般字符;
-
必要时需要以跳脱字符『 \ 』来将特殊符号(如 Enter,
$, \, 空格符, ' 等)变成一般符号;
-
若该变量为扩增变量内容时,则需以双引号及 $变量名称如:『
"$PATH":/home』继续累加内容;
-
若该变量需要在其它子程序执行,则需要以 export 来使变量可以动作,如『export
PATH』;
-
通常大写字符为系统预设变量,自行设定变量可以使用小写字符,方便判断(纯粹依照使用者兴趣与嗜好);
-
取消变量的方法为:『unset 变量名称』
-
显示环境变量与所有变量的指令为何?
env, set,
-
在环境变量当中,『使用者家目录、主机名称』的变量名称为:
HOME, HOSTNAME
-
如何让一个变量可以持续到下一个程序
(PID) 去?
export variable
-
在变量的设定当中,双引号与单引号有何不同?
双引号里面可以包含变量,单引号谨代表一般字符!
-
Command1 `command2`
这个指令代表什么意思?
在这一行当中, command2 会先执行,而输出的结果会给
command1 当作参数。
cd /lib/modules/`uname -r`/kernel 是最常使用的一例
-
在命令重导向当中,
> 与 >> 有什么不同?
> 会将导向的 file 覆盖,
>> 则是增加!
-
若要将错误的输出导向『不见了』的装置,该如何是好?
command 2> /dev/null
-
在管线指令中,我要将
last 输出的结果显示 root 的『登入次数』, 如何做?
last | grep root | cut –d “ “ –f 1 | wc -l
-
如何设定一个变量名称为
name ,使其显示为『 VBird’s testing variable. 』?
-
name=VBird\’s\ testing\ variable.
-
name=”VBird’s testing variables.”
-
echo $name
-
请问 bash
shell 的环境变量与自己的个人变量可以登入便设定的档案?
-
Open Linux:
/etc/profile, /etc/config.d/shells/bashrc, ~/.profile,
~/.bashrc,
-
Red Hat :
/etc/profile, ~/.bash_profile, ~/.bashrc,
-
如何查询曾经操作过的指令?如何执行第
26 个操作过的指令?上一个操作过的指令?
-
如何设定命令别名?使
lm 与 ls –al|more 功能相同
alias lm=’ls –al|more’
-
如何将 /bin
的所有信息输出到 /home/testing.dat 这个档案?
ls –al /bin 1> /home/testing.dat
-
在上一题中,若还要输出到屏幕上,要如何是好?
ls –al /bin | tee /home/testing.dat
-
执行 find
,并将正确的结果输出到 right 而错误结果输出到 error 当中?
find / -name test 1> right 2>error
-
如何在指令列模式中将
/root/.bashrc 的资料加在 /home/col/.bashrc 当中?
cat /root/.bashrc >> /home/col/.bashrc
-
不要显示执行的结果要如何是好?
command > /dev/null 2>$1
-
列出这个月曾经登入主机的使用者信息即可,不需要重复?
last | cut –d” “ –f1 | sort | uniq
-
万用字符当中,
*, ?, [] 各代表什么意思?
-
* 代表 0 到无限多个字符;
-
? 代表一个任意字符;
-
[] 代表一个字符,这个字符在某一个限制范围内。
七.1、SHELL SCRIPTS
-
什么是 shell
scripts ? scripts 有何功用?
-
简单的说, scripts 就是一个内部含有多个或复杂的 command
的纯文本文件;
-
scripts 可以进行 program 的功能,但速度上较 C 慢了点!
-
要撰写可以经由键盘输入的
scripts 时,常使用到的指令?
read variable
-
在 shell
script 当中,在控制式中, && 与 || 代表什么意思?
分别代表『和(同时成立)』及『或(仅其一成立就成立)』的意思!
-
在使用循环的时候,常使用到的控制式为哪三个?
for, while, until
-
执行 scripts
的方法有哪两种?
-
使用 sh script 或
-
以 chmod 增加 scripts 的属性为可执行, chmod 777 script
并执行 scripts。
-
如何宣告一个变量成为整数型态?
declare -i variable
-
为何在 shell
script 前面都要宣告 shell 呢?
宣告 shell 方能让 script 了解该内容需要以何种 shell
来执行!目前 Linux 通常宣告 /bin/bash 这个 shell ,然而若在非 shell 环境中,又没有宣告
shell 类型时,可能会造成 script 无法执行的情况。
-
在判断式中,如何判断一个档名是否存在?
if [ -e filename ] 若存在则回传值为真!
-
在执行一个
scripts 时,在 scripts 内的变量, $0, $1 代表什么?
-
$0 代表 scripts 的檔名;
-
$1 代表第一个 parameter,例如 /etc/rc.d/init.d/xinetd
start 那个 start 的变数即为 $1
-
若要写一个既定的
parameter (如 start ),用哪一个判断式较简单?
可以使用 case …. Esac 的语法较为简单。
-
如何印出目前系统中的所有账号,并加以排序且输出到
/tmp/account 中?
cut -d ‘:’ -f 1 /etc/passwd | sort > /tmp/account
-
如何在不执行
scripts 的情况中 debug ?
sh -n scripts
八、基本账号管理
-
如何新增一个使用者
username,且该使用者没有家目录?
useradd -M username
-
Linux 使用者的账号、密码与群组的名称档案放在哪里?
-
/etc/passwd
-
/etc/shadow
-
/etc/group
-
建立新使用者的预设家目录内容在那个目录中?
/etc/skel
-
建立一个新使用者时,其使用到的相关档案有哪些?
-
/etc/default/useradd,
-
/etc/login.defs,
-
/etc/skel/
-
/etc/passwd,
-
/etc/shadow
-
root 的 UID
与 GID 各为何?
皆为 0
-
如何让一个使用者不能登入主机,但是可以收信?
将 /etc/passwd 最后一栏代表 shell 的名称改为 /bin/false
-
试说明一个使用者登入系统的流程?
-
登入:使用 /bin/login 程序,并输入 ID 与 passwd ;
-
确认密码:搜寻 /etc/passwd, /etc/shadow 确认密码!并取得使用者的相关讯息。
-
查核 pam 登入模块:这个需要视主机的设定而定!
-
取得并执行 shell :由 /etc/passwd 取得 shell 之后,并执行
shell ,以 bash 为例,将读入: /ete/profile ? ~/.bash_profile ( 或 .bash_login
或 .profile ) ? ~/.bashrc ? 注销的时候执行 ~/.bash_logout
-
在 /etc/shadow
当中的日期设定中,其数字代表的意义为何?
由 1970 年开始计算,故 1970 年 一月一日为 1 ,2002
年 1 月 1 日为11689
-
如何变更使用者的一些属性?
usermod, chfn, chsh, passwd
-
如何视察一个使用者
username 所拥有的群组呢?
groups username
-
试说明如何手动增加一个使用者
username 与群组 groupname?
-
先看看 /etc/skel 当中,预设要给 user 的家目录内容;
-
新增 group : groupadd groupname
-
新增 user :useradd -m -g groupname username
-
给予密码: passwd username
-
试说明 /etc/passwd
这个档案的内容与格式:
账号; 密码; UID; GID; 说明的内容; 家目录; SHELL
-
使用 id 这个指令时,可以显示什么讯息数据?
UID, GID 跟 GROUP
-
可以控制使用者使用主机资源的预设档案在哪里?
/etc/security/limits.conf
-
基本的压缩指令有哪些?
tar, gzip, compress
九、开机程序
-
试说明开机流程:
-
BIOS
-
MBR ( boot loader )
-
Loader ( lilo or grub, stage 1 and stage 2 )
-
Kernel loader ( /boot/vmlinuz )
-
init process ( 读取 /etc/inittab 取得 run-level )
-
开始执行 /etc/rc.d 内的 scripts
-
执行 /etc/modules.conf 内部的额外 kernel 模块
-
执行 /etc/rc.d/rc[1-6].d 的这些 run-level 内的 scripts
!
-
执行 /bin/login 等待使用者登入!
-
开机时后的加载讯息可以看哪里?
dmesg
grep “kernel” /var/log/messages
-
改变 run-level
或关机的指令
shutdown,
halt,
reboot,
init or telinit
-
改变登入 Linux
时候预设的 run-level 要改那个档案?
/etc/inittab
十、程序与资源管理
-
如何查看目前的内存使用状况?
free, top,
-
如何取得目前背景中的工作,且将他拉回前景中?
jobs 及 fg %number
-
如何设定一个程序在开始执行时候的优先值?
nice –n [number] [command]
-
什么指令可以修改一个正在执行的程序之
nice 值?
top, renice
-
在例行性命令中,使用的两支
demane 是什么?
atd,
crond
-
使用 crontab
这个『指令』的时候,如何可以查看目前的工作与删除目前的工作?
编辑: crontab –e,
查看: crontab –l,
删除: crontab –r
-
常用的 kill
指令之 signal 当中, 1, 9, 15 代表什么?
-
1 重新读取一次 config file
-
9 强制删除此一执行程序
-
15 terminal结束的意思!
2002/06/29 以来统计人数
Designed by VBird
during 2001-2004. Aerosol Lab.