1.查找当前目录下所有以.tar结尾的文件,移动到指定目录:find.-name“*.tar”-execmv{}./backup/;注意:find–name主要是用来查找一个文件名,-exec和xargs可以用来接管前面的结果,然后要执行的动作一般和find一起使用。我们可以扩展-mtime来查找和修改使用find的时间,-type是指定的对象类型(一般包括f表示文件,d表示目录),-size指定大小,比如经常使用:find和删除当前目录下30天前大于100M的LOG文件。find.-name"*.log"–mtime+30–typef–size+100M|xargsrm–rf{};2.批量解压当前目录下所有.zip结尾的文件到指定目录:foriin`find.–name"*.zip"-typef`dounzip-d$i/data/www/img/done注:forIin(命令);do...done是for循环的常用格式,这里的i是一个变量,可以自己指定。3、sed常用命令集锦:test.txt如何去除.行首字符:sed-i's/^.//g'test.txt在行首添加一个字符:sed's/^/a/g'test.txt在末尾添加一个字符a该行:sed's/$/a/'tets.txt在特定行之后添加一个字符c:sed'/wuguangke/ac'test.txt在该行之前添加一个字符c:sed'/wuguangke/ic'test.txt更多sed命令请参考相关文档。4、如何判断一个目录是否存在,不存在则新建,存在则打印信息。if[!–d/data/backup/];thenMkdir–p/data/backup/elseecho"TheDirectoryalreadyexists,pleaseexit"fi注解:if...;then...else..fi:forif条件语句,!感叹号表示反义词“不存在”,-d表示目录。5.监控Linux磁盘的根分区。如果根分区的空间大于等于90%,发邮件给LinuxSA(1)打印根分区的大小df-h|sed-n'//$/p'|awk'{print$5}'|awk–F”%”'{print$1}'注解:awk'{print$5}'表示打印第五个字段,-F表示分隔,比如用%分隔,简单的意思就是要删除百分号,awk-F。'{print$1}'以点分隔。数字。(2)if条件判断size是否大于90,大于90则发送邮件告警whileep5mdoforiin`df-h|sed-n'//$/p'|awk'{print$5}'|sed's/%//g'`doecho$iif[$i-ge90];thenecho"Morethan90%Linuxofdiskspace,PleaseLinuxSACheckLinuxDisk!"|mail-s"WarnLinux/Partsis$i%"XXX@XXX.XXfidonedone6,Nginx访问日志统计,访问排名前20的ip地址:cataccess.log|awk'{print$1}'|sort|uniq-c|sort-nr|head-20注:sort排序,uniq(检查并删除重复行andcolumnsintextfiles)7、sed另一种用法是找到当前行,然后修改该行后的参数:sed-i'/SELINUX/s/enforcing/disabled/'/etc/selinux/configSed冒号模式sed-i's:/tmp:/tmp/abc/:g'test.txt意思是把/tmp改成/tmp/abc/。8.打印出一个文件中的最大值和最小值:cata.txt|sort-nr|awk'{}END{print}NR==1′cata.txt|sort-nr|awk'END{print}NR==1'Thisistherealprintmaximumandminimumvalue:sed's///g'a.txt|sort-nr|sed-n'1p;$p'9,使用snmpd抓取v2版本的cacti数据:snmpwalk-v2c-cpublic192.168.0.24110,修改jk结尾的文字,替换成yz:sed-e's/jk$/yz/g'b.txt11,网络抓包:tcpdumptcpdump-nnhost192.168.56.7andport80捕获56.7到80请求的数据包。tcpdump-nnhost192.168.56.7or!host192.168.0.22andport80排除端口0.2280!tcp/ip7层协议物理层-数据链路层-网络层-传输层-会话层-表示层-应用层。12、H3C配置团体名配置:先设置snmp版本如下:snmp-agentsys-infoversionv1v2c,然后设置团体名:snmp-agentcommunityreadpublic13,显示最常用的20条命令:cat.bash_history|grep-v^#|awk'{print$1}'|sort|uniq-c|sort-nr|head-2014。写一个脚本,查找并删除最后创建时间为3天前,后缀为*.log的文件。find.-mtime+3-name"*.log"|xargsrm-rf{};15.编写脚本将某个目录下大于100k的文件移动到/tmp。find.-size+100k-execmv{}/tmp;16.写一个防火墙配置脚本,只允许远程主机访问本机的80端口。iptables-Fiptables-Xiptables-AINPUT-ptcp--dport80-jacceptiptables-AINPUT-ptcp-jREJECT或者iptables-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT17,写个nginx日志统计脚本,获取访问ip前10个最多(nginx日志路径:/home/logs/nginx/default/access.log)。cd/home/logs.nginx/defaultsort-m-k4-oaccess.logokaccess.1access.2access.3.....catataaccess.logok|awk'{print$1}'|sort-n|uniq-c|sort-nr|head-1018。替换文件中的目录sed's:/user/local:/tmp:g'test.txt或sed-i's//usr/local//tmp/g'test.txt
