若干运维面试题

30道面试题整理

1.linux如何挂在windows下的共享目录

linux 下的server需要自己手动建一个�0�2 后面的user与pass 是windows主机的账号和密码 注意空格 和逗号

2.查看http的并发请求数与其TCP连接状态

还有ulimit -n 查看linux系统打开最大的文件描述符,这里默认1024,不修改这里web服务器修改再大也没用。若要用就修改很几个办法,这里说其中一个:

修改/etc/security/limits.conf

重启后生效

3.用tcpdump嗅探80端口的访问看看谁最高

4.查看/var/log目录下文件数

5.查看当前系统每个IP的连接数

6.shell下32位随机密码生成

将生成的32位随机数 保存到/pass文件里了

7.统计出apache的access.log中访问量最多的5个IP

8.如何查看二进制文件的内容

我们一般通过hexdump命令 来查看二进制文件的内容。

hexdump -C XXX(文件名)�0�2�0�2-C是参数 不同的参数有不同的意义

-C �0�2是比较规范的 十六进制和ASCII码显示

-c �0�2是单字节字符显示

-b �0�2单字节八进制显示

-o �0�2是双字节八进制显示

-d �0�2是双字节十进制显示

-x �0�2是双字节十六进制显示

等等等等

9.ps aux 中的VSZ代表什么意思,RSS代表什么意思

VSZ:虚拟内存集,进程占用的虚拟内存空间

RSS:物理内存集,进程战用实际物理内存空间

10.检测并修复/dev/hda5

fsck用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查,用法:

11.Linux系统的开机启动顺序

加载BIOS–>读取MBR–>Boot Loader–>加载内核–>用户层init一句inittab文件来设定系统运行的等级(一般3或者5,3是多用户命令行,5是界面)–>init进程执行rc.syninit–>启动内核模块–>执行不同级别运行的脚本程序–>执行/etc/rc.d/rc.local(本地运行服务)–>执行/bin/login,就可以登录了。

12.符号链接与硬链接的区别

我们可以把符号链接,也就是软连接 当做是 windows系统里的 快捷方式。

硬链接 就好像是 又复制了一份.

ln 3.txt 4.txt �0�2�0�2这是硬链接,相当于复制,不可以跨分区,但修改3,4会跟着变,若删除3,4不受任何影响。

ln -s 3.txt 4.txt�0�2�0�2这是软连接,相当于快捷方式。修改4,3也会跟着变,若删除3,4就坏掉了。不可以用了。

13.保存当前磁盘分区的分区表

dd 命令是以个强大的命令,在复制的同时进行转换

14..没有14题,我自己来个简单的,如何在文本里面进行复制、粘贴,删除行,删除全部,按行查找和按字母查找。

以下操作全部在命令行状态操作,不要在编辑状态操作。

在文本里 移动到想要复制的行 �0�2按yy�0�2�0�2想复制到哪就移动到哪,然后按P�0�2�0�2就黏贴了

删除行 �0�2移动到改行�0�2按dd

删除全部�0�2�0�2dG�0�2�0�2这里注意G一定要大写

按行查找�0�2�0�2:90�0�2这样就是找到第90行

按字母查找�0�2/path�0�2�0�2这样就是 找到path这个单词所在的位置,文本里可能存在多个,多次查找会显示在不同的位置。

15.手动安装grub

16.修改内核参数

vi /etc/sysctl.conf �0�2这里修改参数

sysctl -p �0�2刷新后可用

17.在1-39内取随机数

RANDOM 随机数

%39 取余数

18.限制apache每秒新建连接数为1,峰值为3

每秒新建连接数 一般都是由防火墙来做,apache本身好像无法设置每秒新建连接数,只能设置最大连接:

硬件防火墙设置更简单,有界面化,可以直接填写数字。。。

最大连接 apache本身可以设置

MaxClients 3�0�2�0�2,修改apache最大连接 前提还是要修改系统默认tcp连接数。我博客里也说了,这就不说了。

19.FTP的主动模式和被动模式

FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请 求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT 命令告诉服务器:“我打开了XX端口,你过来连接我”。于是服务器从20端口向客户端的 XX端口发送连接请求,建立一条数据链路来传送数据。

PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请 求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV 命令告诉客户端:“我打开了XX端口,你过来连接我”。于是客户端向服务器的XX端口 发送连接请求,建立一条数据链路来传送数据。

从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完 全不同。

20.显示/etc/inittab中以#开头,且后面跟了一个或者多个空白字符,而后又跟了任意非空白字符的行

21.显示/etc/inittab中包含了:一个数字:(即两个冒号中间一个数字)的行

22.怎么把脚本添加到系统服务里,即用service来调用

在脚本里加入

然后保存

chkconfig httpd –add �0�2创建系统服务

现在就可以使用service 来 start or restart

23.写一个脚本,实现批量添加20个用户,用户名为user1-20,密码为user后面跟5个随机字符

24.写一个脚本,实现判断192.168.1.0/24网络里,当前在线的IP有哪些,能ping通则认为在线

25.写一个脚本,判断一个指定的脚本是否是语法错误;如果有错误,则提醒用户键入Q或者q无视错误并退出其它任何键可以通过vim打开这个指定的脚本


26、写一个脚本:(26包括3个小题)

1、创建一个函数,能接受两个参数:

1)第一个参数为URL,即可下载的文件;第二个参数为目录,即下载后保存的位置;

2)如果用户给的目录不存在,则提示用户是否创建;如果创建就继续执行,否则,函数返回一个51的错误值给调用脚本;

3)如果给的目录存在,则下载文件;下载命令执行结束后测试文件下载成功与否;如果成功,则返回0给调用脚本,否则,返回52给调用脚本;

27、写一个脚本:(27包括2个小题)

1、创建一个函数,可以接受一个磁盘设备路径(如/dev/sdb)作为参数;在真正开始后面步骤之前提醒用户有危险,并让用户选择是否继续;而后将此磁盘设备上的所有分区清空(提示,使用命令dd if=/dev/zero of=/dev/sdb bs=512 count=1实现,注意其中的设备路径不要写错了

如果此步骤失败,返回67给主程序;

接着在此磁盘设备上创建两个主分区,一个大小为100M,一个大小为1G;如果此步骤失败,返回68给主程序;
格式化此两分区,文件系统类型为ext3;如果此步骤失败,返回69给主程序;

如果上述过程都正常,返回0给主程序;

2、调用此函数;并通过接收函数执行的返回值来判断其执行情况,并将信息显示出来;

#使用echo传递给fdisk进行分区,如果此命令失败,则跳转出去,错误值68,需要注意的是,有时候这个返回值很诡异,笔者之前成功与否都是返回的1,后来重启之后,就好了,如果慎重的话,可以对创建的分区,进行判断,不过就需要使用其他工具截取相关字段了,虽有些小麻烦,但无大碍

#格式化之前,让内核重新读取磁盘分区表,值得注意的是,有的系统版本,使用partprobe无效,譬如笔者的环境是rhel5.8,而rhel6.0以后,这个命令就很危险了,而使用partx -a /dev/sdb则效果更好…此项需慎重,如果格式化失败,则告知把失败的分区定义成变量,且跳出函数,并带出错误值69

#下面代码,调用函数,接收函数返回值,根据返回值进行判断哪里出错。

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

linux 下的server需要自己手动建一个�0�2 后面的user与pass 是windows主机的账号和密码 注意空格 和逗号


1)Linux启动大致过程?
*BIOS自检
*运行系统内核并检测硬件从硬盘启动并运行系统的第一个进程init(LILO和GRUB模式)

*init读取系统引导配置文件/etc/inittab,并根据运行级别配置服务/etc/rc.d/rc.local
Linux系统缺省的运行级别
0为停机,机器关闭
1为单用户模式,就像Win下的安全模式
2为多用户模式,但是没有NFS支持
3为完全的多用户模式,是标准的运行级别
4保留
5图形界面的模式
6为重启,运行init6机器就会重启
2)apache有几种工作模式,分别简述两种工作模式及其优缺点?
apache主要有两种工作模式:prefork(apache的默认安装模式)和worker(可以在编译的时候添加--with-mpm=worker选项)
prefork的特点是:(预派生)
1.这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销
2.可以防止意外的内存泄漏
3.在服务器负载下降的时候会自动减少子进程数
worker的特点是:支持混合的多线程多进程的多路处理模块
如果对于一个高流量的HTTP服务器,worker MPM是一个比较好的选择,因为worker MPM占用的内存要比prefork要小。
3)LVS三种模式的工作过程?
NAT (Network Address Translation)模式。LB收到用户请求包后,LB将请求包中虚拟服务器的IP地址转换为某个选定RS的IP地址,转发给RS;RS将应答包发给 LB,LB将应答包中RS的IP转为虚拟服务器的IP地址,回送给用户。
IP隧道 (IP Tunneling)模式。LB收到用户请求包后,根据IP隧道协议封装该包,然后传给某个选定的RS;RS解出请求信息,直接将应答内容传给用户。此时要求RS和LB都要支持IP隧道协议。
DR(Direct Routing)模式。LB收到请求包后,将请求包中目标MAC地址转换为某个选定RS的MAC地址后将包转发出去,RS收到请求包后 ,可直接将应答内容传给用户。此时要求LB和所有RS都必须在一个物理段内,且LB与RS群共享一个虚拟IP。
4)oracle数据库备份的方法?
我同学是做DBA的,改天问问他,然后在告诉大家。
5)简述/etc/fstab里面个字段的含义?
因为mount挂载在重启服务器后会失效,所以需要将分区信息写到/etc/fstab文件中让它永久挂载:
磁盘分区                挂载目录       文件格式     
/dev/sdb1              /mnt/david       ext3          defaults 0 0
6)Apache设置虚拟目录的字段?
NameVirtualHost 192.168.1.2             //设置域名虚拟主机使用的IP地址
<VirtualHost 192.168.1.2:80>           //建立在地址上的虚拟主机区域
ServerName www.sfzhang.com            //虚拟主页说使用的域名
DocumentRoot /data/vhosts/sfzhang    //建立虚拟主机所使用的文档根目录
</VirtualHost>
7)列出linux常见打包工具并写相应解压缩参数(至少三种)?
包类型       压缩实例                          解压实例                 压缩比率
tar 包       tar -cvf icewarp.tar icewarp      tar -xvf icewarp.tar     只打包不压缩
tar.gz 包    tar -czvf icewarp.tar.gz icewarp  tar -zxvf icewarp.tar.gz 中高
tar.bz2 包   tar -cjvf icewarp.tar.bz2 icewarp tar -jxvf icewarp.tar.bz2 高

8)一个EXT3的文件分区,当用touch新建文件时报错,错误信息是磁盘已满,但是使用df -H查看分区信息时只使用了50%,请分析具体原因?
答:两种情况,一种是磁盘配额问题,另外一种就是EXT3文件系统的设计不适合很多小文件跟大文件的一种文件格式,出现很多小文件时,容易导致inode耗尽了。
9)请使用Linux系统命令统计出establish状态的连接数有多少?
netstat -an |grep 80 |grep ESTABLISHED |wc -l
10)mysql数据库的备份还原是怎么做的?
答:平时采用两种方法来做:1)利用mysql自带的使用工具mysqldump和mysql来备份还原数据库 2)利用第三方的mysql管理工具比如:mysqladmin 3)停止mysqld服务拷贝数据文件
11)简述运维工程师的职责?
负责公司运营平台的正常工作;加强平台的自动化管理;随便写写,写好听的就行.....
12)Linux系统是由那些部分组成?
Linux系统内核,shell,文件系统和应用程序四部分组成。
13)用一条命令查看目前系统已启动服务所监听的端口?
[root@nagios ~]# netstat -antl |grep "LISTEN"  
14)使用lsof命令查看占用80端口的进程?
[root@nagios ~]# lsof `which httpd`   或者lsof -i:80也可以
15)统计出一台web server上的各个状态(ESTABLISHED/SYN_SENT/SYN_RECV等)的个数?
[root@nagios ~]# netstat -antl |grep "ESTABLISHED" |wc -l
[root@nagios ~]# netstat -antl |grep "SYN_SENT" |wc -l
[root@nagios ~]# netstat -antl |grep "SYN_RECV" |wc -l
上面的命令可以用一条命令来统计出来TCP各种状态连接总数:
[root@nagios ~]# netstat -n |grep ^tcp |awk '{print $NF}' |sort -r |uniq -c     
16)查找/usr/local/apache/logs目录最后修改时间大于30天的文件,并删除?
find  /usr/local/apache/logs -type f -mtime +30 -exec rm -f {}  \;
17)添加一条到192.168.3.0/24的路由,网关为192.168.1.254?
route add  -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.254
18)利用sed命令将test.txt中所有的回车替换成空格?
sed -i s/\r/ /g test.txt 
19)在每周6的凌晨3:15执行/home/shell/collect.pl,并将标准输出和标准错误输出到/dev/null设备,请写出crontab中的语句?
15 3 * * 6 /home/shell/collect.pl  > /dev/null  2>&1   
20)源码编译安装apache,要求为:安装目录为/usr/local/apache,需有压缩模块,rewrite,worker模式;并说明在apache的worker MPM中,为什么ServerLimit要放到配置段最前面?
./configure --prefix=/usr/local/apache --enable-so--with-rewrite --with-mpm-worker
不放在最前面,client会忽略掉的
21)请写出精确匹配IPv4规范的正则表达式?
grep "[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}.[0-9]\{3\}"  access.logs
22)匹配文本中的key,并打印出该行及下面的5行?
grep -A5 key filename
23)dmesg命令中看到ip_conntrack: table full, dropping packet.,如何解决?
加大ip_conntrack_max 的值;
降低ip_conntrack_timeout的时间;
24)查询file1里面空行的所在行号?
grep -n "^$" file1
25)查询file1以abc结尾的行?
grep "abc$" file1
26)打印出file1文件第1到第三行?
sed -n '1,3p' file1 用head -3 file1也可以
27)如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.2.1?
iptables -t nat -A PREROUTING -d LOCALIP -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:8080
iptables -t nat -A POSTROUTING -d 192.168.2.1 -p tcp -m tcp --dport 8080 -j SNAT --to-source LOCALIP:80
28)crontab  在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh 怎么实现 ?
* 6-12/2 * 11 *  bash /usr/bin/httpd.sh
29)编写个shell脚本将/usr/local/test 目录下大于100K的文件转移到/tmp目录?
find /usr/local/test -type f -size +100k -exec mv {} /tmp \;
30)有三台Linux主机,A,B和C,A上有私钥,B和C上都有公钥,如何做到用私钥从A登录到B后,可以直接不输密码即可再登录到C?并写出具体命令行。
大致思路在A上面ssh-keygen -t dsa 直接回车生成密钥,然后把公钥分别用ssh-copy-id拷贝到B和C上面。ssh-copy-id -i id_dsa.pub "-p端口号 root@B的ip地址",然后在A上面就可以用ssh -p端口号 root@IP不要密码直接登录服务器B和C。
------------------------------------------------------------------------------------------------------------------------------------

linux 下的server需要自己手动建一个�0�2 后面的user与pass 是windows主机的账号和密码 注意空格 和逗号


一、有文件file1
1、查询file1 里面空行的所在行号
awk ‘{if($0~/^$/)print NR}’ file
or
grep -n ^$ file |awk ‘BEGIN{FS=”:”}{print $1}’
2、查询file1 以abc 结尾的行
grep abc$ file1
3、打印出file1 文件第1 到第3 行
sed -n ’1,3p’ file1
head -3 file1
二、如何将本地80 端口的请求转发到8080 端口,当前主机IP 为192.168.2.1
Iptables -A PREROUTING -d 124.42.60.109 -p tcp -m tcp –dport 80 -j DNAT
–to-destination 10.0.0.18:9000
三、crontab
在11 月份内,每天的早上6 点到12 点中,每隔2 小时执行一次/usr/bin/httpd.sh 怎么
实现
0 6-12/2 * 11 * /usr/bin/httpd.sh
四、编写个shell 脚本将/usr/local/test 目录下大于100K 的文件转移到/tmp 目录下
#!/bin/bash
for file in `ls /root`
do
if [ -f $file ]; then
if [ `ls -l $file|awk '{print $5}'` -gt 10000 ]; then
mv $file /tmp/
fi
fi
done
五、简述raid0 raid1 raid5 三种工作模式的工作原理及特点。
RAID 0:连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据
传输率,但它没有数据冗余,因此并不能算是真正的RAID 结构。RAID 0 只是单纯地提高
性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,
RAID 0 不能应用于数据安全性要求高的场合。
RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。
当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1 可以提高读取性能。RAID
1 是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,
系统可以自动切换到镜像磁盘上读写 ,而不需要重组失效的数据。简单来说就是:镜象结
构,类似于备份模式,一个数据被复制到两块硬盘上。
RAID10:高可靠性与高效磁盘结构
一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充。
主要用于容量不大,但要求速度和差错控制的数据库中。
RAID5:分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上,任何一个
硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。支持一块盘掉线后仍然正常
运行。
六、oracle 数据库备份方式
物理备份:开启网络监听,备份数据库文件。
RMAN 备份:通过表空间文件在RMAN 模式对ORACLE 数据备份。
七、如何查看占用端口8080 的进程
lsof -i:8080
八、请写出apache2.X 版本的两种工作模式,以及各自工作原理。如何查看apache 当前
所支持的模块,并且查看是工作在哪种模式下?
答案:
prefork(多进程,每个进程产生子进程)和worker(多进程,每个进程生成多个线程)
prefork 的工作原理是,控制进程在最初建立“StartServers”个子进程后,为了满足
MinSpareServers 设置的需要创建一个进程,等待一秒钟,继续创建两个,再等待一秒钟,
继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32 个,直到满足
MinSpareServers 设置的值为止。这就是预派生(prefork)的由来。这种模式可以不必
在请求到来时再产生新的进程,从而减小了系统开销以增加性能。
worker 是2.0 版中全新的支持多线程和多进程混合模型的MPM。由于使用线程来处
理,所以可以处理相对海量的请求,而系统资源的开销要小于基于进程的服务器。但是,
worker 也使用了多进程,每个进程又生成多个线程,以获得基于进程服务器的稳定性。这
种MPM 的工作方式将是Apache 2.0 的发展趋势。
可以通过命令httpd -l 可以查看apache 当前的模块,如果带有worker.c 就是工作在
worker 模式下,如果有prefork.c 就是工作在prefork.c 的模式下。
九、你使用过监控软件吗?说说其特点
使用nagios 对服务器进行监控,其特点可实时实现手机短信、电子邮件、MSN、飞信报警。
使用cacti 对流量进行监控。
十、你对现在运维工程师的理解和以及对其工作的认识
运维工程师在公司当中责任重大,需要保证时刻为公司及客户提供最高、最快、最稳定、最
安全的服务。运维工程师的一个小小的失误,很有可能会对公司及客户造成重大损失,因此
运维工程师的工作需要严谨及富有创新精神。
十一、linux 下常用的DNS服务软件是什么,举出几种常用的DNS记录,如果域名abc.com
配置好了一台邮件服务器,IP 地址为202.106.0.20,我该如何做相关的解析?是否了解
bind 的智能解析,如果了解请简述一下其原理
答案:
1)常用的DNS 软件是bind
2)A 记录 地址记录
MX 记录 邮件交换记录
CNAME 记录 别名域记录
3)修改abc.com 域名的配置文件,增加以下记录
IN MX 10 mail.abc.com.
mail IN A 202.106.0.20
4)bind 根据请求解析客户端的IP 地址,做出不同的解析,其原理是在配置文件中,设定了
view,在每个view 都有客户端的IP 地址段,bind 服务器根据请求解析客户端的IP 地址,
匹配不同的view,再根据该view 的配置,到相应的配置文件进行查询,将结果返回给请求
的客户端。
十二、通过apache 访问日志access.log 统计IP 和每个地址访问的次数,按访问量列出
前10 名。
日志格式样例如下
192.168.1.247 – - [02/Jul/2010:23:44:59 +0800] “GET / HTTP/1.1″ 200 19
答案:
cat access_log | awk ‘{print $1}’ | uniq -c|sort -rn|head -10
//这个别的方法也能统计,但有些命令是必要的 awk , sort,uniq ,主要看是否这些命令都
使用了。
十三、如何用mysql 命令进行备份和恢复?以test 库为例,创建一个备份,并再用此备份
进行恢复。
mysqldump -u root -p test > test.sql
mysql -u root -p test < test.sql
//主要考对方msqldump > test.sql 和 mysql < test.sql
十四、你认为在系统调优方面都包括哪些工作,以linux 为例,请简明阐述,并举一些参数
为例。
答案:
系统调优包括内核参数优化和应用优化2 个方面,对方只要从这两方面来说,就可以了,
尽量能有些经验的阐述。
有个文件如下:
http://a.domain.com/1.html
http://b.domain.com/1.html
http://c.domain.com/1.html
http://a.domain.com/2.html
http://b.domain.com/2.html
http://a.domain.com/3.html
要求:得到主机名(和域名),并统计哪个网址出现的次数,并排序。可以shell 或C。
得到的结果应该是:
3 a.domain.com
2 b.domain.com
1 c.domain.com
[root@mail ~]# awk ‘BEGIN{FS=”/”}{arr[$3]++}END{for(i in arr) print
arr[i],i}’ list| sort -r 答案
3 a.domain.com
2 b.domain.com
1 c.domain.com
挂载windows 的共享目录?
mount.cifs //IP/SHARE linux 的目录 --verbose -o user=username <--这个用户是
windows 下的用户--verbose 这个参数可以不加,它是显示过程的
例如mount.cifs //10.1.1.246/gongxiang /mnt --verbose -o user=gao
或者是mount -t cifs
umount /mnt 或umount.cifs /mnt -l <--取消挂载
图形界面:smb://IP
A B 网络是通的,最少列出五种传输文件的服务
nfs ,ftp,scp ,rsync,samba,http://
1.假设Apache 产生的日志文件名为access_log,在apache 正在运行时,执行命令mv
access_log access_log.bak,执行完后,请问新的apache 的日志会打印到哪里,为什么?
新的日志会打印在access_log.bak 中,因为apache 启动时会找到access_log 文件,
随时准备向文件中加入日志信息,
虽然此时文件被改名,但是由于服务正在运行,因为它的inode 节点的位置没有变,程序
打开的fd 仍然会指向原来那个inode,
不会因为文件名的改变而改变。apache 会继续向已改名的文件中追加日志,但是若重启
apache 服务,系统会检查access_log
文件是否存在,若不存在则创建。
2.在Shell 环境下,如何查看远程Linux 系统运行了多少时间?
2、监控主机执行: ssh user@被监控主机ip "uptime"
这样得到了被监控主机的uptime
3.处理以下文件内容,将域名取出并进行计数排序,如处理:
http://www.baidu.com/index.html
http://www.baidu.com/1.html
http://post.baidu.com/index.html
http://mp3.baidu.com/index.html
http://www.baidu.com/3.html
http://post.baidu.com/2.html
得到如下结果:
域名的出现的次数 域名
3 www.baidu.com
2 post.baidu.com
1 mp3.baidu.com
可以使用bash/perl/php/c 任意一种
3、[root@localhost shell]# cat file | sed -e ' s/http:\/\///' -e ' s/\/.*//' | sort |
uniq -c | sort -rn
3 www.baidu.com
2 post.baidu.com
1 mp3.baidu.com
[root@codfei4 shell]# awk -F/ '{print $3}' file |sort -r|uniq -c|awk '{print
$1"\t",$2}'
3 www.baidu.com
2 post.baidu.com
1 mp3.baidu.com
4.如果得到随机的字串,长度和字串中出现的字符表可定义,并将字串倒序显示,如
把0123456789 作为基准的字串字符表,产生一个6 位的字串642031,打印出的字串为
130246,可使用bash/perl/php/c 任意一种.
4、[root@localhost ~]# awk -v count=6 'BEGIN
{srand();str="0123456789";len=length(str);for(i=count;i>0;i--)
marry[i]=substr(str,int(rand()*len),1);for(i=count;i>0;i--)
printf("%c",marry[i]);printf("\n");for
(i=0;i<=count;i++) printf("%c",marry[i]);printf("\n")}'
838705
507838
5.如何查看当前Linux 系统的状态,如CPU 使用,内存使用,负载情况等.
5、Linux 系统中“/proc”是个伪文件目录,不占用系统空间,及时的反应出内存现在使用的
进程情况......其中许多文件都保存系统运行状态和相关信息
对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息:
cpuinfo 主机CPU 信息
filesystems 文件系统信息
meninfo 主机内存信息
version Linux 内存版本信息
diskstatus 磁盘负载情况
另外top 命令可以动态的显示当前系统进程用户的使用情况,而且是动态的显示出来,尤其
是在该命令显示出来的对上方对系统的情况进行汇总.
free 命令呢可以查看真实使用的内存 一般用free -m
使用lsof 、ps -aux 可以查看详细的每个进程的使用状况
dmesg 也是常用来查看系统性能的命令
#题目:有10 台被监控主机、一台监控机,在监控机上编写脚本,一旦某台被监控机器/
分区适用率大于80%, 就发邮件报警放到crontab 里面, 每10 分钟检查一次
#测试机器:虚拟机Linux as 4
#1.首先建立服务器间的信任关系。拿两台机器做测试
本机ip:192.168.1.6
[root@codfei ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y (以为我是第2 次建立关系所以此处覆盖原来的文件)
Enter passphrase (empty for no passphrase):(直接回车无须输入密钥)
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
04:37:13:2a:4b:10:af:c1:2b:03:3f:6b:27:ce:b9:62 root@codfei
[root@codfei ~]# cd .ssh/
[root@codfei .ssh]# ll
-rw------- 1 root root 883 Apr 25 17:51 id_rsa
-rw-r--r-- 1 root root 221 Apr 25 17:51 id_rsa.pub
-rw-r--r-- 1 root root 442 Apr 25 17:37 known_hosts
id_rsa 是密钥文件,id_rsa.pub 是公钥文件。
[root@codfei .ssh]# scp id_rsa.pub192.168.1.4:/root/.ssh/192.168.1.6
root@192.168.1.4's password:
id_rsa.pub 100% 221 0.2KB/s 00:00
这里把公钥文件取名为本机的ip 地址就是为了以后和更多的机器建立信任关系不发生混
淆。
现在登陆到192.168.1.4 机器
[root@codfei ~]# cd .ssh/
[root@codfei .ssh]# cat 192.168.1.6 >> authorized_keys
然后回到192.168.1.6 机器直接
[root@codfei .ssh]# ssh 192.168.1.4
Last login: Wed Aug 8 12:14:42 2007 from 192.168.1.6
这样就可以了,里面偶尔涉及到权限问题。一般./ssh 文件夹是755 authorized_keys 为
600 或者644
####脚本如下#######################
#!/bin/bash
#SCRIPT:df_check.sh
#Writeen by codfei Mon Sep 3 07:25:28 CST 2007
#PURPOSE:This script is used to monitor for full filesystems.
#######################Begining####################
####################
FSMAX="80"
remote_user='root' #####完全可以不用root
remote_ip=(192.168.1.5 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9
192.168.1.10 192.168.1.11 192.168.1.12 192.168.1.13 192.168.1.14 ) ---->
这里填写你要监控的主机ip
ip_num='0'
while [ "$ip_num" -le "$(expr ${#remote_ip[@]} - 1)" ]
do
read_num='1'
ssh "$remote_user"@"${remote_ip[$ip_num]}" df -h > /tmp/diskcheck_tmp
grep '^/dev1 * * * clear
94.系统中有用户user1 和user2,同属于users 组。在user1 用户目录下有一文件file1,
它拥有644 的权限,如果user2 用户想修改user1 用户目录下的file1 文件,应拥有 B 权
限。
A 744
B 664
C 646
D 746
95.如果想配置一台匿名ftp 服务器,应修改 C 文件。
A /etc/gateway
B /etc/ftpservers
C /etc/ftpusers
D /etc/inetd.conf
96.Samba 服务器的进程由B 两部分组成 。
A named 和sendmail
Bsmbd 和nmbd
C bootp 和dhcpd
D httpd 和squid
97.要配置NFS 服务器,在服务器端主要配置 C 文件。
A /etc/rc.d/rc.inet1
B /etc/rc.d/rc.M
C /etc/exports
D /etc/rc.d/rc.S
98.为保证在启动服务器时自动启动DHCP 进程,应对 B 文件进行编辑。
A /etc/rc.d/rc.inet2
B /etc/rc.d/rc.inet1
C /etc/dhcpd.conf
D /etc/rc.d/rc.S
99.在配置代理服务器时,若设置代理服务器的工作缓存为64MB,配置行应为 D 。
A cache 64MB
B cache_dir ufs /usr/local/squid/cache 10000 16 256
C cache_ mgr 64MB
Dcache_ mem 64MB
100.安全管理涉及的问题包括保证网络管理工作可靠进行的安全问题和保护网络用户及网
络管理对象问题。 C 属于安全管理的内容。
A 配置设备的工作参数
B 收集与网络性能有关的数据
C 控制和维护访问权限
D 监测故障
101.以下命令对中,正确的是: B 。
A ls 和sl
B cat 和tac
C more 和erom
D exit 和tixe
cat 是显示文件夹的命令,这个大家都知道,tac 是cat 的倒写,意思也和它是相反的。cat
是从第一行显示到最后一行,而tac 是从最后一行显示到第一行,而rev 则是从最后一个
字符显示到第一个字符
102. B 命令是在vi 编辑器中执行存盘退出。
A :q
B ZZ
C :q!
D :WQ
103.下列关于/etc/fstab 文件描述,正确的是 D 。
A fstab 文件只能描述属于linux 的文件系统
B CD_ROM 和软盘必须是自动加载的
C fstab 文件中描述的文件系统不能被卸载
D 启动时按fstab 文件描述内容加载文件系统
104.通过文件名存取文件时,文件系统内部的操作过程是通过 C 。
A 文件在目录中查找文件数据存取位置。
B 文件名直接找到文件的数据,进行存取操作。
C 文件名在目录中查找对应的I 节点,通过I 节点存取文件数据。
D 文件名在中查找对应的超级块,在超级块查找对应i 节点,通过i 节点存取文件数据
105.Linux 将存储设备和输入/输出设备均看做文件来操作, C 不是以文件的形式出现。
A 目录
B 软链接
C i 节点表
D 网络适配器
106.关于i 节点和超级块,下列论述不正确的是 B 。
A i 节点是一个长度固定的表
B 超级块在文件系统的个数是唯一的
C i 节点包含了描述一个文件所必需的全部信息
D 超级块记录了i 节点表和空闲块表信息在磁盘中存放的位置
107. D 设备是字符设备。
A hdc
B fd0
C hda1
D tty1(A,B,C 为块设备)
108. B 目录存放着Linux 的源代码。
A /etc
B /usr/src
C /usr
D /home
109.关于文件系统的安装和卸载,下面描述正确的是 A 。
A 如果光盘未经卸载,光驱是打不开的
B 安装文件系统的安装点只能是/mnt 下
C 不管光驱中是否有光盘,系统都可以安装CD-ROM 设备
D mount /dev/fd0 /floppy 此命令中目录/floppy 是自动生成的
110. B 不是进程和程序的区别。
A 程序是一组有序的静态指令,进程是一次程序的执行过程
B 程序只能在前台运行,而进程可以在前台或后台运行
C 程序可以长期保存,进程是暂时的
D 程序没有状态,而进程是有状态的
111.文件exer1 的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写
权限,下列命令正确的是 A 。
A chmod a+x g+w exer1 B chmod 765 exer1
C chmod o+x exer1 D chmod g+w exer1
112.有关归档和压缩命令,下面描述正确的是 C 。
A 用uncompress 命令解压缩由compress 命令生成的后缀为.zip 的压缩文件
B unzip 命令和gzip 命令可以解压缩相同类型的文件
C tar 归档且压缩的文件可以由gzip 命令解压缩
D tar 命令归档后的文件也是一种压缩文件
113.不是shell 具有的功能和特点的是 C 。
A 管道 B 输入输出重定向 C 执行后台进程 D 处理程序命令
114.下列对shell 变量FRUIT 操作,正确的是: C 。
A 为变量赋值:$FRUIT=apple
B 显示变量的值:fruit=apple
C 显示变量的值:echo $FRUIT
D 判断变量是否有值:[ -f “$FRUIT” ]
三.简答题:
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);
Options Indexes FollowSymLinks
AllowOverride None
Order deny,allow
deny from all
allow from 192.168.1.5
;
(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 查本机有哪些网卡设备
dmesg 查看本机的设备信息
mii-tool 看本机网卡是否连接正常
iptraf 查看本机当前的流量
----------------------------------------------------------------------------------------------------

linux 下的server需要自己手动建一个�0�2 后面的user与pass 是windows主机的账号和密码 注意空格 和逗号

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

1、写一个脚本查找最后创建时间是3天前,后缀是*.log的文件并删除。
find . -mtime +3 -name '*.log' -ok rm {} \;

2、写一个脚本将某目录下大于100k的文件移动至/tmp下。
find . -size +100k -exec cp {} /tmp \;


4、写一个防火墙配置脚本,只允许远程主机访问本机的80端口。
iptables -F
iptables -X
iptables -A INPUT -p tcp --dport 80 -j accept
iptables -A INPUT -p tcp -j REJECT

5、写一个脚本进行nginx日志统计,得到访问ip最多的前10个(nginx日志路径:/home/logs/nginx/default/access.log)。
cd /home/logs.nginx/default
sort -m -k 4 -o access.logok access.1 access.2 access.3 .....
cat access.logok |awk '{print $1}'|sort -n|uniq -c|sort -nr |head -10

6.写出下列命令的含义
(1)MaxKeepAliveRequests    100  连接的最大请求数
(2)Options FollowSymLinks  允许192.168.1.1可以列目录
               Order Deny Allow
               Deny from all
        Allow from 192.168.1.1
7.替换文件中的目录
sed 's:/user/local:/tmp:g'  filename



出现几率比较高的:
1、简要描述Linux的启动过程?
BIOS启动引导(从mbr中装载启动管理器grub)----GRUB启动引导(装载kernel和initrd到内存)-----内核启动参数-sys init初始化..

2、简要叙述下列端口所运行的服务
21、22、23、25、110、143、873、3306     ftp ssh telnet  snmp  pop3 IMAP  rsync

3、TCP断头最小长度是__64_字节?
4、让某普通用户能进行cp /dir1/file1 /dir2的命令时,请说明dir1 file1最小具有什么权限?
rx
5、简述TCP三次握手的过程?
客户端发送请求SYN,服务器端接收请求确认并回应SYN+ACK,客户端发回ACK回应....
-----------------------------------------------------------------------------------------------------------------------------------------------
1
mount .cifs / / 192.168.1.3 / server / mnt / server - o user = administrator , pass = 123456

linux 下的server需要自己手动建一个�0�2 后面的user与pass 是windows主机的账号和密码 注意空格 和逗号


1.SDRAM、DDR2、DDR3…
答:1、(SynchronousDynamic Random Access Memory)同步动态随机存储器。SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行
数据传输。
    2
、(DoubleData Rate)双倍速率同步动态随机存储器。DDR内存则是一个时钟周期内传输两次数据,它能够在时钟的上升期和下降期各传输一
次数据。
    DDR2
DoubleData Rate 2)。它与上一代DDR内存技术标准最大的不同就是,虽然同是采用了在时钟的上升/下降延同时进行数据传输的基本方
式,但DDR2内存却拥有两倍于上一代DDR内存预读取能力(即:4bit数据预读取)。换句话说,DDR2内存每个时钟能够以4倍外部总线的速度读/写数据
,并且能够以内部控制总线4倍的速度运行。
   
DDR3的预取为8bit,所以突发传输周期(BurstLengthBL)也固定为8

2.下列哪个命令不能退出vi编辑器::x,:q,:q!,:bye
答:最后一个,即:bye
:x(
写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。)
:q(
普通退出,如果有写入操作,则提示)
:q!(
强制退出,如果有写入操作,则不会保存)

3.下列哪种协议既有TCP又有UDP的:telnet,SMTP,DNS…
答:telnet (TCP)
    SMTP(TCP)
    DNS(tcp/udp)
DNS
一般使用UDPDNS的主辅名字服务器在同步时使用TCP协议
4.到相同目的地有下面几条路由,静态、RIP、OSPF,问数据包会经过哪一条。
答:默认使用出站接口配置的静态路由和使用下一跳地址配置的静态路由的AD1,所以选静态。
附:
路由源           默认AD
连接接口          0
静态路由          1
EIGRP            90
IGRP             100
OSPF             110
RIP              120
External EIGRP   170
未知             255(这个路由将绝不会被使用)

二、填空题
1.SAN的中文名称是_存储域网络(Storage Area Network)_______;NAS的中文名称是___网络存储设备(NAS:Network Attached Storage).
2.写出除linux外的三种类Unix系统__Solaris____、__FreeBSD_____、_AIX______.
3.假如有3个文档…………,用一个最简单的命令将其合并为一个文档___catfile1.out file2.out file3.out >file4.out ______.
4.字符串的匹配,c[?]c 
答:该题目应该是没有出完整,大括号内为任意字符
5.某IP地址192.168.48.10,掩码为255.255.255.128,其所在的子网为__192.168.48.0________,广播
地址为______192.168.48.127________,有效的主机IP地址范围从______192.168.48.1_________到___192.168.48.126_____________.
6.查看TCP连接的命令____netstat______.
7.在OSI模型中,HTTP协议工作在第__7__层,交换机工作在第_1-2___层。(此题不够严谨,个人认为后面填2层,1-2层都不能算错)
8.写出一些成熟的虚拟机技术____VMWare、__XEN、Bochs______________。(个人认为填写的越多,越能证明你的知识面广,加感情分)

三、简答题
1.32位操作系统和64位操作系统的区别,并说明它们的优点和缺点。
答:优点:可以进行更大范围的整数运算;可以支持更大的内存。如支持更多的可寻址空间大于4GB。支持更大的虚拟内存16TB,支持更多的页面文件
512TB,支持更多的系统缓存1TB。支持更高的颜色质量(264次方)
缺点:缺点是向下兼容性差、支持硬件驱动较少。支持应用程序较少。需要硬件支持。
2.固态硬盘和传统硬盘有什么区别,并说明它们的优点和缺点。
答:有点:抗震性强,机械故障点小。噪声小。发热量小,体积小。读写速度快。
   
缺点:容量小,价格贵。数据恢复能力差。
3.多核CPU和单核CPU的优点和缺点,是否所有程序在多核CPU上运行速度都快?为什么?
答:不是。
由单核处理器增加到多核处理器,如果主频不变的话,IPC(每个时钟周期内执行的指令数)理论上可以提高一倍,功耗理论上也就最多提高一倍,因为功耗的增加是线性的。但是有些程序只能在单核下运行。
4.给你6个150G硬盘,列出RAID排列方式,哪种方式容量最大,并解释。
答:6块硬盘全部利用无法做出RAID01个阵列。最大只能做RAID0:容量150*4
raid5:
容量150*(6-1)
raid0+1:
容量150*(6/2)
所以答案是RAID5
5.有一web服务器,某天某用户投诉上某个网站速度很慢,如果你是服务器的管理员,请问
你如何查找原因。假设服务器有任意操作系统和软件。
答:1、首先检测服务器状态,排除硬件故障和系统故障排除机器故障
    2
、检查底层网络状态(包括互联情况,PING包延迟、流量情况)排除网络故障和网卡等设备故障。
    3
、检查WEB服务器软件运行情况(并发连接、服务软件配置情况、数据库连接情况等)排除应用服务故障。
6.如下图,A、B、C位于同一局域网内,IP地址、子网掩码、默认网关如图所示,有路由器
R1、R2、R3、R4,它们之前运行某种路由协议,S为另一局域网内的服务器。
(无法显示图)
(1)如果C被ARP病毒感染,对A、B会有什么影响?
答:无图,分析考虑的是ARP原理
(2)B无法连到服务器S,但A、C均能正常连接到S,且B到R1连接正常,请判断故障出在什
么地方,操作系统可以是任意的。
答:考察节点故障排除。
(3)如果R4连到Internet,Internet上的用户想访问服务器S,需要用到什么技术?并解
释此技术的原理。
答:考察NATVPN等技术
四、编程题 (答案未完成)
1.某程序每隔5分钟运行一次,得出一个运行结果,保存在文档中,格式为
2008-06-01 00:05:00 1120
(1)在每天的23点56分访问文档,将当天的运行结果保存至文档,
[如:/…./…../20080601]
(2)统计出每天运行结果的总和。
设计一套方案,并编程来实现。
2.运动会,(人,成绩)
保存格式为每行一个成绩,第一列为人名,第二列为成绩。如Jim24
(1)
(2)
(3)统计每个人的平均成绩(平均成绩=总分/参加项目总数),并按平均成绩由高到低排列。
五、推理题
1.在太平洋一岛上住着土人,他们不喜欢外人来打扰。有一天一位探险家来到了岛上,被土人抓住,土人的祭司告诉探险家,他在临时之前有机会留
下一句话,如果这句话是真的,他将被烧死,如果这句话是假的,他将被五马分尸,可怜的探险家如何才能活下来?并解释。
答:我将被五马分尸
如果是真话,游客将被烧死,而不会被五马分尸,因此游客所说为假话!矛盾!
如果是假话,游客将被五马分尸,的确如他所说,因此游客所说为真话!矛盾!
这样,无法断定游客所说是真是假!岛上人也就无法执行他们的规则!
六、论述题
1.以下几种情况,那些是最无法预期的?哪些是可以避免的?你会如何面对?
(1)老板把你叫进办公室,让你负责一个新项目,并提醒你接下来几个星期将会非常忙碌。
答:无法预期。但是有计划的安排好目前手头的工作,并接受新项目是对自己的一个 考验。
(2)一朋友给你发了一封电子邮件,介绍一个网站很有用,你花了几分钟时间去浏览网站。
答:可以避免。在浏览之前搞明白这个网站究竟值得花一些时间去看。
(3)某客户打电话过来,要你赶紧去他们公司。
答:可以避免。如果是可以通过网络完成的工作,干嘛非要跑过去。
(4)老板要你在下班前完成某些任务。
答:无法预期。尽量去完成,如果实在无法完成,则要向领导隐晦的说明原因,争取他的理解。
(5)你必须立即放下手头工作,去买纸杯,因为发现纸杯已经用完了,而且10分钟后的会议会用到。
答:可以避免。对一些消耗品可以适当的准备一些,不要让这些烦琐的工作打断手头更重要的工作。
2.你认为一个出色的游戏运营维护工程师必须具备的关键素质有哪些?并按从主到次的顺序解释。 
答:1、主动乐观、积极的态度
    2
、细心和抗压力
    3
、丰富的知识面和超强的沟通能力
    4
、时刻冷静的头脑
    5
、正直


linux 下的server需要自己手动建一个�0�2 后面的user与pass 是windows主机的账号和密码 注意空格 和逗号

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值