Chinaunix首页 | 论坛 | 博客
  • 博客访问: 870678
  • 博文数量: 647
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 6044
  • 用 户 组: 普通用户
  • 注册时间: 2019-11-08 16:30
文章分类

全部博文(647)

文章存档

2021年(268)

2020年(297)

2019年(82)

我的朋友

分类: LINUX

2020-12-03 18:46:42

  Shell编程有哪些必备知识?有哪些面试题需要强化记忆?
  1 选择
  1.1 改变bash的提示符实际上就是改变变量()
  $HOME $PWD $PS1 $PS2
  1.2 在shell脚本中,用来读取文件内各个域的内容并将其赋值给shell变量的命令是__
  fold join tr read
  1.3 从后台启动进程,应在命令的结尾加上符号()
  A:& B:@ C:# D:$
  1.4 不是shell具有的功能和特点是()
  A:管道 B:输入输出重定向 C:执行后台进程 D:处理程序命令
  1.5 退出交互模式的shell,应键入()
  A: B:^q C:exit D:quit
  1.6 shell不仅仅是用户命令解释器,同时一种强大的编程语言,linux缺省的shell是
  bash ruby PHP perl
  1.7 以下函数中,和其他函数不属于一类的是
  Read pread write pwrite fseek lseek
  1.8 下列变量名中有效的shell变量名是:__
  -2-time _2$3 trust_no_1 2004file
  1.9 下列对shell变量FRUTT操作,正确的是__
  为变量赋值:$FRUTT=apple 显示变量的值:fruit=apple
  显示变量的值:echo $FRUTT 判断变量是否有值:[ -f --$FRUTT || ]
  1.10在shell编程中关于$2的描述正确的是
  程序后携带了两个位数参数 宏替换
  程序后面携带的第二个位置参数 携带位置参数的个数
  1.13下面表述错误的是
  0表示程序的执行名字n 表示程序的第n个参数值
  $* 表示程序的所有参数个数 $$表示程序的PID
  1.15在shell脚本中,用来读取文件内各个域的内容并将其赋值给shell变量的命令是:
  Fold join tr read
  1.16shell中如何跳出当前循环继续之后的循环
  break continue exit kill
  1.17shell脚本中的注释符
  # // /**/ " "
  1.18采用bash执行shell脚本时加上哪个参数可以跟踪执行脚本过程
  -x -u -f -p
  1.20在shell比较运算符中,数值测试“等于则为真”的是()
  -ne -ge -eq -le
  2 填空
  2.1 在shell编程中,如果要访问变量值,可以变量前加一个——符号
  2.2 请说出以下符号在bash shell中的意义
  $0 $n $# $? $* $$ ${#aa}
  2.3 编写shell程序之前必须赋予该脚本_
  2.4 Linux系统shell脚本第一行需写__代表什么意义_
  2.5 编写shell脚本时注释符是_
  2.6 shell命令“sed -i s/\r/ /g test.txt”实现的是_
  3 简答
  3.1 在shell中,$0,$n,$#,$*,$@,$?分别是什么含义?
  3.2 统计/var/log下文件的个数。
  3.3 如何将F1文件的运行结果输出到F2.txt里?
  3.4 写一个脚本实现判断192.168.1.0/24 网络里,当前在线的ip有哪些,能拼通则认为在哪
  3.6 在shell中变量的赋值有四种方法,其中采用name=jfedu.net的方法称:
  直接复制 使用read命令 使用命令行传参 使用命令输出
  3.11在单台服务器Linux操作系统环境下,写一行命令,将所有该机器的所有以“。log.bak“为后缀的文件,打包压缩并上传到ftp上,FTP地址为123.234.25.130的/home/bak文件夹
  3.12Linux脚本:现在要删除本机中若干文件,/root/file.list中记录了这些文件的绝对路径,请用脚本实现。/root/file.list内容范例:/tmp/1.file
  3.16创建一个函数,能接受两个参数;
  (1) 第一个参数为URL,即可下载的文件;第二个参数为目录,即下载后保存位置;
  (2) 如果用户给的目录不存在,则提示用户是否创建;如果创建就继续执行,否则函数返回一个51的错误值给调用脚本
  (3) 如果给的目录存在,则下载文件;下载命令执行结束后测试文件下载成功,如果成功,则返回0给调用脚本,否则,返回52给调用脚本;
  3.18使用一个队列模拟一个栈,在空白处实现下面类中的方法即可。
  class Queue(objec ):
  defenqueue(self,item):
  "''""入队""""
  defdequcue(self):
  """"出队"""
  测试
  q = Queue()
  9 enqucue (1)
  输出q [1]
  q.enqueue(4)
  输出q [1,4]
  q.dequeue()
  输出14
  3.20一个文本文件info.txt每行都是以逗号分隔,其中第二列都是数字,请对该文件按照第二列从小到大排列。
  aa,101
  bb,302
  cc,222
  dd,44
  3.21通过shell如何删除文档中的注释和空白行。
  3.22根据要求写出linux命令
  a.显示当前目录的内容
  b.以详细格式显示test用户的家目录内容,包含隐藏文件
  c.进入根目录
  d.显示/etc/passwd文本文件的内容
  e.显示/etc/passwd文件的后十行内容
  3.23用netstat统计系统当前tcp连接的各种状态的连接数
  3.24写一个脚本,实现判断10.10.10.0/24网络里,当前在线的ip有哪些。注:能ping通则认为在线。
  3.25怎么把脚本添加到系统服务里,即使用service来调用。
  3.28请写出一个shell脚本希望把结构表显示出来
  3.29求出a.log中的waring 但是不包括waring的行
  3.31用最熟悉的脚本语言实现如下功能
  如果在/home/pushmail目录下不存在leadtone目录,则创建该目录,并将/var/sync/bin目录下的所有文件拷贝到leadtone目承下,但是不能够拷贝文件长
  度大于1M的文件。
  3.32根据要求写出linux命令
  a.显示当前目录的内容
  b.以详细格式显示test用户的家目录内容,包含隐藏文件
  c.进入根目录
  d.显示/etc/passwd文本文件的内容
  e.显示/etc/passwd文件的后十行内容
  3.33查找含有特定字符的文件
  3.34Centos操作系统历史命令记录中,执行次数最多的5条
  3.35写一个脚本,判断一个指定的脚本是否是语法错误,如果有错误,则提醒用户键入Q或者q无视错误并退出其它任何键可以通过vim打开这个指定的脚本
  3.36用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下
  3.37写一个脚本,实现批量添加20个用户,用户名为user01-20,密码user后面跟5个随机字符
  3.38统计nginx访问日志,找出访问次数前10的IP
  3.39找出在文件a中但不在文件b中的内容,用命令后编写脚本实现
  3.40对文件test中,1>第一列为aaa的行求和;2>对偶数行求和;3>求文件test中的最大值
  3.41Case语句的语法?while 语句的语法?continue命令的作用?
  3.42请写出下列shell脚本:使用for循环在/opt目录下通过随机小写10个字母加固定字符串test批量创建10个html文件,创建完成后将test全部改为test_done(for循环实现),并且html大写
  3.44如何在每天23:59分时,将apache的accesslog中,访问次数最多的前10个ip以及访问量最多的10个文件保存到/var/Top.log中
  3.45写一个脚本,判断一个指定的脚本是否是语法错误。如果有错误,则提醒用户键入Q或q无视错误并退出其它任何键可以指定的脚本
  3.46shell脚本编程:求100以内的质数
  3.47如果有10个文件夹,每个文件夹都有1,000,000个url,每个url对应一个访问量,请问如何最快找出前1,000,000个访问量最高的url
  3.48创建一个shell脚本,它从用户那里接收10个数,并显示已输入的最大的数
  3.49设计一个shell程序,在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。shell陈旭fileback存放在/usr/bin目录下
  3.50找出系统中父进程号为105的所有进程,并将其结束
  3.51如何从history记录中分析最近500次内执行最多的命令?如何查找当前目录90天以前的文件并将其删除?
  3.52写出命令统计当前连接到本机6379端口连接数最高的ip地址和连接个数,查看自己的ip地址,看这个ip地址所在网段都有哪些机器,任意查看此网段的另外一个ip地址有哪些端口开放了。简述tcp的几种连接状态,高并发服务器一般会遇到什么问题?
  3.54试编写一个Shell程序,该程序能接收用户从键盘输入的100个整数,然后求出其总和、最大值及最小值
  3.56会哪些编程语言?写过哪种shell脚本?请现场编写一组
  3.57判断数字大于500则执行big.sh 小于等于500则退出脚本,并输出报错信息
  3.60请编写一个可递归创建3级hash目录的shell脚本,hash目录名分别为 a b c d e f 0 1 2 3 4 5 6 7 8 9 (请用bash实现)
  3.61统计web服务器上网络连接的各个状态(ESTABLISHED/SYN_SENT/SYN_RECV等)的个数并按倒序排列
  3.62脚本测试test.txt文件
  1 2 3
  4 5 6
  7 8 9
  打印出每一列的累加值
  3.63请在linux下写个bash shell 程序,目的如下:查找/opt/mp3目录下所有mp3后缀的文件,然后计算下每个md5值,文件名跟md5值写入新的文件mp3-md5.txt文件
  3.65执行$ time sleep 2 输出如下
  real 0m2.003s
  user 0m0.004s
  sys 0m0.000s
  请说明real、user、sys三者具体代表的意思和区别
  3.67现在一个REST API服务(名称为ab-service),进程启动后占用8038端口进行网络通信。现需要一个Bash Shell脚本(start.sh),在一台Linux机器上启动这个服务,并通过8038端口对所有内外网IP服务。请写出完整的可运行脚本,并尽量考虑可能出现的情况并处理
  转自:https://www.oldboyedu.com/blog/1928.html

阅读(2038) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~