第一范文网 - 专业文章范例文档资料分享平台

linux shell脚本面试题

来源:用户分享 时间:2020-06-24 本文由挽风听你 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

非常好的十道Linux shell脚本面试题

1、编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下 #/bin/sh #Programm :

# Using for move currently directory to /tmp for FileName in `ls -l | awk '$5>10240 {print $9}'` do

mv $FileName /tmp done ls -al /tmp echo \

2、编写shell脚本获取本机的网络地址。

比如:本机的ip地址是:192.168.100.2/255.255.255.0,那么它的网络地址是 192.168.100.1/255.255.255.0 方法一: #!/bin/bash

#This script print ip and network

file=\if [ -f $file ] ;then

IP=`grep \MASK=`grep \echo \exit 1 fi 方法二:

#!/bin/bash

#This programm will printf ip/network #

IP=`ifconfig eth0 |grep 'inet ' |sed 's/^.*addr://g'|sed 's/ Bcast.*$//g'` NETMASK=`ifconfig eth0 |grep 'inet '|sed 's/^.*Mask://g'` echo \exit

3、用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下。 参考程序: #!/bin/sh FILENAME=

echo “Input file name:” read FILENAME if [ -c \then

cp $FILENAME /dev fi

4.请为下列shell程序添加注释,并说明程序的功能和调用方法: #!/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 \'start')

/usr/sbin/apachectl start ;; 'stop')

/usr/sbin/apachectl stop ;; 'restart')

/usr/sbin/apachectl restart ;; *)

echo \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 '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 \显示命令提示信息:程序的调用方法 esac #case结构结束

(2)程序的功能是启动,停止或重新启动httpd进程 (3)程序的调用方式有三种:启动,停止和重新启动。

5.设计一个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

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

参考程序: #!/bin/sh i=1

while [ $i -le 50 ] do

userdel -r stud${i} i=$(($i+1 )) done

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

(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文件中的内容:

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高中教育linux shell脚本面试题 全文阅读和word下载服务。

linux shell脚本面试题 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1101835.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top