1.把/OPT目录下(包含子目录)下所有后缀为“.sh”的文件后缀变更为“.shell”
2.将A、B、C目录下的文件A1、A2、A3文件改名为A4、A5、A6
3.如何在vi模式下将文件中的aa字符串批量改成bb

1.

#!/bin/bash
dir=/hanzhao
files=`find /hanzhao/ -name '*.sh'`
for file in $files
do
# echo $file
filename=${file%.*}
# echo $filename
mv $file ${filename}.shell
done

2.

#!/bin/bash
file=`ls /[ABC]/A[123]`
for i in $file
do
num=${i##*A}
let num1=num+3
# echo $num1
# num2=${i%A*}
# echo $num2
mv $i ${i%A*}A$num1
done

3.

直接用vi打开文件,之后再读模式下 直接输入 :%s#aa#bb#g

4备份每天的日志

#!/bin/bash
cp /opt/lampp/logs/access_log /opt/bak_access_log-`date +%Y%m%d%H%M`
>/opt/lampp/logs/access_log

5.启动停止 lampp

#!/bin/bash
start=0
pidnum=`ps aux|grep "/opt/lampp/*"|wc -l`
echo ${pidnum}
if [ ${pidnum} -gt 1 ]
then
echo 'lampp is start'
read -p 'Do you wish to stop lampp? y or n: ' yn
case $yn in
[Yy]* )start=1;;
[Nn]* )exit;;
* )echo 'Please answer Y or N'
exit;;
esac
else
echo 'lampp is stop,doing start'
read -p 'Do you wish to start lampp? y or n: ' yn
case $yn in
[Yy]* )start=0;;
[Nn]* )exit;;
* )echo 'Please answer Y or N'
exit;;
esac
fi if [ ${start} -eq 1 ]
then ps aux|grep "/opt/lampp/*"|grep -v "grep"|awk '{print $2}'|xargs kill -9
echo 'lampp is stop'
else
/opt/lampp/lampp start
echo 'lampp is start'
fi

5.根据进程号查询启动路径

#!/bin/bash
pid=`ps -ef|grep "httpd"|grep -v "grep"|awk '{print $2}'`
echo ${pid}
for every_pid in ${pid}
do
exe_path=`ls -l /proc/${every_pid}|grep "exe ->"|awk '{print $NF}'`
echo "exe_path:"${exe_path}
done

6.杀死 进程

ps -ef |grep "httpd"|grep -v "grep"|awk '{print$2}'|xrags kill -9

7.条件查询文件

awk -F","  '{if($1==1||$2>34&&....)print}'  a.txt

8.awk 求平均值:

awk '{NR>1}BEGIN{sum=0;num=o}{if($1==2){sum+=$2;num+=1}}END{print(sum/num)}' hanzhao

shell脚本 回顾 小练习的更多相关文章

  1. shell脚本动画小工具

    shell脚本动画小工具 看gif图: shell脚本版 脚本内容如下: #!/usr/bin/env bash ## ---------------------------------------- ...

  2. 远程执行shell脚本的小技巧

    很多时候需要批量跑脚本执行任务,但又不想分发再执行,而是直接一条命令下去就跑脚本,该怎么玩比较嗨? 例如以下脚本: #!/bin/bash echo "$@" echo " ...

  3. Linux中编写shell脚本的小例子

    1.创建一个test.sh的文件 touch test.sh 2.编辑这个文件 vi test.sh 3.进入到编辑页面后将编辑页面先切换成编辑模式(按Esc键就可以切换) 4.切换到编辑模式后开始向 ...

  4. Docker学习3-简单shell脚本安装mysql5.7与docker小技巧

    前言 玩过Windows中的 .bat 的小伙伴是不是觉得很有意思呢,github中一键推送.同步拉取等等操作,哈哈,当然shell脚本也是很类似,可以运行一个脚本就可以自动给我们部署好环境啦!但是这 ...

  5. linux运维自动化shell脚本小工具

    linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...

  6. shell脚本中的几个括号总结(小括号/大括号/花括号)--from:http://www.cnblogs.com/hanyan225/archive/2011/10/06/2199652.html

    在Shell中的小括号,大括号结构和有括号的变量,命令的用法如下: 1.${var}2.$(cmd)3.()和{}4.${var:-string},${var:+string},${var:=stri ...

  7. java 调用bash shell脚本阻塞的小问题的解决

    java  调用bash shell脚本阻塞的小问题的解决 背景 使用java实现的web端,web端相应用户的界面操作,使用java调用bash实现的shell脚本进行实际的操作,操作完成返回执行结 ...

  8. shell脚本小案例

    1.获取远程ftp数据到本地目录 #!/bin/bash ftp -n<<! open 135.0.24.19 user exchange exchange binary cd /idep ...

  9. shell脚本中的几个括号总结(小括号/大括号/花括号)

    from:http://www.cnblogs.com/hanyan225/archive/2011/10/06/2199652.html 是毋庸置疑的,方便了我们也迷惑了我们,比如这些杂七杂八的括号 ...

随机推荐

  1. shell 计算文件交并差

    交集 $ sort a b | uniq -d 并集 $ sort a b | uniq 差集a-b $ sort a b b | uniq -u 文件乱序 cat tmp.txt | awk 'BE ...

  2. java JSON 序列化类(List<Object> 转String)

    import com.alibaba.fastjson.JSONObject; import com.google.common.base.Preconditions; import com.goog ...

  3. 如何用Qt写一个同一时间只能运行一个实例的应用程序

    http://blog.sina.com.cn/s/blog_6343941a0100nk2x.html 可以达到的目的: 1.应用只启动一个实例,依赖于QtNetwork模块 2.启动时向另一个实例 ...

  4. MySQL数据copy

    摘自http://database.51cto.com/art/201011/234776.htm 1. 下面这个语句会拷贝表结构到新表newadmin中. (不会拷贝表中的数据) CREATE TA ...

  5. tiff/tfw, jpg/jpgw坐标文件的格式(6个参数)

    tiff/tfw, jpg/jpgw坐标文件的格式(6个参数) 0.100-0.13999904400510 以上每行对应的含义: 1 地图单元中的一个象素在X方向上的X分辨率尺度. 2 平移量. 3 ...

  6. Mirantis OpenStack 7.0: NFVI Deployment Guide — NUMA/CPU pinning

    https://www.mirantis.com/blog/mirantis-openstack-7-0-nfvi-deployment-guide-numacpu-pinning/ Compute ...

  7. linux防火墙开关

    对于普通Linux机器开关防火墙命令: 1重启后生效 chkconfig iptables off chkconfig iptables on 2即时生效 serivce iptables statu ...

  8. Spring Boot入门——freemarker

    使用步骤: 1.在pom.xml中添加相关依赖 <!-- 添加freemarker依赖 --> <dependency> <groupId>org.springfr ...

  9. array_merge函数的注意事项

    array_merge — 合并一个或多个数组 array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面.返回作为结果的数组 如果输入的数组中有相同的字符串键名 ...

  10. 在其他平台上使用 ActiveMQ

    这一章讲了使用其他编程语言来访问 ActiveMQ,其他语言基本上都有相应的协议实现,所以说实现了协议,编程语言不是障碍! 还说了 ActiveMQ 提供了 RESTFul API 和 Ajax AP ...