linux 试题 没事儿 练练手

时间:2023-01-20 03:11:43

1、写一个脚本:
1、下载文件ftp://192.168.0.254/pub/Files/access_log至/tmp目录;
2、分析并显示/tmp/access_log文件中位于行首的IP中出现次数最多的前5个,并说明每一个出现了多少次;
3、取出/tmp/access_log文件中以http://开头,后面紧跟着一个域名或IP地址的字符串,比如:http://www.linux.com/install/images/style.css 这个串的http://www.linux.com的部分;而后显示出现次数最多的前5个;
要求:第2、3功能各以函数的方式实现;


2、写一个脚本:
1)定义一个函数
   (1)可以接受参数mem、swap或disk;
   (2)当接受参数mem时获取当前主机物理内存的大小,已经使用的空间及空闲空间大小;如果已用空间超出总空间的90%,则以红色字体警告;否则,则以绿色字体显示空间剩余百分比;
   (3)当接受参数swap时获取当前主机虚拟内存的大小,已经使用的空间及空闲空间大小;如果已用空间超出总空间的90%,则以红色字体警告;否则,则以绿色字体显示空间剩余百分比;
   (4)当接受参数disk时获取当前主机所有磁盘为区的大小,已经使用的空间及空闲空间大小;如果已用空间超出总空间的90%,则以红色字体警告;否则,则以绿色字体显示空间剩余百分比;
2)在主程序中显示一个提示给用户,说明输入mem可以显示物理内存空间使用情况;输入swap可以显示虚拟内存空间使用情况;输入disk可以显示磁盘空间使用情况;其它任意字符提示用户脚本使用方法后退出脚本;
3)要能捕捉Ctrl+c信号,提示用户要想退出脚本,可以使用q或Q键;

3、写一个脚本,实现手动添加一个用户:
1)提示用户输入用户名;
2)根据格式,向/etc/group文件中追加一行,建立跟用户同名的组;要求所用ID号不能跟已有的组的相同;
3)根据格式,向/etc/passwd文件中追加一行,以建立此新用户;要求所用ID号不能跟已有的用户的相同;
4)根据格式,向/etc/shadow文件中追加一行;
5)为此用户添加密码;
6)为此用户建立家目录;要求权限和属主属组等设定得当,且必须具有相应的环境配置文件;

4、写一个startup脚本setealias,要求:
 (1)此脚本能够由chkconfig控制;
 (2)执行start时,能够为网卡eth0配置一个别名,别名的地址为10.100.123.1;注意,此服务不能重复启动;
 (3)执行status时,可以显示此别名的IP地址等信息;
 (4)在启动此进程时不使用daemon和killproc等/etc/init.d/functions中定义的函数;
 提示:可以使用 echo -en "Starting Ethernet Alias:"; echo -e "\\033[60G[ \033[32mOK\033[0m ]" 显示绝色的OK标识。