文档章节

034-shell习题01

侠客行之石头
 侠客行之石头
发布于 2017/08/30 15:47
字数 893
阅读 15
收藏 0
点赞 0
评论 0

1.只要“/etc/rc.d/rc.local”或者“/etc/init.d/rc.local”中有一个是文件,则显示“YES”,否则无任何输出。

[root@Carlton ~]# [ -f /etc/rc.d/rc.local ] || [ -f /etc/init.d/rc.local ]&&echo  "YES"
YES

2.若当前用户是root 且使用的shell程序是“/bin/bash” 则显示"yes"否则无任何输出。

[root@Carlton ~]# echo $USER$SHELL
root/bin/bash
[root@Carlton ~]# [ $USER = "root" ]||[ $SHELL = "/bin/bash" ]&& echo "yes"
yes

3. 检查“/var/log/messages”文件是否存在,若存在则统计文件内容的行数并输出,否则不做任何操作log

[root@Carlton September]# vim file.sh 
#/bin/bash
file="/var/log/messages"
if [ -f $file ]; 
   then
   wc -l $file
fi

[root@Carlton September]# ./file.sh 
1 /var/log/messages

4.提示用户指定备份目录的路径,若目录已存在则显示提示信息后跳过,否则显示相应提示信息后创建该目录。

[root@Carlton scripts]# vim backup.sh 
read -p "what is your backup directory?" backfile
if [ -d $backfile ];
then
echo "$backfile is already exis"
else
echo "$backfile is not exist,will make it"
mkdir -p $backfile
fi
[root@Carlton scripts]# ./backup.sh 
what is your backup directory?/etc        
/etc is already exis
[root@Carlton scripts]# ./backup.sh 
what is your backup directory?/server/scripts/toolss/
/server/scripts/toolss/ is not exist,will make it
[root@Carlton scripts]# find . -type d -maxdepth 1|grep /too*
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.

./toolss
./tools
[root@Carlton scripts]# ls -ld /server/scripts/tools*
drwxr-xr-x 2 root root 4096 Aug 31 09:02 /server/scripts/tools
drwxr-xr-x 2 root root 4096 Aug 31 09:08 /server/scripts/toolss



5.统计当前登录到系统中的用户数量,并判断是否超过三个,若是则显示实际数量并给出警告信息,否则列出登录的用户账号名称及所在终端。

[root@Carlton September]# ./test.sh 
this is temporary alert,too many login users(Total:6)
[root@Carlton September]# vim test.sh 
Usernumber=`who |wc -l`
if [ $Usernumber -gt 7 ];  #数字可以改为3
  then
echo "this is temporary alert,too many login users(Total:$Usernumber)"
else
 echo "Login users: "
who | awk '{print $1}'
fi
"test.sh" 9L, 184C written                                    
[root@Carlton September]# ./test.sh 
Login users: 
carlton
root
root
root
root
root

6.检查portmap进程是否已经存在,若已经存在则输出“portmap service is running.” ;否则检查是否存在“/etc/rc.d/init.d/portmap” 可执行脚本,存在则启动portmap服务,否则提示“no portmap script file.”。

[root@Carlton scripts]# ./portmap.sh 
portmap service is running
[root@Carlton scripts]# vim portmap.sh 
#!/bin/bash
 #top -bn1 |grep portmap &>/dev/null
 pgrep kacdwadhpid &>/dev/null
   if [ $? -eq 0 ] ;
then
     echo "portmap service is running"
elif [ -x "/etc/rc.d/init.d/portmap" ] ;
     then
        Service portmap start
else
       echo "no portmap script file"
fi

"portmap.sh" 13L, 275C written                                                                                                                                                                                           
[root@Carlton scripts]# ./portmap.sh 
no portmap script file

7.每隔五分钟监测一次mysqld服务进程的运行状态,若发现mysqld进程已终止,则在“/var/log/messages”文件中追加写入日志信息(包括当时时间),并重启mysqld服务;否则不进行任何操作。

#!/bin/bash
Pgrep mysqld &>/dev/null
If [$? –ne 0];
  Then
  echo “`$date +%F` is restart mysqld services ” >/var/log/messages
  services mysqld restart 
fi
crontab –e 
5 * * * * /server/scripts/mysqld.sh
crontab -l

8.依次输出三条文字信息,包括一天中的“Moring”、“Noon”、“Evening”字串。

[root@Carlton scripts]# vim XB.sh 
#!/bin/bash
for XB in "Morning" "Noon" "Evening"
do
  echo "The $XB of the day"
done

"XB.sh" 6L, 87C written                                                                                                                                                                                                  
[root@Carlton scripts]# ./XB.sh 
The Morning of the day
The Noon of the day
The Evening of the day

9.对于使用“/bin/bash”作为登录shell的系统用户,检查他们在“/opt”目录中拥有的子目录或文件数量,如果超过100个,则列出具体数值及对应的用户账号。

#!/bin/bash
DIR="/opt"
NUM=100
USERnum=`grep "/bin/bash" /etc/passwd |cut -d ":" -f 1`
for nnnn in $USERnum
do
  NUN=`find $DIR -user $nnnn |wc -l`
if [ $NUN -gt 100 ];
   then
   echo " $nnnn have $NUN files in $DIR "
fi
done

"bbb.sh" 13L, 231C written                                    
[root@Carlton scripts]# ./bbb.sh 
 root have 140 files in /opt 
[root@Carlton scripts]# find /opt -user root |wc -l
140

 

© 著作权归作者所有

共有 人打赏支持
侠客行之石头
粉丝 8
博文 167
码字总数 52781
作品 0
深圳
运维
curl命令发送Post请求

目的1:通过脚本发送post请求。 答案: curl -d "leaderboardid=7778a8143f111272&score=19&appkey=8d49f16fe034b98b&testuser=test01" "http://172.16.102.208:8089/wiapi/score" 目的2:通......

jiangwu ⋅ 2015/03/30 ⋅ 2

MT9V034摄像头学习笔记(二)

再次想骂坑爹的龙邱,他们的图像采集摄像头是默认的配置信息。然后靠程序延时采集图像,仅仅就是表面看起来能用而已。 MT9V034摄像头内部寄存器 重点内容 内部图像配置寄存器有两套,好像是可...

qq_34445388 ⋅ 03/04 ⋅ 0

linux 运维shell习题

1. linux如何挂在windows下的共享目录? #匿名共享[root@node2 ~]# mount.cifs //192.168.174.1/isos /media/[root@node2 media]# lsCentOS-6.8-x86_64-bin-DVD1.iso ubuntu-16.04.2-deskto......

chaunceyjiang ⋅ 2017/07/30 ⋅ 0

Python-习题11~15

习题 11:提问 运行结果: 加分题: 1. raw_input 不管用户输入什么类型的都会转变成字符型 2. 另:input会根据用户输入变换相应的类型,而且如果要输入字符和字符串的时候必须要用引号包起来...

南风末 ⋅ 2016/11/13 ⋅ 0

一次shell的随机数习题

企业面试题17:老男孩教育天津项目学生实践抓阄题目:好消息,老男孩培训学生外出企业项目实践机会(第6次)来了(本月中旬),但是,名额有限,队员限3人(班长带队)。因此需要挑选学生,因...

lizilinux ⋅ 01/04 ⋅ 0

基于 Spring jdbcTemplete 的 ORM 工具--simple-jdbc-templete

这是一个简单的ORM工具,基于Spring jdbcTemplete,可以方便的根据对象生成相应的CRUD SQL语句。结合springmvc使用可以大量的减少代码量。 先看例子,比如springmvc接收到了一个User对象,里...

shifeng1983 ⋅ 2017/09/01 ⋅ 3

RTSP 大华IPC指令协商

OPTIONS rtsp://192.168.0.196:554/cam/realmonitor?channel=1&subtype=0 RTSP/1.0 CSeq: 2 User-Agent: LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22) RTSP/1.0 401 Unauthorized CS......

fengyuzaitu ⋅ 01/15 ⋅ 0

每日一道shell 练习(05)——批量打包文件

1. 习题 找到 /123 目录下所有后缀名为 .txt 的文件 批量修改.txt 为 .txt.bak 把所有.bak 文件打包压缩为 123.tar.gz 批量还原文件的名字,即把增加的.bak 再删除 2. 习题分析 首先要想办法...

hello_cjq ⋅ 05/03 ⋅ 0

the response string from baidu

i send the request string to www.baidu.com: GET / HTTP/1.1 Host: www.baidu.com User-Agent: Mozilla/5.0 (X11; Linux x8664; rv:31.0) Gecko/20100101 Firefox/31.0 Accept: text/html,......

lios ⋅ 2015/01/10 ⋅ 4

每日一道shell练习(04)

1. 习题 设计一个脚本,监控远程的一台主机(假设 ip地址是110.110.110.114)的存活状态,当发现宕机时发一封邮件给你自己。 提示: 你可以使用 ping 命令 : 脚本可以搞成死循环。 2. 习题分...

hello_cjq ⋅ 04/12 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 22分钟前 ⋅ 0

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】

前言 我是上学期学的汇编,因为有vs又不想用课上教的麻烦的dosbox以及masm32,但是一直没找到高亮插件和能调试的(难在运行不了而找不到答案上,出现的错误在最后放出,还请先达们不吝指点)...

simpower ⋅ 32分钟前 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 34分钟前 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 41分钟前 ⋅ 0

你真的明白RPC 吗?一起来探究 RPC 的实质

你真的明白RPC 吗?一起来探究 RPC 的实质 不论你是科班出身还是半路转行,这么优秀的你一定上过小学语文,那么对扩句和缩句你一定不陌生。缩句就是去除各种修饰提炼出一句话的核心,而不失基...

AI9o後 ⋅ 43分钟前 ⋅ 0

z-index设置失效?

今天碰到了一个问题,就是在给li设置提示框的时候,有用到遮罩效果,本来想把对应的出现在最顶层,可是不管将li设置的z-index值设为多大,li都没有出现在遮罩层之上。 我在网上查了z-index设...

IrisHunag ⋅ 51分钟前 ⋅ 0

CyclicBarrier、CountDownLatch以及Semaphore使用及其原理分析

CyclicBarrier、CountDownLatch以及Semaphore是Java并发包中几个常用的并发组件,这几个组件特点是功能相识很容易混淆。首先我们分别介绍这几个组件的功能然后再通过实例分析和源码分析其中设...

申文波 ⋅ 54分钟前 ⋅ 0

Java对象的序列化与反序列化

Java对象的序列化与反序列化

Cobbage ⋅ 今天 ⋅ 0

Sqoop

1.Sqoop: 《=》 SQL to Hadoop 背景 1)场景:数据在RDBMS中,我们如何使用Hive或者Hadoop来进行数据分析呢? 1) RDBMS ==> Hadoop(广义) 2) Hadoop ==> RDBMS 2)原来可以通过MapReduce I...

GordonNemo ⋅ 今天 ⋅ 0

全量构建和增量构建的区别

1.全量构建每次更新时都需要更新整个数据集,增量构建只对需要更新的时间范围进行更新,所以计算量会较小。 2.全量构建查询时不需要合并不同Segment,增量构建查询时需要合并不同Segment的结...

无精疯 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部