1、有文件file1php
一、查询file1 里面空行的所在行号html
awk ‘{if($0~/^$/)print NR}’ filenode
ormysql
grep -n ^$ file |awk ‘BEGIN{FS=”:”}{print $1}’linux
或者用grep -n ^$ /usr/local/httpd/conf/httpd.conf | awk -F: '{print $1}' 便可ios
二、查询file1 以abc 结尾的行web
grep abc$ file1sql
三、打印出file1 文件第1 到第3 行shell
sed -n ’1,3p’ file1数据库
head -3 file1
2、如何将本地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
3、crontab
在11 月分内,天天的早上6 点到12 点中,每隔2 小时执行一次/usr/bin/httpd.sh 怎么
实现
0 6-12/2 * 11 * /usr/bin/httpd.sh
4、编写个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
5、简述raid0 raid1 raid5 三种工做模式的工做原理及特色。
RAID 0:连续以位或字节为单位分割数据,并行读/写于多个磁盘上,所以具备很高的数据
传输率,但它没有数据冗余,所以并不能算是真正的RAID 结构。RAID 0 只是单纯地提升
性能,并无为数据的可靠性提供保证,并且其中的一个磁盘失效将影响到全部数据。所以,
RAID 0 不能应用于数据安全性要求高的场合。
RAID 1:它是经过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。
当原始数据繁忙时,可直接从镜像拷贝中读取数据,所以RAID 1 能够提升读取性能。RAID
1 是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,
系统能够自动切换到镜像磁盘上读写 ,而不须要重组失效的数据。简单来讲就是:镜象结
构,相似于备份模式,一个数据被复制到两块硬盘上。
RAID10:高可靠性与高效磁盘结构
一个带区结构加一个镜象结构,由于两种结构各有优缺点,所以能够相互补充。
主要用于容量不大,但要求速度和差错控制的数据库中。
RAID5:分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于全部磁盘上,任何一个
硬盘损坏,均可以根据其它硬盘上的校验位来重建损坏的数据。支持一块盘掉线后仍然正常
运行。
6、oracle 数据库备份方式
物理备份:开启网络监听,备份数据库文件。
RMAN 备份:经过表空间文件在RMAN 模式对ORACLE 数据备份。
7、如何查看占用端口8080 的进程
lsof -i:8080
8、请写出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 的模式下。
9、你使用过监控软件吗?说说其特色
使用nagios 对服务器进行监控,其特色可实时实现手机短信、电子邮件、MSN、飞信报警。
使用cacti 对流量进行监控。
10、你对如今运维工程师的理解和以及对其工做的认识
运维工程师在公司当中责任重大,须要保证时刻为公司及客户提供最高、最快、最稳定、最
安全的服务。运维工程师的一个小小的失误,颇有可能会对公司及客户形成重大损失,所以
运维工程师的工做须要严谨及富有创新精神。
11、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 的配置,到相应的配置文件进行查询,将结果返回给请求
的客户端。
12、经过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 ,主要看是否这些命令都
使用了。
十3、如何用mysql 命令进行备份和恢复?以test 库为例,建立一个备份,并再用此备份
进行恢复。
mysqldump -u root -p test > test.sql
mysql -u root -p test < test.sql
//主要考对方msqldump > test.sql 和 mysql < test.sql
十4、你认为在系统调优方面都包括哪些工做,以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 系统运行了多少时间?
二、监控主机执行: 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 任意一种
三、[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 任意一种.
四、[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 使用,内存使用,负载状况等.
五、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
gep '^/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 配置设备的工做参数
收集与网络性能有关的数据
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:到达目标网络通过的 路由器 数(跳数)。
6.试解释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
5、多选题
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 查看本机当前的流量