欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    unix下常用命令及脚本编写.ppt

    • 资源ID:80597490       资源大小:1.46MB        全文页数:63页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    unix下常用命令及脚本编写.ppt

    常用命令使用及脚本编写Unix下常用命令及SHELL脚本介绍作者:肖国如为何要写脚本Shell 脚本的用途脚本的用途数据统计分析进程实时监控小程序的替身Shell 脚本的特点脚本的特点简单、快速不需要编译灵活高效当要反复使用一个或连续一组命令时,可以用shell脚本很方便的将它们全部执行添加和修改逻辑只需要简单的保存文件不担心性能常用命令介绍正则表达式介绍脚本编写介绍常用命令介绍正则表达式介绍脚本编写介绍查看5G大小日志文件中的9点到11点时间段的信息5统计某个较大话单文件中各种类型话单条数每天下午17点重启某一进程含有大量文件的目录下找出文件创建时间在10到11点的文件5lsfindawksedsplitxargscatcutpsmoresortuniqls命令-m使用流输出格式(逗号分隔系列)。-a列出目录中所有项,包括以.(点)开始的项。-d仅仅显示指定目录信息。目录和文件一样处理,这在当使用-l标志获取目录状态时非常有用。-e显示方式(包括安全信息)、链接数目、所有者、组、大小(按字节)、最近修改时间和每个文件名称。如果文件是特殊文件,大小字段包含主要和次要设备数目。-E列出文件的保留空间、固定范围大小和范围分配标志信息。使用该标志时,必须指定-l标志。-t按照最近一次修改时间(最近的最先)而不是名称排序。-1强制输出为每行一项格式。当输出没有定向到终端时,此为缺省值。-l(L的小写)显示方式、链接数目、所有者、组、大小(按字节)和每个文件最近一次修改时间。ls命令drwxr-xr-x 2 root other 512 Oct 20 2000 mytemp-rw-r-r-1 root other 23 Dec 20 16:06 a.txt文件文件类型类型文件文件权限权限链接链接数数属主属主 组组文件文件大小大小文件文件创建创建日期日期时间时间文件文件名名我们可以使用命令我们可以使用命令“ls-l”来得到这张来得到这张列表,其中选项列表,其中选项“l”表示以长格式列出文件信息。表示以长格式列出文件信息。head和tail命令语法:head-numfilename语法:tail-numfilename示例:查看文件dr_gsm.dat前40行:head-40dr_gsm.dat示例:查看文件dr_gsm.dat后20行:tail-20dr_gsm.dat示例:查看日志文件rpling.log接下来的日志信息:tail-frpling.logmkdir和rmdir命令语法:mkdir-pDirectory语法:rmdir-pDirectory示例:建立目录xgr/20130430/2:mkdir-pxgr/20130430/2示例:删除目录xgr下的123目录:rmdirxgr/123find命令-name查询与File名称匹配的文件。-newerFile查找比文件File更新的文件。-typeType查找某一类型的文件,b:块特殊文件;c:字符特别文件;d:目录;f:无格式文件l:符号链接p:FIFO(指定的管道)s:套接字。-okCommand和-exec表达式一样,除了find命令询问您是否应当启动指定的命令。一个肯定的响应会启动这个命令。指定命令的末尾必须加上括在引号中的分号或;(反斜杠转义分号)。-atimen查找访问时间在n天之内的文件。-sizenc查找大小为n字节的文件;语法:find-H|-LPath.Expression-ctimen查找创建时间在n天之内的文件。-mtimen查找修改时间在n天之内的文件。find命令找出当前目录下文件名字“t.txt的文件找出当前目录下180天以前的文件找出当前目录下大小小于1024字节的文件找出当前目录下所有目录名为2013年6月日期的目录找出当前目录比t.txt文件新的文件find./-namet.txt-printfind./-typef-a-mtime+180-printfind./-typef-a-size-1024c-printfind./-typed-print|grep2013060-92$find./-typef-a-newert.txt-printfind命令在./logs目录中查找更改时间在5日以前的文件并删除它们find./logs/-typef-a-mtime+5-execrm;在$HOME/jfdata/bak/有30万个文件,需要移到/data2/bak/下备份find$HOME/jfdata/bak/-typef-print|xargs-n5-Imv/data2/bak/awk命令-fProgramFile从ProgramFile变量指定的文件获取awk命令的指令。-FEre请使用Ere变量指定的扩展正则表达式作为字段分隔符。缺省字段分隔符是空格。-vAssignment将值指定给awk命令编程语言的变量。语法:awk-FEre-vAssignment.-fProgramFile|ProgramFile.|Assignment.awk命令FILENAME当前输入文件的路径名称。FNR当前文件中的当前输入记录的个数。NF当前记录中的字段个数。NR当前输入记录的个数。OFS输出字段分隔符。ORS输出记录分隔符。awk命令tolower(String)返回String参数指定的字符串大写字符将更改为小写。toupper(String)返回String参数指定的字符串小写字符将更改为大写。split(String,A,Ere)将String参数指定的参数分割为数组元素A1,A2,.,An,并返回n变量的值。length(String)返回String参数指定的字符串的长度(字符形式)。如果未给出String参数,则返回整个记录的长度($0记录变量)。index(String1,String2)在由String1参数指定的字符串(其中有出现String2指定的参数)中,返回位置,从1开始编号。如果String2参数不在String1参数中出现,则返回0(零)。substr(String,M,N)返回具有N参数指定的字符数量子串。gsub(Ere,Repl,In)除了正则表达式所有具体值被替代这点,它和sub函数完全一样地执行。awk命令sub(Ere,Repl,In)用Repl参数指定的字符串替换In参数指定的字符串中的由Ere参数指定的扩展正则表达式的第一个具体值。sub函数返回替换的数量。match(String,Ere)在String参数指定的字符串(Ere参数指定的扩展正则表达式出现在其中)中返回位置(字符形式),从1开始编号,或如果Ere参数不出现,则返回0(零)。printf语句打开的或调用getline函数打开的文件或管道。如果文件或管道成功关闭,则返回0;其它情况下返回非零值。如果打算写一个文件,并稍后在同一个程序中读取文件,则close语句是必需的。system(Command)执行Command参数指定的命令,并返回退出状态。等同于system子例程。Expression|getlineVariable从来自Expression参数指定的命令的输出中通过管道传送的流中读取一个输入记录,并将该记录的值指定给Variable参数指定的变量。awk命令统计文件dr_gsm.dat行数查看文件dr_gsm.dat第5行的记录数,以;分割文件dr_gsm.dat字段以:分割,输出第5列含有字串running的行输出文件a.txt,b.txt,c.txt每个文件的第一行将字符串a;b;c;d;e;f的分割符替换成|awkENDprintNRdr_gsm.datawk-F;if(NR=5)printNFdr_gsm.datawk-F:if($5/running/)print$0dr_gsm.datawkNR0if(FNR=1)print$0a.txtb.txtc.txtechoa;b;c;d;e;f|awk-F;OFS=|print$0awk命令计算字符串hello,world!的长度将字符串hello,world!全部转换成大写输出数字94,输出长度为6,不足前面补0找出字符串hello,world!中world所在位置输出字符串hello,world!第7到第11位的字符串echohello,world|awkprintlength($0)echohello,world!|awkprinttoupper($0)echo94|awkprintf%06dn,$0echohello,world!|awkprintindex($0,world)echohello,world!|awkprintsubstr($0,7,5)awk命令计算54*334目录下有数百个文件名为.xml的文件,修改文件名.xml_bak目录下有.txt,.xml,.cfg,统计各种类型的文件数echo0|awkprint54*334ls*.xml|awkprintfmv%s%s_bakn,$0,$0|shls*.*|awklen=length($0);sf=substr($0,len-3,3);dsf+=1;ENDfor(iind)printi,dils*.*|awklen=split($0,A,.);dAlen+=1;ENDfor(iind)printi,dised命令-eScript使用Script变量作为编辑脚本。-fScriptFile使用ScriptFile变量作为编辑脚本源文件。-n禁止所有正常地写到标准输出的信息。语法:sed-nScriptFile.语法:sed-n-eScript.-fScriptFile.File.sed子命令a在当前行后面加入一行文本。blable分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。c用新的文本改变本行的文本。i在当前行上面插入文本。d从模板块(Patternspace)位置删除行。D删除模板块的第一行。h拷贝模板块的内容到内存中的缓冲区。H追加模板块的内容到内存中的缓冲区。sed子命令s/re/string用string替换正则表达式re。!表示后面的命令对所有没有被选定的行发生作用。rfile从file中读行。p打印模板块的行。q退出Sed。P(大写)打印模板块的第一行。N追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。n读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。sed子命令g获得内存缓冲区的内容,并替代当前模板块中的文本。G获得内存缓冲区的内容,并追加到当前模板块文本的后面。l列表不能打印字符的清单。=打印当前行号码。wfile写并追加模板块到file末尾。Wfile写并追加模板块的第一行到file末尾。y表示把一个字符翻译为另外的字符(但是不用于正则表达式)。tlabelif分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。sed命令显示文件dr_gsm.dat的行数打印文件dr_gsm.dat中的长度大于等于13的行从路径/A/B/C/D/E/F/t.txt解释出文件名取得当前月的前一个月的月份日志文件vpmnaccept.log.130122有500万行,查看字串ORA-092前1000行的信息sed-n$=dr_gsm.datsed-n/.13,/pdr_gsm.datecho/A/B/C/D/E/F/t.txt|seds:(.*)/(.*):2:gdate+%m|seds/$/b12a01a02a03a04a05a06a07a08a09a10a11a12/;s/(.)b.*(.)a1.*/2/sed-e:a-e/ORA-092/q;N;1001,/ORA-092/D;bavpmnaccept.log.130122sed命令显示文件dr_gsm.dat的第25行删除文件dr_gsm.dat中的空行文件dr_gsm.dat第7行到最后一行将字串20130403替换成20130520将tt.txt文件内容读到文件httpd.conf中含有xxxweert的行的后面从字符串ip_address=135.10.21.133解释出IP地址sed-n25,25pdr_gsm.datsed/$/ddr_gsm.datdr_gsm_new.datsed7,$s/20130430/20130520/dr_gsm.datsed-e/xxxweert/rtt.txthttpd.confhttpd_new.confechoip_address=135.10.21.133|seds/(.*)=(.*)/2/gsed命令假设屏幕宽79个字符宽,对文件ss.xxt内容进行右对齐文件ssr.txt含有四列,以;分割,找出第1列和第三列相同的行sed-e:a-es/.1,78$/&/;tass.xxtsed-n/(.*);(.*);1(.*)/pssr.txtcrontab命令-eusername编辑用户在用的crontab任务文件-lusername显示用户正运行的crontab任务表列表-rusername删除用户运行的crontab任务列表crontab-eUserName|-lUserName|-rUserName|File307-23*/jfyydata1/gzngjf/scripts/monitor/monitor_tablespace.bashminutehourdatemonthweekdaycommandat命令-c表示在CSH命令执行作业-k表示在KSH命令执行作业-s表示在bash命令执行作业at-c|-k|-s-m-ffile-qqueue-ttime-rat_job_id-l-m发送给用户有关成功执行命令的消息-ffile使用指定文件而非用标准输入作为输入-q指定在哪个队列中调度要提交作业,缺省情况下,at作业在a队列中调度-ttime发送给用户有关成功执行命令的消息-rat_job_id删除未执行的作业-l-qqueue显示未执行的队列作业at命令脚本t.bash,在明天的当前时间执行该脚本已知有一作业是在几天后执行,现在要撤销该作业有一作业do_job.sh,想在2013年8月2日0点25分执行显示当前未执行的作业at-s-f./t.bashnow+1dayat-l|awkprint$1|xargsat-rat-f./do_job.sh-t201308020025at-l常用命令介绍正则表达式介绍脚本编写介绍正则表达式的定义正则表达式的作用正则表达式的应用场景正则表达式的定义正则表达式正则表达式 是一个描述一组字符串的模板。是使用多种操作符来组合更小的表达是一个描述一组字符串的模板。是使用多种操作符来组合更小的表达式构建类似算术表达式。式构建类似算术表达式。建立块的基本原则是正则表达式匹配一个单字符建立块的基本原则是正则表达式匹配一个单字符,多数字符,包括所有的字幕和多数字符,包括所有的字幕和数字,都是匹配它们自己的正则表达式。任何带有特殊含义的字符可以以反斜杠数字,都是匹配它们自己的正则表达式。任何带有特殊含义的字符可以以反斜杠(/)开头来进行引用。)开头来进行引用。正则表达式的定义.用于匹配任意一个字符,除了换行符。*用来匹配它前面字符的任意多次。匹配行首。$匹配行尾。char匹配中括号字符集中的某一个字符。char匹配没有在char中的字符。+原子后跟+,匹配至少1个或多个该原子。?原子后跟?,匹配0个或1个该原子。正则表达式的定义n,mm和n均为非负整数,其中n使用中放在原子的后面,表示该原子的后面部分是完成单词,如and匹配and、hand而不会匹配android,如果要表示一个完整的单词,即使RE加了引号,也应当包括(下同),使用中在放原子的前面,表示该原子的前面是完整单词,如and匹配and、android而不会匹配hand。正则表达式的作用正则表达式的应用场景显示当前目录下所有的文件检索文件dr_gsm.dat中50001开头行检索文件dr_gsm.dat中ext结尾的行将文件dr_gsm.dat中含有201208月份的日期替换成20120831查找当前目录名2012年9月日期的目录ls./*grep50001dr_gsm.datgrepext$dr_gsm.datsed-es/;2012080-92;/;20120831;/gdr_gsm.datfind./-typed-print|grep2012120-92$正则表达式的应用场景从文件dr_gsm.dat中查找cable或者table的行检测331234aaddddddDDDD是否全为数字grep(c|t)abledr_gsm.datecho331234aaddddddDDDD|awkif($0/0-9/)printno;elseprintyes常用命令介绍正则表达式介绍脚本编写介绍语法结构案例分析语法无需声明赋值时=前后不能有空格第一行要指明sh所在的路径示例:#!/usr/bin/bash注释:#说明脚本用途语法算术运算符位操作运算符关系运算符+-*/%表示加减乘除和取余运算+=-=*=/=同C语言中的含义=表示位左右移位操作&=|=表示按位与、位或操作!表示非操作=表示异或操作=!=表示大于、小于、大于等于、小于等于、等于、不等于操作&|逻辑与、逻辑或操作语法对应操作整数操作字符串操作相同-eq=不等-ne!=大于-gt小于-ltCUserPromserv_id用户促销表2-CUserCycleserv_id用户状态表3|13-CUser3:serv_id,13:user_number用户资料表4-CUserCellserv_id用户小区优惠资料表5-CUserRelaserv_id用户关系表,如亲情号码6|16-CUserGroupserv_id|group_idBOSSV网表7-CGroupRelagroup_id集团关系表8-CGroupPromgroup_id集团默认订购促销表9-CUserPlangroup_id用户计划表10-CCustomercust_id客户资料表11-CPromParaserv_id促销参数表12-CUserMonitorserv_id受控用户表14|15-CSpecPromserv_id|group_id个性化订购表17-CUserMscserv_id用户程控功能表18-CUserBillCycleserv_id用户帐期信息表19-CAcctBillCycleacct_id帐户帐期信息表20-CUserSwitchserv_id梦网业务开关信息表案例分析计费重批脚本计费重批脚本生产中使用脚本应该注意!注意环境变量注意环境变量输出日志输出日志尽量不要用尽量不要用rm-rf充分测试充分测试实时性要求高的生产环节实时性要求高的生产环节尽量不要用脚本代替尽量不要用脚本代替

    注意事项

    本文(unix下常用命令及脚本编写.ppt)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开