码迷,mamicode.com
首页 > 系统相关 > 详细

SHELL用法六(Find语句)

时间:2020-01-06 18:12:16      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:语句   mysq   net   网卡   排除   network   一级目录   linux   查找   

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/目录下。
find /data/logs/ -size +10M -size -30M -type f -mtime +3 -name
“*.log”-exec mv {} /data/backup/ \;

 

8)SHELL编程四剑客Find工具案例操作六,查找当前目录,第一级目录深度的目录,排除隐藏文件,并且命名以a开头的,命令如下:
find . -maxdepth 1 -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语句)

标签:语句   mysq   net   网卡   排除   network   一级目录   linux   查找   

原文地址:https://www.cnblogs.com/nsh123/p/12157475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!