加入收藏 | 设为首页 | 会员中心 | 我要投稿 天瑞地安资讯网 (https://www.52baoding.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

unix下常用命令及脚本编写

发布时间:2022-11-16 17:04:33 所属栏目:Unix 来源:转载
导读: 常用命令使用及脚本编写Unix下常用命令及SHELL脚本介绍作者:**如为何要写脚本Shell脚本的用途数据统计分析进程实时监控小程序的替身Shell脚本的特点简单、快速不需要编译灵活高效当要反复

常用命令使用及脚本编写Unix下常用命令及SHELL脚本介绍作者:**如为何要写脚本Shell脚本的用途数据统计分析进程实时监控小程序的替身Shell脚本的特点简单、快速不需要编译灵活高效当要反复使用一个或连续一组命令时,可以用shell脚本很方便的将它们全部执行添加和修改逻辑只需要简单的保存文件不担心性能常用命令介绍正则表达式介绍脚本编写介绍常用命令介绍正则表达式介绍脚本编写介绍查看5G大小日志文件中的9点到11点时间段的信息统计某个较大话单文件中各种类型话单条数每天下午17点重启某一进程含有大量文件的目录下找出文件创建时间在10到11点的文件lsfindawksedsplitxargscatcutpsmoresortuniqls命令列出目录中所有项,包括以.(点)开始的项。仅仅显示指定目录信息。目录和文件一样处理,这在当使用-l标志获取目录状态时非常有用。显示方式(包括安全信息)、链接数目、所有者、组、大小(按字节)、最近修改时间和每个文件名称。如果文件是特殊文件,大小字段包含主要和次要设备数目。列出文件的保留空间、固定范围大小和范围分配标志信息。使用该标志时,必须指定-l标志。按照最近一次修改时间(最近的最先)而不是名称排序。

-1强制输出为每行一项格式。当输出没有定向到终端时,此为缺省值。件最近一次修改时间。ls命令drwxr-xr-xrootother512Oct202000mytemp-rw-r--r--rootother23Dec2016:06a.txt文件类型文件权限链接文件大小文件创建日期时间文件我们可以使用命令“ls-l”来得到这张列表,其中选项“-l”表示以长格式列出文件信息。head和tail命令语法:head-num[filename]语法:tail-num[filename]示例:查看文件dr_gsm.dat前40行:head-40dr_gsm.dat示例:查看文件dr_gsm.dat后20行:tail-20dr_gsm.dat示例:查看日志文件rpling.log接下来的日志信息:tailrpling.logmkdir和rmdir命令语法:mkdirDirectory语法:rmdirDirectory示例:建立目录xgr/20130430/2:mkdirxgr/20130430/2示例:删除目录xgr下的123目录:rmdirxgr/123find命令-name查询与File名称匹配的文件。

-newerFile查找比文件File更新的文件。-typeType查找某一类型的文件,b:块特殊文件;c:字符特别文件;d:无格式文件l:符号链接p:FIFO(指定的管道)s:套接字。-okCommand和-exec表达式一样,除了find命令询问您是否应当启动指定的命令。一个肯定的响应会启动这个命令。指定命令的末尾必须加上括在引号中的分号或\;(反斜杠转义分号)。-atime查找访问时间在n天之内的文件。-sizenc查找大小为n字节的文件;语法:find查找创建时间在n天之内的文件。-mtime查找修改时间在n天之内的文件。find命令找出当前目录下文件名字“t.txt"的文件找出当前目录下180天以前的文件找出当前目录下大小小于1024字节的文件找出当前目录下所有目录名为2013年6月日期的目录找出当前目录比t.txt文件新的文件find-name"t.txt"-printfind-mtime+180-printfind-size-1024c-printfind-print|grep"201306[0-9]\{2\}$"find-newer"t.txt"-printfind命令在./logs目录中查找更改时间在5日以前的文件并删除它们find./logs/-type-mtime+5-execrm在$HOME/jfdata/bak/有30万个文件,需要移到/data2/bak/下备份find$HOME/jfdata/bak/-type/data2/bak/awk命令ProgramFile从ProgramFile变量指定的文件获取awk命令的指令。

Ere请使用Ere变量指定的扩展正则表达式作为字段分隔符。缺省字段分隔符是空格。Assignment将值指定给awk命令编程语言的变量。语法:awkawk命令FILENAME当前输入文件的路径名称。FNR当前文件中的当前输入记录的个数。NF当前记录中的字段个数。NR当前输入记录的个数。OFS输出字段分隔符。ORS输出记录分隔符。awk命令tolower(String)返回String参数指定的字符串大写字符将更改为小写。toupper(String)返回String参数指定的字符串小写字符将更改为大写。split(String,A,[Ere])将String参数指定的参数分割为数组元素A[1],A[n],并返回n变量的值。length[(String)]返回String参数指定的字符串的长度(字符形式)。如果未给出String参数,则返回整个记录的长度($0记录变量)。index(String1,String2)在由String1参数指定的字符串(其中有出现String2指定的参数)中,返回位置,从1开始编号。如果String2参数不在String1参数中出现,则返回0(零)。substr(String,返回具有N参数指定的字符数量子串。

gsub(Ere,Repl,除了正则表达式所有具体值被替代这点,它和sub函数完全一样地执行。awk命令sub(Ere,Repl,用Repl参数指定的字符串替换In参数指定的字符串中的由Ere参数指定的扩展正则表达式的第一个具体值。sub函数返回替换的数量。match(String,Ere)在String参数指定的字符串(Ere参数指定的扩展正则表达式出现在其中)中返回位置(字符形式),从1开始编号,或如果Ere参数不出现,则返回0(零)。printf语句打开的或调用getline函数打开的文件或管道。如果文件或管道成功关闭,则返回0;其它情况下返回非零值。如果打算写一个文件,并稍后在同一个程序中读取文件unix脚本,则close语句是必需的。system(Command)执行Command参数指定的命令,并返回退出状态。等同于system子例程。ExpressionVariable]从来自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"的分割符替换成"|" awk ?END {print NR}? dr_gsm.dat awk ?{if(NR==5)print NF}? dr_gsm.dat awk ?{if($5~/running/)print $0}? dr_gsm.dat awk ?NR>0{if(FNR==1) print $0}? a.txt b.txt c.txt echo ?{OFS="|"}{print $0}? awk命令 计算字符串"hello,world!"的长度 将字符串"hello,world!"全部转换成大写 输出数字94,输出长度为6,不足前面补0 找出字符串"hello,world!"中"world"所在位置 输出字符串"hello,world!"第7到第11位的字符串 echo "hello,world"|awk ?{print length($0)}? echo "hello,world!"|awk ?{print toupper($0)}? echo 94 |awk ?{printf "d\n",$0}? echo "hello,world\!"|awk ?{print index($0,"world")}? echo "hello,world\!"|awk ?{print substr($0,7,5)}? awk命令 计算54*334 目录下有数百个文件名为.xml的文件,修改文件名.xml_bak 目录下有".txt",".xml",".cfg",统计各种类型的文件数 echo "0"|awk ?{print 54*334}? ls *.xml|awk ?{printf "mv %s_bak\n",$0,$0}?|shls *.*|awk ?{len=length($0);sf=substr($0,len-3,3);d[sf]+=1;}END{for(i ls*.*|awk ?{len=split($0,A,".");d[A[len]]+=1;}END{for(i Script使用Script 变量作为编辑脚本。

ScriptFile使用ScriptFile 变量作为编辑脚本源文件。 禁止所有正常地写到标准输出的信息。语法:sed lable分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末 从模板块(Patternspace)位置删除行。 追加模板块的内容到内存中的缓冲区。sed子命令 s/re/string 用string替换正则表达式re。 file从file中读行。 退出Sed。P(大写)打印模板块的第一行。 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。sed子命令 file写并追加模板块到file末尾。 Wfile 写并追加模板块的第一行到file末尾。 y表示把一个字符翻译为另外的字符(但是不用于正则表达式)。 labelif分支,从最后一行开始,条件一旦满足或者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 dr_gsm.datsed ?/.\{13,\}/p?dr_gsm.dat echo "/A/B/C/D/E/F/t.txt"|sed sed?s/$/b12a01a02a03a04a05a06a07a08a09a10a11a12/;\ ?/ORA-092/q;N;1001,/ORA-092/D;ba?vpmnaccept.log.130122 sed命令 显示文件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 ?25,25p?dr_gsm.dat sed dr_gsm_new.datsed s/20130430/20130520/?dr_gsm.dat sed ?/xxxweert/rtt.txt? httpd.conf httpd_new.confecho "ip_address=135.10.21.133"|sed sed命令假设屏幕宽79个字符宽,对文件ss.xxt内容进行右对齐 文件ssr.txt含有四列,以";"分割,找出第1列和第三列相同的行 sed ?s/^.\{1,78\}$/&/;ta? ss.xxt sed ssr.txtcrontab命令 [username]编辑用户在用的crontab任务文件 [username]显示用户正运行的crontab任务表列表 [username]删除用户运行的crontab任务列表 crontab 307-23 /jfyydata1/gzngjf/scripts/monitor/monitor_tablespace.bashminute hour date month weekday command at命令 file使用指定文件而非用标准输入作为输入 指定在哪个队列中调度要提交作业,缺省情况下,at作业在a 队列中调度 time发送给用户有关成功执行命令的消息 at_job_id删除未执行的作业 queue]显示未执行的队列作业 at命令 脚本t.bash,在明天的当前时间执行该脚本 已知有一作业是在几天后执行,现在要撤销该作业 有一作业do_job.sh,想在2013年8月2日0点25分执行 显示当前未执行的作业 ./t.bashnow -l|awk?{print $1}?|xargs 常用命令介绍正则表达式介绍 脚本编写介绍 正则表达式的定义 正则表达式的作用 正则表达式的应用场景 正则表达式的定义 正则表达式是一个描述一组字符串的模板。

是使用多种操作符来组合更小的表达 式构建类似算术表达式。 建立块的基本原则是正则表达式匹配一个单字符,多数字符,包括所有的字幕和 数字,都是匹配它们自己的正则表达式。任何带有特殊含义的字符可以以反斜杠 (/)开头来进行引用。 正则表达式的定义 用于匹配任意一个字符,除了换行符。 匹配行尾。[char] 匹配中括号字符集中的某一个字符。 [^char] 匹配没有在char中的字符。 原子后跟+,匹配至少1个或多个该原子。?原子后跟?,匹配0个或1个该原子。 正则表达式的定义 m。最少匹配n次且最多匹配m 转义符,用来表示特殊符号,即让meta字符失去他们的特殊含义:^.[$()|*+?{\,便于搜索这些字符。 使用中放在原子的后面,表示该原子的后面部分是完成单词,如and\>匹配and、hand而不会匹配android,如果要表示一个完整的单词,\ 即使RE加了""引号,也应当包括\(下同),使用中在放原子的前面,表示该原子的前面是完整单词,如\

(编辑:天瑞地安资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章