文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>shell要点

shell要点

时间:2009-08-21  来源:didonglin

<IFRAME id=google_ads_frame1 style="LEFT: 0px; POSITION: absolute; TOP: 0px" name=google_ads_frame marginWidth=0 marginHeight=0 src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-4030588698981917&amp;output=html&amp;h=250&amp;slotname=4733849452&amp;w=300&amp;lmt=1250845492&amp;flash=10.0.32.18&amp;url=http%3A%2F%2Fblog.chinaunix.net%2Fu%2F20483%2Fshowart_625930.html&amp;ref=http%3A%2F%2Fblog.chinaunix.net%2Fu%2F20483%2Farticle_42429.html&amp;dt=1250845492265&amp;correlator=1250845492281&amp;frm=0&amp;ga_vid=1392330580.1250845492&amp;ga_sid=1250845492&amp;ga_hid=382009114&amp;ga_fc=0&amp;u_tz=480&amp;u_his=0&amp;u_java=1&amp;u_h=1050&amp;u_w=1680&amp;u_ah=1020&amp;u_aw=1680&amp;u_cd=32&amp;u_nplug=0&amp;u_nmime=0&amp;fu=0&amp;ifi=1&amp;dtd=31&amp;xpc=74beKYgJyw&amp;p=http%3A//blog.chinaunix.net" frameBorder=0 width=300 scrolling=no height=250 allowTransparency></IFRAME>
1. 学习提示
学习shell主要在于用,光看书没用 2. 单引号、双引号、括号、花括号及反引号 单引号内所有元字符都失去特殊含义(包括\)双引号内除了变量域($)和命令域(`)以外的元字符都失去特殊含义,所以一般使用双引号引用 花括号{}被用来区分变量名和周围的文本:echo ${file} and $file1 寻找变量file,file1 命令替代的格式:反引号来环绕一个命令象` cmd `,它和$(command) 是等价的:ls -l `find . -type f` 3. 取行 sed -n “3″p file 取第3行 sed -n “1,3″p file 取第1到3行 sed -n “1,$”p file 取第1到最后一行 sed -n “1,$num”p file 取第1到num行 sed -n “\$p” file 取最后1行 sed -e ‘1!G;h;$!d’ file倒过来显示 4. sed 附加/替换: sed “/xmdh/a\daoyou” file 把含有xmdh的行的结尾附加daoyou(有换行) sed ’s/$/ daoyou/’ file把每行的结尾附加daoyou(在同一行) sed ‘/test/s/$/ daoyou/’ file把包含test行的结尾附加daoyou(在同一行) sed ’10s/$/ daoyou/’ file把第10行的结尾附加daoyou(在同一行) sed “s/xmdh/daoyou/g” file把xmdh替换成daoyou sed “s/xmdh/daoyou/;G” file把xmdh替换成daoyou并增加一个换行 cat userlog |sed -n ‘/xmdh/ w test.txt’查看含有xmdh并写入test.txt中 5. 搜索: vi file 后:/\/ 6. 显示行号: awk ‘/dhshunde/{print NR,$0}’ userlog或grep -n dhshunde userlog 显示含有dhshunde的行号及内容 cat userlog |sed -n ‘/erptest/=’ 显示含有erptest的行号 cat userlog |sed -n ‘/xmdh/p’|sed -n ‘$p’ 显示包含xmdh的最后一行 7. awk中使用变量 /bin/cat /etc/ppp/chap-secrets|grep $5|awk ‘{print logouttime”\t”,”username:”$1″\t”,”logout”"\t”,”data:”datasize}’ logouttime=”`/bin/date`” datasize=”$size” >>$pptplogdirectory/userlog(注:size前面已经有定义) 8. Find的用法 注:f i n d命令将所有匹配到的文件一起传递给e x e c执行,而x a rg s命令每次只获取一部分文件而不是全部,所以exec有长度限制,文件不能太多,否则会产生溢出错误,而xargs则没有 find . -mtime -1 –print 跟现在小于1天修改的文件 find . -perm 755 –print 显示具有755属性的文件 find . -size +1000000c –print 查找大于1M的文件 find . -type f -exec ls -l {} \; 查找文件并列表显示(注:{}与\之间有空格,最后有;) find . -type f -exec rm {} \;查找文件并删除 find . -type f -print |xargs ls –l查看文件并列表显示 find / \( -perm -4000 -o -perm -2000 \) -type f –print 查找SUID和SGID文件 9. 向登录终端用户发送消息 echo “hello I am jiangdaoyou”|tee /dev/pts/2 (tty可以查看自已的终端号),等同于:write root pts/2然后输入:hello I am jiangdaoyou然后Ctrl+D结束 10. awk之BEGIN和END 即在文件头增加列名: cat userlog |awk ‘BEGIN{print “Time username\n—————–”};{print $4,$7}’ Time username —————————— 15:19:28 username:xmdh 15:20:00 username:xmdh 将在上面的基础上增加结尾说明“end of report!!!!” cat userlog |awk ‘BEGIN{print “Time username\n—————–”}{print $4,$7}END{print “end of report!!!!”}’ 11. 截取/转化字符 echo “200604211031″|cut -c9-12 得到1031 cat test.ok |tr ‘arp’ ‘rpm’ 把arp转为rpm 12. 求平均值 vmstat 1 4|awk ‘{print $4}’|grep -o ‘[0-9]*’|sed ’s/,//g’ |awk ‘{total=total+$1;if(NR%4= =0) {print total/4}}’或如下方法: vmstat 1 4|awk ‘NR>2{sum+=$4}END{print sum/4}’ 13. 循环 ls |for file in *;do echo “rpm -ivh” $file;done ls |for file in $(ls *.rpm);do echo “rpm -ivh” $file;done
排行榜 更多 +
边境检察最后区域手机版下载

边境检察最后区域手机版下载

角色扮演 下载
酋长你别跑手游下载

酋长你别跑手游下载

休闲益智 下载
心动漫画app下载官方版

心动漫画app下载官方版

浏览阅读 下载