1、SHELL编程Find语句案例实战
1)SHELL编程四剑客工具:Find、Grep、Sed、Awk,通过四剑客可以完成常规Linux指令无法完成或者比较复杂的功能,学好SHELL编程四剑客有助于SHELL编程能力再上一层楼。
2)SHELL编程四剑客之一的Find工具,主要是用于Linux操作系统去查找某个文件和目录所在的位置的(绝对路径),Find工具的语法格式:
find(工具) path(路径) -option(参数) -action(动作);
find
path
-option
[ -print ]
[ -exec
-ok
command ]
 Path路径:给定find工具一个大概的范围,从哪个范围去查找;
 Option参数:按照某些特征:-name、-size、-mtime、-user;
 Action动作:找到文件或者目录之后执行的操作的动作(打印、执行);
3)SHELL编程四剑客Find工具案例操作一,基于Find工具查找Linux系统下eth0网卡配置文件所在的路径。
find / -name eth0
find / -name ifcfg-eth0
find / -name "*eth0"
find /etc/ -name "*eth0"
find /etc/sysconfig/network-scripts/ -name "*eth0"
4)SHELL编程四剑客Find工具案例操作二,基于Find工具查找Linux系统下auto_mysql_backup.sh所在的路径。
find / -name auto_mysql_backup.sh
find / -name *mysql_backup*.sh
5)SHELL编程四剑客Find工具案例操作三,基于Find工具查找Linux系统下以.rpm结尾的软件包,并且找到以mariadb命名开头的包,排除mariadb-libs包。
find / -name "*.rpm"
find / -name "mariadb*rpm"
find / -name "*.rpm" -a -name "mariadb*"
find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*"
find / -name "*.rpm" -a -name "mariadb*" -a ! -name "mariadb-libs*
6)SHELL编程四剑客Find工具案例操作四,基于Find工具查找Linux系统下以.rpm结尾的软件包,并且找到以mariadb命名开头的包,排除mariadb-libs包,并且将剩余软件包拷贝至/tmp/目录。
for soft in `find / -name "*.rpm" -name "mariadb*" ! -name
"mariadb-libs*"`;do cp $soft /tmp/;done
cp `find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*"`
/tmp/
\cp $(find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*")
/tmp/
find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*" -exec cp
{} /tmp/ \;
find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*"|xargs -I {}cp {} /tmp/
7)SHELL编程四剑客Find工具案例操作五,查找/data/logs/目录大于10M并且小于30M的文件,以.log结尾,并且日志文件是3天以前的,并且将其移动至/data/backup/目录下。
 -name
“*.log”-exec mv {} /data/backup/ \;
8)SHELL编程四剑客Find工具案例操作六,查找当前目录,第一级目录深度的目录,排除隐藏文件,并且命名以a开头的,命令如下:
 -type d ! -name "\.*" -name "a*"
2、SHELL编程Sed语句案例实战
1)SHELL编程四剑客之二的Sed工具,主要是用于Linux系统文本文件的编辑、打印的,也称为非交互模式编辑器(vi|vim交互模式编辑器),Sed工具的语法格式:
sed -option(参数) ‘Command’(命令) file(文件对象)
 Option参数:-i(修改)、-n(静默模式)、-e(扩展)、-l、-b、-c;
 Command命令:p(打印)、d(删除)、N(多行)、G、D;
2)SHELL编程四剑客Sed工具案例操作一,基于Sed工具将list.txt文件中的用户名root改为jfedu,命令如下:
sed s/jfedu/root/g list.txt
sed 's#jfedu#root#g' list.txt
sed -i 's#jfedu#root#g' list.txt
sed -e '3s/2/100/g' -e '4s/3/100/g' list.txt
sed '3s/2/100/g;4s/3/100/g' list.txt
sed '3,$s/11/100/g' list.txt

SHELL用法六(Find语句)的更多相关文章

  1. Shell编程之循环语句与echo的用法

    Shell编程之循环语句与echo的用法 目录 Shell编程之循环语句与echo的用法 一.echo用法 1. echo常用选项 2. 常用的转义字符 3. 特殊符号%.#的用法 二.循环语句 1. ...

  2. shell 脚本之判断语句 if 详解

    使用 Linux 系统这么长时间,对 shell 脚本也算是比较熟悉.其实不管是搞开发,还是搞运维,shell 脚本都是必备的基本技能.这次抽时间好好总结一下 shell 方面的知识,综合的再学习一下 ...

  3. shell脚本-循环选择语句

    shell脚本-循环选择语句 过程式编程语言: 顺序执行 选择执行 循环执行 注:条件中的变量,可以在执行语句中使用,不用在加上"$". if语句 根据命令的退出状态来执行命令 单 ...

  4. shell脚本之循环语句与函数

    shell脚本之循环语句与函数 echo的用法: echo -n #表示不换行输出 echo -e #输出转义字符,将转义后的内容输出到屏幕上 转义字符: \n :换行,被输出的字符从"\n ...

  5. Linux编程 9 (shell类型,shell父子关系,子shell用法)

    一. shell类型 1.1  交互式 bin/ shell程序 当用户登录到某个虚拟控制台终端或是在GUI中启动终端仿真器时,默认的shell程序就会开始运行.系统启动什么样的shell程序取决于你 ...

  6. 2018年11月10日 input,print,pass 用法,条件语句+字符串

    name=input('请输入用户名')#永远等待用户输入 password=input('请输入密码') print(name) print(password) 变量定义的规则: 变量名只能是 字母 ...

  7. 转 功能强大的shell:if条件语句

    原文 http://blog.zol.com.cn/2322/article_2321767.html 功能强大的shell:if条件语句 if语句测试条件,测试条件返回真(0)或假(1)后,可相应执 ...

  8. 04 shell编程之循环语句

    Shell编程之循环语句 学习目标: 掌握for循环语句编程 掌握while循环语句编程 目录结构: For循环语句 l  读取不同的变量值,以逐个执行同一组命令 l  For语句结构 for 变量名 ...

  9. 03 shell编程之case语句与函数

    本文所有内容均来自当年博主当年学习笔记,若有不足欢迎指正 Shell编程之case语句与函数 学习目标: 掌握case语句编程 掌握shell函数的使用 目录结构: Case语句 Case语句的作用 ...

随机推荐

  1. 学习Unet的一些过程

    毕业设计的项目,需要用到手机作为控制端,这就需要用到Unity的网络模块. 因为只会设计到几个简单的按钮命令,所以不打算做多么复杂的功能,一开始打算用C#的Socket编程,但是考虑到多线程的关系觉得 ...

  2. Feign整合测试

    1.测试使用 (1)服务调用方引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> < ...

  3. 拷贝构造函数[c++]

    拷贝构造函数何时会被调用? 1. 对象以值传递的方式传入函数参数 2.对象以值传递的方式从函数返回 3.对象需要通过另外一个对象进行初始化 下面我们来看代码: //#include <iostr ...

  4. java数据库连接池比较

    dbcp dbcp可能是使用最多的开源连接池,原因大概是因为配置方便,而且很多开源和tomcat应用例子都是使用的这个连接池吧.这个连接池可以设置最大和最小连接,连接等待时间等,基本功能都有.这个连接 ...

  5. Gradle project sync failed. Please fix your project and try again

    https://stackoverflow.com/questions/29808199/error-running-android-gradle-project-sync-failed-please ...

  6. drf二次封装response-APIViews视图家族-视图工具集-工具视图-路由组件

    视图类传递参数给序列化类 (1).在视图类中实例化 序列化对象时,可以设置context内容. (2).在序列化类中的局部钩子.全局钩子.create.update方法中,都可以用self.conte ...

  7. virtualbox Ubuntu拒绝root用户ssh远程登录

    http://www.bcty365.com/content-122-6241-1.html

  8. 吴裕雄--天生自然 pythonTensorFlow图形数据处理:数据集基本使用方法

    import tempfile import tensorflow as tf # 1. 从数组创建数据集. input_data = [1, 2, 3, 5, 8] dataset = tf.dat ...

  9. JS中的0b00与0x00表示什么

    换成二进制表示:(0b表示二进制数,0x表示16进制数)

  10. linux select函数

    /**两个线程一个负责监听客户端,一个负责读客户端请求. 服务器模型,*主控线程负责accept监听链接的客户端,*把客户端fd放入任务队列中(),分离子线程则从任务队列取出所有的*客户端描述加入se ...