一些基础的 Linux 问题

一些基础的 Linux 问题
最近更新日期:2005/05/23

--------------------------------------------------------------------------------
一些基础的 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 来自于 AT&T 公司;
2. BSD 来自于柏克莱大学 (UC Berkeley);
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 呢?
根目录 / (root)
虚拟记忆体 Swap
一般而言,在 RAM 为 64MB 或 128 MB 的系统中, swap 要开多大?
约两倍的 RAM ,亦即为 128 MB 或 256 MB ,可获得较佳效能!
光碟机与软碟机的代号(装置档案名称)?
/dev/cdrom
/dev/fd0
网路卡(Network Interface Card, NIC)的代号?
/dev/eth0
预设的 Linux 档案格式为何?又,目前常用的 Journalling 档案格式为何?
Ext2
Ext3, Reseifs
安装 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-)
如何由编辑模式跳回一般模式?
[Esc]
若上下左右键无法使用时,请问如何在一般模式移动游标?
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--
档案:644 ? -rw-r--r--
若我需要更改一个档案的拥有者与群组,该用什么指令?
chown, chgrp
如何将一个档案的修改日期改成目前的时间?
touch filename
如何搜寻一个档案?
which (仅用于指令搜寻), whereis, locate, find
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
如果要设定一个新挂载上的磁区,令他可以在开机的时候被挂载上,应该编辑哪一个档案?
先 /etc/fstab
再 mount –a
简易说明 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 个操作过的指令?上一个操作过的指令?
history
!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

--------------------------------------------------------------------------------
十、程序与资源管理
如何查看目前的程序?
ps, top,
如何查看目前的记忆体使用状况?
free, top,
目前的工作如何丢到背景中?
[Ctrl] + z
如何取得目前背景中的工作,且将他拉回前景中?
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结束的意思!

时间: 2024-12-15 04:52:59

一些基础的 Linux 问题的相关文章

Linux基础概念-----Linux I/O重定向 ,管道

标准输入:键盘 标准输出:显示器 错误输出:显示器 FD:文件描述符:让程序可以文件交互,并且便于内核识别文件,打开的每一个文件都有一个描述符 程序在和文件交互式,通过文件描述符来进行交互,而非文件名,文件名是方便用户分别文件. Linux一切皆文件,所以标准输入,标准输出都有各自的文件描述符 标准输入描述符:0 标准输出描述符:1 标准错误输出描述符:2 将其默认数据流改为其他设备:IO重定向 输出重定向 > 覆盖重定向 >> 追加重定向 /dev/null  黑洞 只针对当前Shel

Linux基础概念-----Linux权限

权限对象: 属主:u 属组:g 其他人: o 所有人:a Linux基本权限 读:read 标识为:r 八进制标识为:4 写:write 标识为:w 八进制标识:2 执行:execution 标识为:x 八进制标识:1 特殊权限 setuid:仅对文件(可执行的二进制程序)有效,以文件的所有者身份执行 八进制表现为:4 [[email protected] tmp]# ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 30768 Feb 22  2012

基础的 Linux 网络命令,你值得拥有

导读 有抱负的 Linux 系统管理员和 Linux 狂热者必须知道的.最重要的.而且基础的 Linux 网络命令合集.在 It’s FOSS 我们并非每天都谈论 Linux 的“命令行方面”.基本上,我更专注于 Linux 的桌面端.但你们读者中的一些人在内部调查(仅面向 It's FOSS newsletter 订阅者)中指出,你们也想学些命令行技巧.速查表也受大部分读者所喜欢和支持. 为此,我编辑了一个 Linux 中基础网络命令的列表.它并不是一个教你如何使用这些命令的教程,而是一个命令

你必须了解的基础的 Linux 网络命令

Linux 基础网络命令列表 我在计算机网络课程上使用 FreeBSD,不过这些 UNIX 命令应该也能在 Linux 上同样工作. 连通性 ping <host>:发送 ICMP echo 消息(一个包)到主机.这可能会不停地发送直到你按下 Control-C.Ping 的通意味着一个包从你的机器通过 ICMP 发送出去,并在 IP 层回显.Ping 告诉你另一个主机是否在运行. telnet <host> [port]:与主机在指定的端口通信.默认的 telnet 端口是 23

Linux学习之CentOS(二十八)--RAID原理基础及Linux下软件RAID配置

转自:http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/20/3089554.html 本篇随笔将详细讲解RAID的原理基础以及Linux下软件RAID的配置 一.RAID的原理基础 在 讲解RAID的原理基础之前,我们首先来了解一下传统磁盘的劣势.我们知道一台PC机种都会包含CPU.内存.主板.硬盘.网卡等硬件,影响计算机性能的 组建包括:CPU.主板总线IO.内存IO.硬盘IO.网卡IO等.可能我们在一提到影响计算机的性能时,首先

快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础

上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是Windows,装虚拟机也麻烦,所以还不如30块钱 买个腾讯云,用putty远程练上去写代码呢. 我一直都是putty+VIM在Linux下开发代码,好几年了,只要把putty和VIM配置好,其实 开发效率挺高的. 买好腾讯云后,装个Centos,会分配个外网IP,然后买个域名,在DNSPod解析过去

Linux基础知识--Linux的文件系统和bash的基础特性

Linux基础知识--linux的文件系统和bash的基础特性 一.Linux文件系统: Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件.目录.软连接及文件保护信息等都存储在其中 linux文件系统遵循FHS(Filesystem Hierarchy Standard,文件系统目录标准),多数Linux版本采用这种文件组织形式.FHS采用了树行组织文件. FHS定义了两层规范,第一层是,/目录下面的各个目录应该要

零基础嵌入式Linux开发工程师培训视频

零基础嵌入式Linux开发工程师高端培训(ARM实战.系统移植.驱动开发.网络电子书开发)适合人群:初级课时数量:336课时用到技术:ARM实战.系统移植.驱动开发涉及项目:网络电子书开发.案例咨询qq:1840215592 课程大纲:C语言基础篇:实用嵌入式C Linux程序设计第一章 嵌入式开发基础及功能演示第二章 C语言基础第三章 C语言中的循环第四章 数组和字符串第五章 函数和指针 Linux应用篇:嵌入式Linux应用程序开发第一部分:嵌入式软硬件平台概述第二部分:嵌入式linux系统

零基础嵌入式Linux开发视频教程

零基础嵌入式Linux开发工程师高端培训(ARM实战.系统移植.驱动开发.网络电子书开发) 适合人群:初级 课时数量:336课时 用到技术:ARM实战.系统移植.驱动开发 涉及项目:网络电子书开发.案例 咨询qq:1840215592 课程大纲: C语言基础篇:实用嵌入式C Linux程序设计 第一章 嵌入式开发基础及功能演示 第二章 C语言基础 第三章 C语言中的循环 第四章 数组和字符串 第五章 函数和指针 Linux应用篇:嵌入式Linux应用程序开发 第一部分:嵌入式软硬件平台概述 第二