1。查找当前目录下所有以.tar结尾的文件,并移动到指定目录:find。-name“*.tar”-execmv{}./backup/;注意:find–name主要是用来查找一个文件名,-exec和xargs可以用来接管前面的结果,然后要执行的动作一般和find一起使用。我们可以扩展-mtime来查找和修改使用find的时间,-type是指定的对象类型(一般包括f表示文件,d表示目录),-size指定大小,比如经常使用:find和删除当前目录下30天前大于100M的LOG文件。寻找。-name"*.log"–mtime+30–typef–size+100M|xargsrm–rf{};2、批量解压当前目录下所有以.zip结尾的文件到指定目录:foriinfind。–name“*.zip”–typefdounzip–d$i/data/www/img/done备注:forIin(command);do...done是for循环的常用格式,这里的i是一个变量,可以自己指定。3、sed常用命令集锦:test.txt如何去掉.行首字符:sed-i's/^.//g'test.txt在行首添加字符a:sed's/^/a/g'test.txt在行首添加字符行尾:sed's/$/a/'tets.txt在特定行后添加字符c:sed'/wuguangke/ac'test.txt在行前添加字符c:sed'/wuguangke/ic'test.txt更多sed命令请参考相关文档。4、如何判断一个目录是否存在,不存在则新建,存在则打印信息。如果[!-d/data/backup/];thenMkdir–p/data/backup/elseecho"TheDirectoryalreadyexists,pleaseexit"fi注释:if...;then...else..fi:if条件语句,!感叹号表示Antisense“不存在”,-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则发送邮件告警whilesleep5mdoforiindf-h|sed-n'//$/p'|awk'{print$5}'|sed's/%//g'doecho$iif[$i-ge90];thenecho“超过90%的Linux磁盘空间,请LinuxSA检查Linux磁盘!”|mail-s“警告Linux/部件是$i%”XXX@XXX.XXfidonedone6。Nginx访问日志统计,访问次数前20的ip地址:cataccess.log|awk'{print$1}'|sort|uniq-c|sort-nr|head-20注:sort排序,uniq(勾选删除repeatedrowsandcolumnsintextfiles)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'这是真正的打印最大值和最小值:sed's///g'a.txt|sort-nr|sed-n'1p;$p'9.使用snmpd抓取cacti版本v2数据方式: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!主机192.168.0.22和端口80排除0.22端口80!tcp/ip7层协议物理层-数据链路层-网络层-传输层-会话层-表示层-应用层。12、显示最常用的20个命令:cat.bash_history|grep-v^#|awk'{print$1}'|sort|uniq-c|sort-nr|head-2013,写个脚本找最后创建的时间是3天前,后缀为*.log的文件被删除了。寻找。-mtime+3-name"*.log"|xargsrm-rf{};14.编写脚本将某个目录下大于100k的文件移动到/tmp。寻找。-size+100k-execmv{}/tmp;15.写一个防火墙配置脚本,只允许远程主机访问本机的80端口。iptables-Fiptables-Xiptables-AINPUT-ptcp--dport80-jacceptiptables-AINPUT-ptcp-jREJECT或iptables-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-j接受16。写一个nginx日志统计脚本,获取前10个最常访问的IP(nginx日志路径:/home/logs/nginx/default/access.log)。cd/home/logs.nginx/defaultsort-m-k4-oaccess.logokaccess.1access.2access.3.....cataccess.logok|awk'{print$1}'|sort-n|uniq-c|sort-nr|head-1017。替换文件sed's:/user/local:/tmp:g'test.txt或sed-i's//usr/local//tmp/g'test.txt中的目录
