今天浩道和大家分享linux的17个高效运维技巧!
1、查找所有以结尾的文件。tar中的当前目录并移动到指定的目录:
找到。-名称"*。tar"-execmv{}。/backup/;
注意:find -name主要用于查找文件的名称。-exec和xargs可用于执行前面的结果,然后是要执行的操作。一般find和find一起用。我们可以扩展-mtime来查找修改时间,-type是指定的对象类型(通常包括f表示文件,d表示目录),-size是指定的大小。例如,它通常用于查找30天前大于100M的当前目录。
找到。-姓名' *。log 'mtime 30typefsize 100m | xargsrmRF { };
2、批量解压缩所有以结尾的文件。将当前目录压缩到指定目录:
寻找。名称"*。zip"type f ` doun zipdI/data/www/img/done
注:对于i in(命令);Do … done是for循环的常用格式,其中I是变量,可以自己指定。
3、sed常用生活宝典:test.txt进行测试。
如何移除?行首字符:
sed-i's/^.//g'test.txt
在行首添加一个a字符:
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、如何判断一个目录是否存在?如果不存在,创建一个新目录;如果存在,打印信息。
如果[!d/data/backup/];然后mkdirp/data/backup/else echo '目录已存在,请退出' fi
注:如果……;然后.其他.fi:是if条件语句!感叹号表示反义词“不存在”,-d表示目录。
5、监视linux磁盘的根分区,如果根分区的空间大于或等于90%,则向Linux SA发送邮件。
(1)打印根分区的大小
df-h | sed-n '/$/p ' | awk ' { print $ 5 } ' | awkF"%"' { print $ 1 } '
注意:awk' {print $5} '表示打印第五个字段,而-F表示分隔,例如按%,这只是表示删除百分号,awkF ' { print $ 1 } '分隔点。
(2)如果条件判断大小是否大于90,如果大于90,则发送邮件报警。
while sleep 5 mdoforiin ` df-h | sed-n '/$/p ' | awk ' { print $ 5 } ' | sed ' s/%//g ' ` do echo $ IIF[$ I-ge90];thenecho“超过90%的Linuxofdiskspace,请检查LinuxDisk!”| mail-s"warn Linux/parts is $ I %"XXX @ XXX。XXfidonedone
6、统计Nginx访问日志,访问量前20位的ip地址:
cataccess . log | awk“{ print $ 1 }”| sort | uniq-c | sort-NR | head-20
注意:sort sort,uniq(检查并删除文本文件中重复的行和列)
7、 sed sed的另一种用法是查找当前行,然后修改该行之后的参数:
sed-I '/SELINUX/s/enforcing/disabled/'/etc/SELINUX/config
Sed冒号模式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的//g ' a . txt | sort-NR | sed-n ' 1p;$p '
9、如何使用snmpd捕获版本v2 cacti数据:
snmpwalk-v2c-cpublic 192 . 168 . 0 . 241
10、将以jk结尾的文本替换为yz:
sed-e's/jk$/yz/g'b.txt
网络捕获:Tcpdump
Tcpdump-nnhost 192.168.56.7和端口80抓取56.7到80请求的数据包。tcpdump -nn主机192.168.56.7或者!主机192.168.0.22和端口80排除端口0.22 80!TCP/IP第7层协议物理层-数据链路层-网络层-传输层-会话层-表示层-应用层。
12、显示了20个最常用的命令:
cat.bash_history|grep-v^#|awk'{print$1}'|sort|uniq-c|sort-nr|head-20
13、编写一个脚本来查找最后创建时间为3天前且后缀为*的文件。记录并删除它。
找到。-mtime 3-name'*。日志“| xargsrm-RF { };
14、写一个脚本,将某个目录下大于100k的文件移动到/tmp。
找到。-大小100k-execmv { }/tmp;
15、写一个防火墙配置脚本,只允许远程主机访问本机的80端口。
iptables-fipt ables-xipt ables-a input-ptcp-d port 80-jacceptipables-a input-ptcp-jREJECT
或者
iptables-ain put-mstate-state new-mtcp-ptcp-d端口80-jACCEPT
16、写一个脚本进行Nginx日志统计,得到访问互联网协议(互联网协议)最多的前10个(nginx日志路径:
/home/logs/nginx/default/access。日志)。CD/home/logs。nginx/默认排序-m-k4-oaccess。登录访问。1访问。2访问。3.地下通道。logok | awk"{ print $ 1 }"| sort-n | uniq-c | sort-NR | head-10
17、替换文件中的目录
一项Linux指令的:/user/local:/tmp:g'test.txt
或者
sed-I的//usr/local//tmp/g测试。文本文件(textfile)
审核彭静
标签:文件-访问