Chinaunix首页 | 论坛 | 博客
  • 博客访问: 617201
  • 博文数量: 73
  • 博客积分: 1813
  • 博客等级: 上尉
  • 技术积分: 1213
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-27 19:59
文章分类
文章存档

2013年(1)

2012年(12)

2011年(28)

2010年(31)

2009年(1)

我的朋友

分类: LINUX

2011-05-30 14:54:51

一.在shell脚本的实际编写中,有一些特殊的变量十分有用:

  1. $# 传递到脚本的参数个数

  2. $* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个

  3. $$ 脚本运行的当前进程ID号

  4. $! 后台运行的最后一个进程的进程ID号

  5. $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数

  6. $- 显示shell使用的当前选项,与set命令功能相同

  7. $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

二.查看目录下文件
for i in `ls`;do echo $i && cat -n $i;done

三.查找出有匹配字符串的文件

1.使用find,可以过滤掉目录,只搜索文件
key=hd.gif && for i in `find ./ -mtime -15 -type f`;do cat $i | grep $key >> /dev/null && if [ $? -eq 0 ];then echo $i;fi;done

2.使用ls,ls时目录也会显示出来
char=show_error_info && for i in `ls`;do cat $i |grep $char >> /dev/null && if [ $? -eq 0 ];then echo $i;fi;done  

相当于以下shell脚本
#!/bin/bash

for i in `ls`
do
  cat $i | grep show_error_info >> /dev/null
  if [ $? -eq 0 ]
  then
echo $i
  fi
done

四.以http 方式共享当前文件夹下的文件
[root@localhost ~]# cd nginx-1.0.4
[root@localhost nginx-1.0.4]# pwd
/root/nginx-1.0.4
[root@localhost nginx-1.0.4]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  Makefile  man  objs  README  src
[root@localhost nginx-1.0.4]# python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...


**********在浏览器中 elinks
Directory listing for /

auto/
CHANGES
CHANGES.ru
conf/
configure
contrib/
html/
LICENSE
Makefile
man/
objs/
README
src/

五. lsof 命令
lsof filename  显示开启文件filename的进程
lsof -i :22 显示22号端口现在运行的程序
lsof -c abc 显示cbc进程当前打开的文件
lsof -p 12  看进程号为12的进程打开了哪些文件

六. 显示消耗内存/CPU最多的10个进程
ps aux | sort -nk +4 | tail
ps aux | sort -nk +3 | tail

阅读(1107) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~