《Linux 运维需要掌握的实用技巧.docx》由会员分享,可在线阅读,更多相关《Linux 运维需要掌握的实用技巧.docx(9页珍藏版)》请在第壹文秘上搜索。
1、1.inux运维需要掌握的实用技巧1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录:find.-name*.tar-execmv)./backup/;注解:find-name主要用于查找某个文件名字,-exec、XargS可以用来承接前面的结果,然后将要执行的动作,一般跟find在一起用的很多,find使用我们可以延伸-mtime查找修改时间、-type是指定对象类型(常见包括f代表文件、d代表目录),-size指定大小,例如经常用到的:查找当前目录30天以前大于100M的1.OG文件并删除。find.-name*.Iogn-mtime+30-typef-size+1OOMxarg
2、srm-rf;2、批量解压当前目录下以.zip结尾的所有文件到指定目录:fbriinfind.-name*.zip-typefdounzip-d$i/data/www/img/done注解:forlin(command)dodone为for循环的一个常用格式,其中I为变量,可以自己指定。3、Sed常用命收集:test.txt做测试如何去掉行首的.字符sed-i,s.gtest.txt在行首添加一个a字符sed,sag,test.txt在行尾添加一个a字符sed*s/$/a/tets.txt在特定行后添加一个c字符sed7wuguangkeac,test.txt在行前加入一个c字符sed7wug
3、uangkeic,test.txt更多sed命令请查阅相关文档。4、如何判断某个目录是否存在,不存在则新建,存在则打印信息。if!-ddatabackup;thenMkdir-pdatabackupelseechoTheDirectoryalreadyexists,pleaseexitnfi注解:ifthenelse.fi:为if条件语句,!叹号表示反义“不存在,句代表目录。5、监控IinUX磁盘根分区,如果根分区空间大于等于90,发送邮件给1.inUXSA(1)打印根分区大小df-hsed-n7Spawk,print$5awk-Fprint$l)注解:awkiprintS5,意思是打印第5个
4、域,-F的意思为分隔,例如以分隔,简单意思就是去掉百分号,awk-F.Print$1分隔点.号。(2)if条件判断该大小是否大于90,如果大于90则发送邮件报警whilesleep5mdoforiindf-hsed-n7Sp,awk,p11ntS5sed,sg,xdoechoSiiflSi-ge90;thenechoMorethanQo1.inuxofdiskspacejPlease1.inuxSACheck1.inuxDisk!mail-sWarn1.inuxZPartsisSiwXXXXXX.XXfidonedone6、统计NginX访问日志,访问量排在前20的ip地址:cataccess
5、.logawkprints1,sortuniq-csort-nrhead-20注解:Sort排序、uniq(检查及删除文本文件中重复出现的行列)7、Sed另外一个用法找到当前行,然后在修改该行后面的参数:sed-i7SE1.INUXsenforcingdisabled7etcselinuxconfigSed冒号方式Sed-i飞/tmp/tmp/abc/gtest.txt意思是将tmp改成/tmp/abc/。8、打印出一个文件里面最大和最小值:cata.txtsort-nrawkiENDprintJNR=1,cata.txtsort-nrawkENDprintNR=I,这个才是真正的打印最大最小
6、值:Sedsg,a.txt|sort-nr|sed-n,1p;$p,9、使用snmpd抓取版本为v2的cacti数据方式:Snmpwalk-v2c-cpublic192.168.0.24110修改文本中以jk结尾的替换成yz:sed-e*sjkSyzg,b.txt11网络抓包:tcpdumptcpdump-nnhost192.168.56.7andport80抓取56.7通过80请求的数据包。tcpdump-nnhost192.168.56.7or!host192.168.0.22andport80排除0.2280端口!tcpip7层协议物理层-数据链路层-网络层传输层-会话层表示层-应用层。
7、12、显示最常用的20条命令:cat.bash_history|grep-vA#|awk*print$1,sortuniq-csort-nrhead-2013、写一个脚本查找最后创建时间是3天前,后缀是*.1Og的文件并删除。find.-mtime+3-name,*.log11xargsrm-rf;14、写一个脚本将某目录下大于100k的文件移动至tmp下。find.-size+100k-execmvtmp;15、写一个防火墙配置脚本,只允许远程主机访问本机的80端口。iptables-Fiptables-Xiptables-AINPUT-ptcpdport80-jacceptiptables
8、-AINPUT-ptcp-jREJECT血者iptables-AINPUT-mstate-stateNEW-mtcp-ptcp-dport80-jACCEPT16、写一个脚本进行nginx日志统计,得至Ii访问ip最多的前10个(nginx日志路径:homelogsnginxdefaultaccess.log)ocd/home/logs.nginx/defaultsort-m-k4-oaccess.Iogokaccess.1access.2access.3cataccess.logokawk,print$1,sort-nuniq-csort-nrhead-l017.替换文件中的目录sedsus
9、erlocaltmpg,test.txt或者sed-i,susrlocaltmpg,test.txt附1.inux运维应知必会一令运维工程师(OPerationS)在国内又称为运维开发工程师(DeVoPs),在国外称为SRE(SiteReliabilityEngineering)o负责维护并确保整个服务的高可用性,同时不断优化系统架构、提升部署效率、优化资源利用率提高整体的RO1.作为工作几年的1.inUX运维老司机,总结了1.inUX命令行的常用的一些用法,希望对您有所收获。1 .搜索在Vi和Vim中如果打开一个很大的文件,不容易找到对应的内容,可以使用自带的搜索关键字进行搜索定位:在Vi和
10、Vim界面中输入“/(反斜杠),之后会出现一个输入框让你输入,当你输入的关键字在文件中存在就会以高亮的形式显示出来,之后按回车就确定定位到当前高亮位置,如果不是你要找的,则可以按:“n“,意即寻找下一个输入关键字的内容。2 .vim恢复以及乱码问题(1)在vi和vim中如果不小心误删除了一些东西,想要恢复怎么办?首先要退出编辑状态,即按ESC键,之后再按U撤销之前的修改的内容。(2)在用Vi或Vim打开一个文件的时候,如果有些地方出现一些特殊符号或是乱码,可以通过以下命令尝试:vim-bmytest.php(其中-b一般是用来查看对应的二进制文件的)3 .管道命令,即竖杠-T上面的意思是:将查
11、询出来的内容交给管道后面的命令装饰之后再展示出来例如:catinstall.logmore(more的意思是将一屏放不下的内容以分页的形式显示)ls-letcmore如果想看上一页的内容,可以通过:Shift+PageUp来查看管道配合gr叩(过滤)可以达到很好用的组合例如:cat-nhello.txtgrephello(查看hello.txt文件内容,并过滤出来带有hello的内容),-n表示显示出来第几行的内容4 .find搜寻文件或目录findhome-namehe11o*(查找home目录下的文件名或目录为hello的)find/-nameh?m*(在跟目录下查找h开头第二个字符是任意
12、的,第三个是m,后面的是任意的字符)find-size+l(X)0000k(表示在根目录下查询文件大于100OOOOK的文件)5字符串替换命令swellgood替换当前行第一个well为goods/well/good/g替换当前行所有well为goodn,$s/well/good/替换第n行开始到最后一行中每一行的第一个well为goodn,$s/well/good/g替换第n行开始到最后一行中每一行所有well为goodn为数字,若n为.,表示从当前行开始到最后一行swellgood(等同于gwe11sgood)替换每一行的第一个WeH为goods/well/good/g(等同于gwells
13、goodg)替换每一行中所有well为good特殊符号转义:可以使用#作为分隔符,此时中间出现的/不会作为分隔符s#Wen/#good/#替换当前行第一个well/为good/s#/usr/bin#/bin#g可以把文件中所有路径usrbin换成/bin6 .重定向命令Is-IZetc/希望ls-letchomemyback.txt(覆盖重定向)把显示的结果覆盖至Jhomemyback.txt中去ls-letchomemyback.txt(追加重定向)把显示的结果追加到/homeZmyback.txt中去7 .删除多行删除多行步骤如下:1.首先要显示对应的行数这样方能知道从第几行到第几行删除s
14、etnu2.按ESC键退出,在命令行中输入:190,6233d(即1190,623引都删除掉)如果想要情况整个文件内容,在直接运行以下命令:清空文件内容:log.txt8 .行位定位直接定位到最后一行:按ESC键退出,在命令行中输入:G直接定位到第一行:按ESC键退出,在命令行中输入:IG直接定位到某一行:(第17行)按ESC键退出,在命令行中输入:17G9 .复制一行或多行1.复制一行yy复制当前行P粘贴2.复制多行7yy从当前行开始复制7行P粘贴10 .1.inux中查看python的版本python-V或者pythonversion11 .grep的用法 1.显示匹配的后n行(after)grep-An 2.显示匹配的前n行(before)grep-Bn 3.显示匹配的前后n行(context)grep-Cnawk,8月print6,6,NF只显示第六行与最后一行的内容且只保留8月的列表内容显示。Is中文件颜色的显示代表的意义为:1 .蓝色目录2 .绿色可执行文件3 .红色压缩文件4 .浅