【shell面试题】

您所在的位置:网站首页 下列选项中可用作变量名的是 【shell面试题】

【shell面试题】

2024-07-13 03:48| 来源: 网络整理| 查看: 265

Shell面试题汇总

一、选择 1、改变bash的提示符实际上就是改变变量() A:HOME B:PWD C:PS1 D:PS2

2、 在shell脚本中,用来读取文件内各个域的内容并将其赋值给shell变量的命令是______ A:fold B:join C:tr D:read

3、 从后台启动进程,应在命令的结尾加上符号() A:& B:@ C:# D:$

4、 不是shell具有的功能和特点是() A:管道 B:输入输出重定向 C:执行后台进程 D:处理程序命令

5、 退出交互模式的shell,应键入() A: B:^q C:exit D:quit

6、 shell不仅仅是用户命令解释器,同时一种强大的编程语言,linux缺省的shell是 A:bash B:ruby C:PHP D:perl

7、 下列变量名中有效的shell变量名是:______ A:-2-time B:_2$3 C:trust_no_1 D:2004file

8、 下列对shell变量FRUTT操作,正确的是______ A:为变量赋值:$FRUTT=apple B:显示变量的值:fruit=apple C:显示变量的值:echo $FRUTT D:判断变量是否有值:[ -f --$FRUTT || ]

9、在shell编程中关于$2的描述正确的是 A:程序后携带了两个位数参数 B:宏替换 C:程序后面携带的第二个位置参数 D:携带位置参数的个数

10、在shell环境下想把‘gyyx’值赋给变量company,下面哪个是正确的: A:company = gyyx B:$company=gyyx C:company='gyyx’ D:company=gyyx

11、下面sed删除行,下面哪个脚本是错误的是 A:sed -e ‘/man/d’ filename B:sed -e ‘1,3d’ filename C:sed -e ‘1,/man/d’ filename D:sed -e ‘/man/3d’ filename

12、shell中如何跳出当前循环继续之后的循环 A:break B:continue C:exit D:kill

13、shell脚本中的注释符 A:# B:// C:/**/ D:" "

14、采用bash执行shell脚本时加上哪个参数可以跟踪执行脚本过程 A:-x B:-u C:-f D:-p

15、以下命令执行后,结果为() Var1=abcdedf Var2=abcded echo “$var1” |grep -q “$var2” && echo “yes” ||echo “no”

A:无结果 B:语法错误 C:yes D:no

16、在shell比较运算符中,数值测试“等于则为真”的是() A:-ne B:-ge C:-eq D:-le

二、填空 1、在shell编程中,如果要访问变量值,可以变量前加一个 $ 符号 2、请说出以下符号在bash shell中的意义 $0 $n $# $? $* $$ ${#aa}

$0 脚本程序名 $n 传递给脚本的第n个脚本参数 $# 脚本参数的个数 $? 脚本执行结果 $* 脚本参数列表 $$ 当前进程的pid $! 上一个后台进程的pid ${#aa} 脚本中变量的长度

3、编写shell程序之前必须赋予该脚本__执行权限___ 4、Linux系统shell脚本第一行需写_#!/bin/bash代表什么意义__指定脚本解释器___ 5、编写shell脚本时注释符是_____#____ 6、shell命令“sed -i s/\r/ /g test.txt”实现的是___将test.txt文件中换行符删除____

三、简答 1、统计/var/log下文件的个数。

ls /var/log | wc -l

2、如何将F1文件的运行结果输出到F2.txt里?

管道加重定向(>>)到F2.txt

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

#!/bin/bash for i in {1..255} do ping -c 2 192.168.1.$i &>/dev/null if [ $? -eq 0 ] then echo "192.168.131.$i is up" else echo "192.168.131.$i is down" fi done

4、根据以下信息: IP_Address MAC_Address Interface Static 10.66.10.250 80:71:7A:33:CA:A7 br on 10.66.10.249 5C:50:15:7F:3B:F5 br on 将以上文件名称test.txt文件中IP_Address,MAC_Address, Interface三项下的内容取出来,值以“:”分割,并呈格式显示出来。注: 10.66.10.250:80:71:7A:33:CA:A7:br 10.66.10.249:5C:50:15:7F:3B:F5:br

awk 'BEGIN {OFS=":"} NR!=1 {print $1,$2,$3}' test.txt

5、在shell中变量的赋值有四种方法,其中采用name=jfedu.net的方法称: 直接赋值 使用read命令 使用命令行传参 使用命令输出

变量的赋值四种方法: 1.直接赋值:变量名=变量值 2.使用read命令:read -p "请输入:" 变量名 3.使用命令行传参:变量名=$1 变量名=$另一个变量名 4.使用命令输出:变量名=`命令`

6、编写一个脚本,5分钟检查一次日志,发现有暴力SSH破解现象的,提取此类IP地址,并去重,并按降序排序。 要求:同一个IP暴力破解超过10次,自动屏蔽IP地址,指定办公室IP地址(192.168.100.100)为可信任IP地址,不受屏蔽规则限制,以下为日志格式: 日志样式: May 4 03:43:07 tz-monitor sshd{14003}: Failed password for root from 124.232.135.84 port 25251 ssh2 Myy 4 03:43:07 tz-monitor sshd{14082}: invalid user postgres from 124.232.135.84

vim pojie.sh #!/bin/bash awk '/Failed password/{count[$(NF-3)]++}END{for (ip in count) if(count[ip]>=10){print count[ip],ip}}' /var/log/secure > /tmp/count_ip.txt while read line do IP=$(echo $line |awk '{print $2}') if [ "$IP" != "192.168.100.100" ];then if ! grep -w $IP /tmp/drop_ip.txt &> /dev/null;then iptables -I INPUT -s $IP -j DROP echo $IP >> /tmp/drop_ip.txt fi fi done /dev/null

7、检查IP地址合规,请用shell编写代码,列出不以199或200开头的IP地址,如199.x.x.x 或200.x.x.x Interface Physical Protocol IP Adderss Eth1/0/1 up up 199.11.250.1 Eth1/0/2 up up 200.11.250.5 Loop0 up up(s) 199.11.250.1 Vlan1 *down down unassigned Vlan500 down down 139.100.1.157 Vlan900 up up 140.11.250.41

awk '$4!~"^199|200" {print $4}' test.txt

8、处理以下文件内容,将域名提取并进行计数排序,如处理: 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

awk -F "/" '{name[$3]++} END {for (i in name) {print name[i],i}}' 2.txt | sort -nr

9、在单台服务器Linux操作系统环境下,写一行命令,将所有该机器的所有以“.log.bak“为后缀的文件,打包压缩并上传到ftp上,FTP地址为123.234.25.130的/home/bak文件夹

find / -name "*.log.bak" -type f -exec tar -czf log_baks.tar.gz {} \; | ftp log_baks.tar.gz 123.234.25.130:/home/bak

10、Linux脚本:现在要删除本机中若干文件,/root/file.list中记录了这些文件的绝对路径,请用脚本实现。/root/file.list内容范例:/tmp/1.file

#!/bin/bash for i in `cat /root/file.list` do rm -rf $i done 或者 while read line do rm -rf $line done


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3