> IT面试 >

2013最新linux运维面试题(4)

三.简答题:

1.简述Linux 文件系统通过i 节点把文件的逻辑结构和物理结构转换的工作过程。 参考答案:

Linux 通过i 节点表将文件的逻辑结构和物理结构进行转换。

i 节点是一个64 字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有 者、文件的存取许可方式以及文件的类型等重要信息。在i 节点表中最重要 的内容是磁盘 地址表 。在磁盘地址表中有13 个块号,文件将以块号在磁盘地址表中出现的顺序依次读 取相应的块。Linux 文件系统通过把i 节点和文件名进行 连接,当需要读取该文件时,文
 

件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的i 节点号,通过该 i 节点的磁盘地址表把分散存放的文件物 理块连接成文件的逻辑结构。

2.简述进程的启动、终止的方式以及如何进行进程的查看。

参考答案:

在Linux 中启动一个进程有手工启动和调度启动两种方式:

(1)手工启动

用户在输入端发出命令,直接启动一个进程的启动方式。可以分为:

①前台启动:直接在SHELL 中输入命令进行启动。

②后台启动:启动一个目前并不紧急的进程,如打印进程。

(2)调度启动

系统管理员根据系统资源和进程占用资源的情况,事先进行调度安排,指定任务运行的时间 和场合,到时候系统会自动完成该任务。

经常使用的进程调度命令为:at、batch、crontab。

3. 简述DNS 进行域名解析的过程。

参考答案:

首先,客户端发出DNS 请求翻译IP 地址或主机名。DNS 服务器在收到客户机的请求后:

(1)检查DNS 服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息;

(2)若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答信 息;

(3)若没有查到,则将请求发给根域DNS 服务器,并依序从根域查找顶级域,由顶级查 找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS 服务器发出应答信息,DNS 服务器收到应答后现在缓存中存储,然后,将解析结果发给客 户机。

(4)若没有找到,则返回错误信息。

4.系统管理员的职责包括那些?管理的对象是什么?

参考答案:

系统管理员的职责是进行系统资源管理、设备管理、系统性能管理、安全管理和系统性能监 测。管理的对象是服务器、用户、服务器的进程及系统的各种资源等。

5.简述安装Slackware Linux 系统的过程。

参考答案:

(1)对硬盘重新分区。 (2)启动Linux 系统(用光盘、软盘等)。

(3)建立Linux 主分区和交换分区。(4)用setup 命令安装Linux 系统。

(5)格式化Linux 主分区和交换分区(6)安装Linux 软件包

(7)安装完毕,建立从硬盘启动Linux 系统的LILO 启动程序,或者制作一张启动Linux 系统的软盘。重新启动Linux 系统。

6.什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?

参考答案:

静态路由是由系统管理员设计与构建的路由表规定的路由。适用于网关数量有限的场合,且 网络拓朴结构不经常变化的网络。其缺点是不能动态地适用网络状况的变化,当网络状况变 化后必须由网络管理员修改路由表。

动态路由是由路由选择协议而动态构建的,路由协议之间通过交换各自所拥有的路由信息实 时更新路由表的内容。动态路由可以自动 学习 网络的拓朴结构,并更新路由表。其缺点是 路由广播更新信息将占据大量的网络带宽。

87.进程的查看和调度分别使用什么命令?
 

参考答案:

进程查看的命令是ps 和top。

进程调度的命令有at,crontab,batch,kill。

8.当文件系统受到破坏时,如何检查和修复系统?

参考答案:

成功修复文件系统的前提是要有两个以上的主文件系统,并保证在修复之前首先卸载将被修 复的文件系统。

使用命令fsck 对受到破坏的文件系统进行修复。fsck 检查文件系统分为5 步,每一步检查 系统不同部分的连接特性并对上一步进行验证和修改。在执行 fsck 命令时,检查首先从超 级块开始,然后是分配的磁盘块、路径名、目录的连接性、链接数目以及空闲块链表、i-node。

9.解释i 节点在文件系统中的作用。

参考答案:

在linux 文件系统中,是以块为单位存储信息的,为了找到某一个文件在存储空间中存放的 位置,用i 节点对一个文件进行索引。I 节点包含了描述一个文件所必须的全部信息。所以 i 节点是文件系统管理的一个数据结构。

10.什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?

参考答案:

链接分硬链接和符号链接。

符号链接可以建立对于文件和目录的链接。符号链接可以跨文件系统,即可以跨磁盘分区。 符号链接的文件类型位是l,链接文件具有新的i 节点。

硬链接不可以跨文件系统。它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接 文件的i 节点同被链接文件的i 节点相同。

11.在对linux 系统分区进行格式化时需要对磁盘簇(或i 节点密度)的大小进行选择,请 说明选择的原则。

参考答案:

磁盘簇(或i 节点密度)是文件系统调度文件的基本单元。磁盘簇的大小,直接影响系统调 度磁盘空间效率。当磁盘分区较大时,磁盘簇也应选得大些;当分区较小时,磁盘簇应选得 小些。通常使用经验值。

1

2.简述网络文件系统NFS,并说明其作用。

参考答案:

网络文件系统是应用层的一种应用服务,它主要应用于Linux 和Linux 系统、Linux 和Unix 系统之间的文件或目录的共享。对于用户而言可以通过 NFS 方便的访问远地的文件系统, 使之成为本地文件系统的一部分。采用NFS 之后省去了登录的过程,方便了用户访问系统 资源。

13.某/etc/fstab 文件中的某行如下:

/dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2

请解释其含义。

参考答案:

(1)第一列:将被加载的文件系统名;(2)第二列:该文件系统的安装点;

(3)第三列:文件系统的类型;(4)第四列:设置参数;

(5)第五列:供备份程序确定上次备份距现在的天数;

(6)第六列:在系统引导时检测文件系统的顺序。

14.Apache 服务器的配置文件httpd.conf 中有很多内容,请解释如下配置项:
 

(1)MaxKeepAliveRequests 200 (2)UserDir public_html

(3)DefaultType text/plain (4)AddLanguare en.en

(5)DocumentRoot―/usr/local/httpd/htdocs‖

(6)AddType application/x-httpd-php.php.php.php4

参考答案:

(1)允许每次连接的最大请求数目,此为200;(2)设定用户放置网页的目录;

(3)设置服务器对于不认识的文件类型的预设格式;

(4)设置可传送语言的文件给浏览器;(5)该目录为Apache 放置网页的地方;

(6)服务器选择使用php4。

15.某Linux 主机的/etc/rc.d/rc.inet1 文件中有如下语句,请修正错误,并解释其内容。 /etc/rc.d/rc.inet1:

……

ROUTE add –net default gw 192.168.0.101 netmask 255.255.0.0 metric 1

ROUTE add –net 192.168.1.0 gw 192.168.0.250 netmask 255.255.0.0 metric 1

参考答案:

修正错误:

(1)ROUTE 应改为小写:route;(2)netmask 255.255.0.0 应改为:netmask

255.255.255.0;

(3)缺省路由的子网掩码应改为:netmask 0.0.0.0;

(4)缺省路由必须在最后设定,否则其后的路由将无效。

解释内容:

(1)route:建立静态路由表的命令;(2)add:增加一条新路由;

(3)-net 192.168.1.0:到达一个目标网络的网络地址;

(4)default:建立一条缺省路由;(5)gw 192.168.0.101:网关地址;

(6)metric 1:到达目标网络经过的 路由器 数(跳数)。

16.试解释apache 服务器以下配置的含义:

(1)port 1080 (2)UserDir userdoc

(3)DocumentRoot ―/home/htdocs‖

(4)<Directory /home/htdocs/inside>;

Options Indexes FollowSymLinks

AllowOverride None

Order deny,allow

deny from all

allow from 192.168.1.5

</Directory>;

(5)Server Type Standlone

参考答案:

Apache 服务器配置行含义如下:

(1)将apache 服务器的端口号设定为1080;

(2)设定用户网页目录为userdoc;

(3)设定apache 服务器的网页根目录:/home/htdocs;

(4)在此apache 服务器上设定一个目录/home/htdocs/inside,且此目录只允许IP 地 址为192.168.1.5 的主机访问;

(5)定义apache 服务器以独立进程的方式运行。
 

17.简述使用ftp 进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp 文件传 输命令是什么?

参考答案:

(1)ftp 有两种登录方式:匿名登录和授权登录。使用匿名登录时,用户名为:anonymous, 密码为:任何合法email 地址;使用授权登录时,用户名为用户在远程系统中的用户帐号, 密码为用户在远程系统中的用户密码。

区别:使用匿名登录只能访问ftp 目录下的资源,默认配置下只能下载;而授权登录访问的 权限大于匿名登录,且上载、下载均可。

(2)ftp 文件传输有两种文件传输模式:ASCII 模式和binary 模式。ASCII 模式用来传 输文本文件,其他文件的传输使用binary 模式。

(3)常用的ftp 文件传输命令为:bin、asc、put、get、mput、mget、prompt、bye

四.编程与应用题:

1.用Shell 编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下。 参考程序:

#!/bin/sh

FILENAME=

echo ―Input file name:‖

read FILENAME

if [ -c "$FILENAME" ]

then

cp $FILENAME /dev

fi

2.请下列shell 程序加注释,并说明程序的功能和调用方法:#!/bin/sh

#!/bin/sh

#

# /etc/rc.d/rc.httpd

#

# Start/stop/restart the Apache web server.

#

# To make Apache start automatically at boot, make this

# file executable: chmod 755 /etc/rc.d/rc.httpd

#

case "$1" in

'start')

/usr/sbin/apachectl start ;;

'stop')

/usr/sbin/apachectl stop ;;

'restart')

/usr/sbin/apachectl restart ;;

*)

echo "usage $0 start|stop|restart" ;;

esac

参考答案:

(1)程序注释
 

#!/bin/sh 定义实用的shell

#

# /etc/rc.d/rc.httpd 注释行,凡是以星号开始的行均为注释行。

#

# Start/stop/restart the Apache web server.

#

# To make Apache start automatically at boot, make this

# file executable: chmod 755 /etc/rc.d/rc.httpd

#

case "$1" in #case 结构开始,判断―位置参数‖决定执行的操作。本程序携带一个―位置 参数‖,即$1

'start') #若位置参数为start

/usr/sbin/apachectl start ;; #启动httpd 进程

'stop') #若位置参数为stop

/usr/sbin/apachectl stop ;; #关闭httpd 进程

'restart') #若位置参数为stop

/usr/sbin/apachectl restart ;; #重新启动httpd 进程

*) #若位置参数不是start、stop 或restart 时

echo "usage $0 start|stop|restart" ;; #显示命令提示信息:程序的调用方法

esac #case 结构结束

(2)程序的功能是启动,停止或重新启动httpd 进程

(3)程序的调用方式有三种:启动,停止和重新启动。

3.设计一个shell 程序,添加一个新组为class1,然后添加属于这个组的30 个用户,用 户名的形式为stdxx,其中xx 从01 到30。

参考答案:

#!/bin/sh

i=1

groupadd class1

while [ $i -le 30 ]

do

if [ $i -le 9 ] ;then

USERNAME=stu0${i}

else

USERNAME=stu${i}

fi

useradd $USERNAME

mkdir /home/$USERNAME

chown -R $USERNAME /home/$USERNAME

chgrp -R class1 /home/$USERNAME

i=$(($i+1))

done

4.编写shell 程序,实现自动删除50 个账号的功能。账号名为stud1 至stud50。 参考程序:

#!/bin/sh
 

i=1

while [ $i -le 50 ]

do

userdel -r stud${i}

i=$(($i+1 ))

done

5.某系统管理员需每天做一定的重复工作,请按照下列要求,编制一个解决 方案 :

(1)在下午4 :50 删除/abc 目录下的全部子目录和全部文件;

(2)从早8:00~下午6:00 每小时读取/xyz 目录下x1 文件中每行第一个域的全部数据 加入到/backup 目录下的bak01.txt 文件内;

(3)每逢星期一下午5:50 将/data 目录下的所有目录和文件归档并压缩为文件: backup.tar.gz;

(4)在下午5:55 将IDE 接口的CD-ROM 卸载(假设:CD-ROM 的设备名为hdc);

(5)在早晨8:00 前开机后启动。

参考答案:

解决方案:

(1)用vi 创建编辑一个名为prgx 的crontab 文件;

prgx 文件的内容:

50 16 * * * rm -r /abc/*

(2)、0 8-18/1 * * * cut -f1 /xyz/x1 >;>; /backup/bak01.txt

(3)、50 17 * * * tar zcvf backup.tar.gz /data

(4)、55 17 * * * umount /dev/hdc

(5)、由超级用户登录,用crontab 执行 prgx 文件中的内容:

root@xxx:#crontab prgx;在每日早晨8:00 之前开机后即可自动启动crontab。

--------------------------------------- -------

6.设计一个shell 程序,在每月第一天备份并压缩/etc 目录的所有内容,存放在/root/bak 目录里,且文件名为如下形式yymmdd_etc,yy 为年,mm为月,dd 为日。Shell 程序 fileback 存放在/usr/bin 目录下。

参考答案:

(1)编写shell 程序fileback:

#!/bin/sh

DIRNAME=`ls /root | grep bak`

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

tar zcvf $BACKETC /etc

echo "fileback finished!"

(2)编写任务定时器:
 

echo "0 0 1 * * /bin/sh /usr/bin/fileback" >; /root/etcbakcron

crontab /root/etcbakcron

或使用crontab -e 命令添加定时任务:

0 1 * * * /bin/sh /usr/bin/fileback

7.有一普通用户想在每周日凌晨零点零分定期备份/user/backup 到/tmp 目录下,该用 户应如何做?

参考答案:(1)第一种方法:

用户应使用crontab –e 命令创建crontab 文件。格式如下:

0 0 * * sun cp –r /user/backup /tmp

(2)第二种方法:

用户先在自己目录下新建文件file,文件内容如下:

0 * * sun cp –r /user/backup /tmp

然后执行 crontab file 使生效。

8.设计一个Shell 程序,在/userdata 目录下建立50 个目录,即user1~user50,并设

置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文 件所有者所在组的权限为:读、执行。

参考答案: 建立程序 Pro16 如下:

#!/bin/sh

i=1

while [ i -le 50 ]

do

if [ -d /userdata ];then

mkdir -p -m 754 /userdata/user$i 加上-m 754 就不用写下面那一句了 -p 是递归建 立目录

#chmod 754 /userdata/user$i

echo "user$i"

let "i = i + 1" (或i=$(($i+1))

else

mkdir /userdata

mkdir -p -m /userdata/user$i

#chmod 754 /userdata/user$i

echo "user$i"

let "i = i + 1" (或i=$(($i+1))

fi

done

五、多选题

1.关于硬链接的描述正确的(BE)。

A 跨文件系统

B 不可以跨文件系统

D 可以做目录的连接

C 为链接文件创建新的i 节点 E 链接文件的i 节点同被链接文件的i 节点

2.在网站发布用户wang 的个人网页时,需要创建用户网页目录,假定用户网页目录设定 为web

(用户目录在/home 目录下),如下描述正确的是(BCE)
 

A 存放用户网页的绝对路径/wang/web

B 存放用户网页的目录~wang/

C 存放用户网页的绝对路径/home/wang/web D 存放用户网页的绝对路径/home/web E 在本机访问用户wang 的个人网页的URL 地址http://localhost/~wang/

3.在一台WWW服务器上将端口号设定为8000,默认的网页文件index.html,服务器 网页的根目录/www。在本机访问服务器时,正确的用法是(BDE)

A 浏览器访问该服务器的URL 地址http://localhost/

B 浏览器访问该服务器的URL 地址http://localhost:8000/

C 浏览器访问该服务器的用户li 网页URL 地址http://localhost/~li

D 浏览器访问该服务器的用户li 网页URL 地址http://localhost:8000/~li

E 浏览器访问该服务器的URL 地址localhost:8000/

4.在shell 编程中关于$2 的描述正确的是(CE)

A 程序后携带了两个位置参数

B 宏替换

C 程序后面携带的第二个位置参数

D 携带位置参数的个数 E 用$2 引用第二个位置参数

5.某文件的权限是 - r w x r - - r- -,下面描述正确的是(CD)

A 文件的权限值是755

B 文件的所有者对文件只有读权 限

C 文件的权限值是 744

D 其他用户对文件只有读权限 E 同组用户对文件只有写权限

6.关于OpenSSH 的作用的描述正确的是(ACE)

A 开放源代码的安全加密程序

B OpenSSH 常用于为http 协议加密

C OpenSSH 用于提高远程登录访问的安全性

D 它和telnet 实用同样的端口号

E OpenSSH 是免费下载的应程序

7.关于NFS 服务器描述正确的是(BC)

A 网络中实现Windows 系统之间文件系统共享的应用软件

B 网络中实现Linux 系统之间文件系统共享的应用软件

C 网络中实现Unix 系统之间文件系统共享的应用软件

D 网络中实现Windows 系统和Unix 之间文件系统共享的应用软件

E 网络中实现Windows 系统和Linux 之间文件系统共享的应用软件

8.关于sed 描述正确的是(ABD)

A sed 是Linux 系统中的流编辑器

B sed 是UNIX 系统中的流编辑器

C sed 网络文件系统的类型

D 利用管道对标准输入/标准输入的数据进行编辑和组合

E sed 是NFS 的应用程序

9.关于限制磁盘限额,描述正确的是(ABD)

A 使用edquota 可以监控系统所有用户使用的磁盘空间,并在接近极限时提示用户

B 用户组的磁盘限额是用户组内所有用户予设磁盘空间总和

C 单个用户的磁盘限额就是该用户所在用户组内所有磁盘限额的总合

D 在Linux 系统下限制用户使用的磁盘空间可以使用edquota

 

E 用户组的磁盘限额就是该用户组内拥有最大磁盘限额值的用户的磁盘限额

10.关于建立系统用户的正确描述是()

A 在Linux 系统下建立用户使用adduser 命令

B 每个系统用户分别在/etc/passwd 和/etc/shadow 文件中有一条记录

C 访问每个用户的工作目录使用命令―cd /用户名‖

D 每个系统用户在默认状态下的工作目录在/home/用户名

E 每个系统用户在/etc/fstab 文件中有一条记录

lspci |grep Ethernet ==查看机器双网卡

mii-tool 查看网线是否接号

用户进程、系统进程、IO 进程、空闲的比例" 如果idle 时常处于0,则需要检查引起大量 CPU 消耗的原因

内存使用情况 "vmstat:观察free 值

top: 观察memory 项" 低于50 时,值得注意

交换区使用情况 "vmstat:观察pi、po 值

top: 观察paging/paging space 项 free: 观察Swap 行的值" 当空闲值低时,值得 注意

I/O 情况 "sar -u:观察io 占用系统情况

iostat -d:观察哪块盘io 较多

top:观察io 最多的进程" IO 值过高的进程将会严重影响到整机的性能,要对高IO 的进程 重点监控,检查

系统进程 ps aux 有无多个相同的进程名

df -h:检查空间使用达到90%的文件系统 尤其是使用情况

系统日志 last:观察最近的主机登录情况,查看var/log/messages 文件内容, 对不明 主机进行检查

网络状况 ping:查看到其他主机的time 值是否小于10ms 无频繁丢包

top 查询 CPU, 内存, 系统进程情况 ( CPU 内存瓶颈), 某个进程

cat /etc/redhat-release <---看本机系统是什么版本的

smartmontools-5.38-2.el5

smartctl --all /dev/sda 检测磁盘有没有坏块

smartctl -i /dev/sda

vim /etc/smartd.conf

/dev/sda -a -d sat 把硬盘注册为sat 57 行

/dev/sda -d scsi -s L/../../3/18 打开注释 65 行

service smartd restart 磁盘有问题的话,会发邮件给管理员的

service sendmail restart

yum istall -y sysstat

iostat 看当前磁盘读写的情况 iostat 2 10 查询当前状态 ( 磁盘 i/o )

sar 2 10 查询当前状态 ( service sysstat start )

sar -r ( 内存 )

sar -u ( cpu )

sar -P ( cpu ) --> sar -P 0 || sar -P ALL

sar -b ( i/o )

sar -n DEV ( 网络设备 )

sar -f

 

service sysstat on

checkconfig sysstat on 每十分钟搜集一次信息

sar -f /var/log/sa/sa13 -s 10:10:00 -e 11:10:00 查看昨天(今天是14 号)10: 10:00 到 11:10:00 的系统情况

针对日志 /var/log/sa/* 查询之前的日志信息

sar -n DEV

tty 看自己的

mpstat 2 查看cpu 状态

vmstat 2 10

mpstat 2 10 <- cpu 每二秒显示一次,共显示十次

vmstat 2 10 <- 整体资源

free ltrace

pmap 进程号 是看这个进程占了多少内存

pgrep httpd 查询这个服务的所有进程号 killall httpd 杀掉所有 <--不怎么安全 ps aux | grep mysql |xargs kill -9 杀掉所有前面查出来的所有进程 <--推荐用这个 pstree ps nice renice 不建议把系统资源的优先级提高

ldd /bin/ls 显示当前这个命令运行时所需要的库文件

yum install strace -y

strace +服务名称 分析出当前的命令执行时所找的库文件的路径

lspci | grep Ethernet 查本机有哪些网卡设备__


(责任编辑:IT)