19Linux基础练习题19Word格式.docx
《19Linux基础练习题19Word格式.docx》由会员分享,可在线阅读,更多相关《19Linux基础练习题19Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
5517***umount/dev/hdc
(3)由超级用户登录,用crontab执行prgx文件中的内容:
root@xxx:
#crontabprgx;
在每日早晨8:
00之前开机后即可自动启动crontab。
3.设计一个shell程序,在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。
Shell程序fileback存放在/usr/bin目录下。
(1)编写shell程序fileback:
DIRNAME=`ls/root|grepbak`
if[-z"
$DIRNAME"
];
then
mkdir/root/bak
cd/root/bak
fi
YY=`date+%y`
MM=`date+%m`
DD=`date+%d`
BACKETC=$YY$MM$DD_etc.tar.gz
tarzcvf$BACKETC/etc
echo"
filebackfinished!
"
(2)编写任务定时器:
001**/bin/sh/usr/bin/fileback"
>
/root/etcbakcron
crontab/root/etcbakcron
或使用crontab-e命令添加定时任务:
01***/bin/sh/usr/bin/fileback
4.有一普通用户想在每周日凌晨零点零分定期备份/user/backup到/tmp目录下,该用户应如何做?
(1)第一种方法:
用户应使用crontab-e命令创建crontab文件。
格式如下:
00**suncp-r/user/backup/tmp
(2)第二种方法:
用户先在自己目录下新建文件file,文件内容如下:
0**suncp-r/user/backup/tmp
然后执行crontabfile使生效。
5.设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:
读;
文件所有者的权限为:
读、写、执行;
文件所有者所在组的权限为:
读、执行。
while[i-le50]
if[-d/userdata];
then
mkdir-p/userdata/user$i
chmod754/userdata/user$i
user$i"
let"
i=i+1"
(或i=$(($i+1))
else
mkdir/userdata
6.简述linux的几个运行级别及其相应的含义
0-关机模式,
1-单用户模式,单用户只有系统管理员可以登录。
2-多用户模式,但是不支持文件共享,例如不支持NFS服务.这种模式不常用。
3-完全的多用户模式,支持NFS服务.最常用的用户模式,默认登录到系统的字符界面。
4-保留模式。
5-完全多用户模式,默认登录到X-window系统,也就是登录到linux图形界面。
6-重启模式,也就是执行关闭所有运行的进程,然后重新启动系统。
7.什么是链接?
符号链接与硬链接的区别是什么?
链接是指用一个i节点对应多个文件名。
硬链接是把文件的i节点号指向该i节点,
且链接计数器值加1。
删除链接文件时计数器值减1,当其值为0时,i节点被释放。
符号链接是只有文件名的一个链接文件,并不指向一个真正的i节点。
在删除符号链接文件时与硬链接文件有区别。
8.Shell程序中,对用户变量赋值有哪些方式?
简要说明每种赋值方式的使用方法。
1)等号赋值
1)在等号前后均不能有空格。
2)当需要将一个包含空格的字符串赋给用户变量时,应用单引号将该字符串括起来。
(2)键盘赋值
由read命令来实现的。
用法为:
reaD、用户变量名
当shell程序执行到该行时,将等待用户从键盘输入,
当用户按下回车键时shell把你输入的内容赋给用户变量。
(3)命令替换赋值
用户变量=`命令`
该语句将首先执行反向单引号之间的命令,
然后将其执行后输出的内容赋给该用户变量,在这种赋值方式中,
等号前后同样不能有空格,而且必须用反向单引号(即重音号)把命令括起来。
9.一个GBytes的硬盘空间,等于几个KBytes?
1GBytes=1024MBytes*1024KBytes/MBytes=1048576KBytes
10.你在你的主机上面安装了一张网络卡,但是开机之后,系统却无法使用,您确定网
络卡是好的,那么可能的问题出在哪里?
该如何解决?
因为所有的硬件都没有问题,所以,可能出问题的地方在于系统的核心(kernel)不支持这张
网络卡。
解决的方法,到网络卡的开发商网站,下载支援您主机作业系统的驱动程序,安装
网络卡驱动程序后,就可以使用了。
11.我在Windows上面玩的游戏,可不可以拿到Linux去玩?
当然不行!
跟上一题相似的,因为游戏也是一个应用程序(application),他必须要使用到核
心所提供的工具来开发他的游戏,所以这个游戏是不可在不同的平台间运作的。
除非这个游
戏已经进行了移植。
12.简单的说明一下什么是GNU的GPL?
1.任何个人或公司均可释出自由软件(freesoftware);
2.任何释出自由软件的个人或公司,均可由自己的服务来收取适当的费用;
3.该软件的原始码(SourceCode)需要随软件附上,并且是可公开发表的;
4.任何人均可透过任何正常管道取得此一自由软件,且均可取得此一授权模式。
13.何谓多人(Multi-user)多任务(Multitask)?
Multiuser指的是Linux允许多人同时连上主机之外,每个使用者皆有其各人的使用环境,
并且可以同时使用系统的资源!
Multitask指的是多任务环境,在Linux系统下,CPU与其他例如网络资源可以同时进行多
项工作,Linux最大的特色之一即在于其多任务时,资源分配较为平均!
14.若在分割的时候,在IDE1的slave硬盘中,分割『六个有用』的磁区(具有filesystem
的),此外,有两个primary的磁区!
请问六个磁区的代号?
/dev/hdb1(primary)
/dev/hdb2(primary)
/dev/hdb3(extendeD、
/dev/hdb5(logical底下皆为logical)
/dev/hdb6
/dev/hdb7
/dev/hdb8
15.一般而言,在RAM为64MB或128MB的系统中,swap要开多大?
Swap可以简单的想成是虚拟记忆体,通常他的建议大小为RAM的两倍,但是实际上还是
得视您的主机规格配备与用途而定。
约两倍的RAM,亦即为128MB或256MB,可获得
较佳效能!
16.如果我的磁盘分区时,设定了四个Primary磁区,但是磁盘还有空间,请问我还能
不能使用这些空间?
不行!
因为最多只有四个Primary的磁盘分区槽,没有多的可以进行分割了!
且由于没有
Extended,所以自然不能再使用Logical分割说
17.磁盘分区之后会有所谓的Primary,Extended与Logical的磁盘分区槽,请问何者为
可使用的Partition?
只有Primary与Logical为可用,Extended为不可直接使用的Partition,还需要再次的分割
成为Logical之后,才可以继续使用!
而最大可分割出来的Partition应该有63个才对!
18.请问如果我以文本模式登入Linux主机时,我有几个终端机接口可以使用?
如何切
换各个不同的终端机界面?
共有六个,tty1~tty6,切换的方式为Crtl+Alt+[F1]~[F6],其中,[F7]为图形接口的使用。
19.我想要知道date如何使用,应该如何查询?
最简单的方式就是使用mandate或infodate来查看,如果该套件有完整说明的话,那么应
该也可以在/usr/share/doc里面找到说明档!
20.若以X-Window为预设的登入方式,那请问如何进入Virtualconsole呢?
可以按下[Ctrl]+[Alt]+[F1]~[F6]进入Virtualconsole(共六个);
而按下[Ctrl]+[Alt]+[F8]或[F7]
可回到X-Window的desktop中!
21.Linux提供相当多的线上查询,称为manpage,请问,我如何知道系统上有多少关
于passwd的说明?
又,可以使用其他的程序来取代man的这个功能吗?
可以利用man-fpasswd来查询,另外,如果有提供info的文件资料时(在/usr/share/info/目
录中),则能够利用infopasswd来查询之!
22.man-kpasswd与man-Kpasswd有什么差异(大小写的K)?
小写的-k为查询关键字,至于-K则是整个系统的manpage查询~每个被检查到有关键字的
manpagefile都会被询问是否要显示,您可以输入『ynq』,来表示:
y:
要显示到萤幕上;
n:
不显示;
q:
结束man的查询。
23.在man的时候,manpage显示的内容中,指令(或档案)后面会接一组数字,这个
数字若为1,5,8,表示该查询的指令(或档案)意义为何?
代表意义为1)一般用户可以使用的指令或可执行档案5)一些设定档的档案内容格式8)系统
管理员能够使用的管理指令。
24.当我输入mandate时,在我的终端机却出现一些乱码,请问可能的原因为何?
如何
修正?
如果没有其他错误的发生,那么发生乱码可能是因为语系的问题所致。
可以利用LANG=en
或者是LANG=en_US等设定来修订这个问题。
25.请问底下的目录与主要放置什么资料:
/etc/,/etc/init.d,/boot,/usr/bin,/bin,/usr/sbin,/sbin,/dev,/var/log
o/etc/:
几乎系统的所有设定档案均在此,尤其passwd,shadow
o/etc/init.d:
系统开机的时候载入服务的scripts的摆放地点
o/boot:
开机设定档,也是预设摆放核心vmlinuz的地方
o/usr/bin,/bin:
一般执行档摆放的地方
o/usr/sbin,/sbin:
系统管理员常用指令集
o/dev:
摆放所有系统装置档案的目录
o/var/log:
摆放系统登录档案的地方
26.什么是绝对路径与相对路径
绝对路径的写法为由/开始写,至于相对路径则不由/开始写!
此外,相对路径为相对于目前
工作目录的路径!
27.如何更改一个目录的名称?
例如由/home/test变为/home/test2
mv/home/test/home/test2
28.当一个使用者的umask分别为033与044他所建立的档案与目录的权限为何?
在umask为033时,则预设是拿掉group与other的w
(2)x
(1)权限,因此权限就成为『档案
-rw-r--r--,目录drwxr--r--』而当umask044时,则拿掉r的属性,因此就成为『档案-rw--w--w-,
目录drwx-wx-wx』
29.当我要查询/usr/bin/passwd这个档案的一些属性时,可以使用什么指令来查询?
ls-al,file,lsattr
30.如何增加一个新的硬盘在你的Linux系统当中?
请详述流程:
(1)安装硬盘:
关掉Linux主机电源,调整HardDisk的Jump(master或slave),串接在IDE
的接口,请注意,留意你增加的硬盘所串接的IDE接口为哪一个插槽,例如你插在IDE2的
Master,则你的硬盘应为hdc;
此外,需要特别留意的是,目前的机器中,如果是ATA66
以上的排线(那种很密的排线),那么master或者是slave在排线上的顺序是固定的!
底端
的是Mater而中间的是Slave,这点请稍微注意呦!
(2)新增硬件于BIOS:
开启电脑后,按del键进入BIOS,选择IDEHardDiskDetector字样的选
项,让BIOS去捉硬盘,然后再选择SaveandExit;
不过,较新的机器通常都可以自动侦测了!
但是,如果你的机器是旧型的,那么还是手动来增加硬盘吧!
(3)Linux系统侦测:
如果你的Linux系统有启动kudzu这个服务时,那么开机就会自动去侦测
新的硬件装置!
FedoraCoreIV预设是有开启这项服务的,除非你关掉他了!
OK,假设你
有开启这项服务,那么开机进入Linux的时候,系统会告诉你有捉到一个新的硬件,你可以
按『configure』由系统直接安装即可;
(4)格式化硬盘:
以root的身份进入Linux后,执行以下两个程序:
fdisk/dev/hd[ad]与mke2fs
/dev/hd[ad][1-16]。
(5)建立mountpoint:
假设我的这颗硬盘要挂在/disk3下面,那么就需要:
mkdir/disk3
(6)开机自动载入(mount):
再来则是以vi修改/etc/fstab档案,让每次开机把这个硬盘直接
挂入系统中。
(7)安装完成:
你可以使用mount-a来将全部的装置重新挂载一遍,或者是重新开机就可以
啦!
31.假设条件:
我原先规划的/home只有1GB,但是目前的用户日众,所以容量不足!
我想要增加一棵8GB的旧硬盘,要如何作?
(1)将硬盘加入Linux系统中:
利用刚刚上一题的方式将你的硬盘加入到Linux系统中,亦即
是使用fdisk与mke2fs建立了ext2的档案格式的硬盘!
好了,假设该硬盘的代号为/dev/hdc1
好了!
(2)挂载新硬盘:
由于我需要将新旧磁区都挂上来,这样才有办法将资料由旧硬盘移到新硬
盘上面,OK!
我就建立一个暂存的目录,称为/disk-tmp:
mkdir/disk-tmp
mount-text2/dev/hdc1/disk-tmp
如此一来则/disk-tmp就是新挂上来那颗8GB的硬盘啦!
(3)移动资料:
现在开始将资料copy到新挂上的硬盘上面吧!
cd/home
tar-zcvf/disk-tmp/home.tar.gz*
cd/disk-tmp
tar-zxvfhome.tar.gz
上面的指令会将目前旧有的/home底下的东西完全的压缩之后移动到/disk-tmp/home.tar.gz
这个压缩档,然后再到/disk-tmp底下将他解压缩!
这样资料就复制到新挂上来的硬盘啦!
卸载旧的,挂上新的:
好了,那么我们就开始来测试一下吧!
你可以这样做:
10
umount/home
mount-text2/dev/hdc1/home
注意呦!
如果你的/home底下原本就没有挂载磁区的话,那么你就可以直接将/home底下
的资料都砍掉,然后在挂上新的那颗硬盘就好了!
而home.tar.gz这个档案就可以用作为备
份之用!
(4)开机执行:
同样的,如果要设定成开机就挂上这颗新的硬盘,那就修改/etc/fstab档案吧!
32.如果磁区/dev/hda3有问题,偏偏他是被挂载上的,请问我要如何修理此一磁区?
umount/dev/hda3
fsck/dev/hda3
33.我们常常说,开机的时候,『发现硬盘有问题』,请问,这个问题的产生是『filesystem
的损毁』,还是『硬盘的损毁』?
特别需要注意的是,如果您某个filesystem里面,由于操作不当,可能会造成Superblock资
料的损毁,或者是inode的架构损毁,或者是blockarea的记录遗失等等,这些问题当中,
其实您的『硬盘』还是好好的,不过,在硬盘上面的『档案系统』则已经无法再利用!
一般
来说,我们的Linux很少会造成filesystem的损毁,所以,发生问题时,很可能整个硬盘都
损毁了。
但是,如果您的主机常常不正常断电,那么,很可能硬盘是没问题的,但是,档案
系统则有损毁之虞。
此时,重建档案系统(reinstall)即可!
不需要换掉硬盘啦!
34.我要在某个档案的第34行向右移动15个字符,应该在一般模式下达什么指令?
先按下34G到第34行;
再按下[15+向右键],或[15l]亦可!
35.在vi里面,PageDown按钮可以使用什么组合键来取代?
[Ctrl]+f可以向后翻一页
36.如何去到vi该档案里面的页首或页尾?
去页首按下1G;
去页尾按下G即可
37.如何在一行中,移动到行头及行尾?
移动到行头,按0,移动到行尾按$即可!
38.在linux底下最常使用的文书编辑器为vi,请问如何进入编辑模式?
在一般模式底下输入:
i,I,a,A为在本行当中输入新字符;
(出现-Insert-)
在一般模式当中输入:
o,O为在一个新的一行输入新字符;
r,R为取代字符!
(左下角出现-Replace-)
39.若上下左右键无法使用时,请问如何在一般模式移动游标?
[h,j,k,l]分别代表[左、下、上、右]
40.如何到本档案的最后一行、第一行;
本行的第一个字符、最后一个字符?
分别为:
G,1G,0,$