[bingo]Linux Shell复习笔记

发表于:2007-06-09来源:作者:点击数: 标签:
[bingo] Linux Shell复习笔记 1. 文件权限设置中,文件本身权限受文件所在目录权限的影响。 2. find a. find . -name [A-B]*.log -exec ls -l {} \; 文件名使用模式[A-B],*等的时候,需要用引号引起来 -exec对find匹配的文件执行后面的shell命令。后面固定格

[bingo]Linux Shell复习笔记


1. 文件权限设置中,文件本身权限受文件所在目录权限的影响。
2. find
   a. find . -name "[A-B]*.log" -exec ls -l {} \;
      文件名使用模式[A-B],*等的时候,需要用引号引起来
      -exec对find匹配的文件执行后面的shell命令。后面固定格式{} \;
   b. find /tmp -mtime -3 -print
      -mtime -3 匹配3天以内的文件
   c. find ~ -newer tmpfile -print
      显示比tmpfile新的文件,可以用touch -t设置一个指定时间的临时文件
      ! -newer filename 比filename文件老的文件
   d. find . -size +1000000c -print
      显示大于1M的文件
   e. -exec "command line" {} \;
      对find匹配的文件执行后面的shell命令。后面固定格式{} \;
      -ok "command line" {} \;
      对每个要运行SHELL的文件,进行确认。-ok rm {} \;
      find . -name "*.c" -print |xargs grep "stdio.h"
      xargs用管道来处理find匹配的文件,在某些系统中对-exec的参数长度有限制时就用xargs
3. crontab
   -e 编辑
   -l 列表
   -r 删除
   0,30 18-23 * * * * echo "hello">/dev/tty1
   每天18点到23点,每半小时显示hello.
   分 小时 日 月 周 命令
4. tee
   输出到标准输出的同时,输出到文件中,-a追加
5. 0标准输入 1标准输出 2错误输出
   ./a.out 2>&1 | tee -a tmp
   2>&1 将错误输出输出到标准输出上
   ./a.out    > filename  创建文件
   command <&m  把文件描述符m作为标准输入
   command <&-  关闭标准输入
6. 顺序执行命令
   命令1 && 命令2  当命令1成功执行时就执行命令2
   命令1 || 命令2  当命令1执行失败时就执行命令2
   cp /home/bingocn/tmp /tmp || echo "copy error"
7. ` 反引号,将输出作为输入
   echo `date`  将显示出现在的系统时间
8. $# 参数个数
   第一个参数
   $$ 当前Shell的进程号
   $? 显示最后命令的退出状态,0成功
9. 条件测试
   a. 测试文件状态 [ condition ] 或者 test condition
      test -x tmpfile; echo $?  测试tmpfile是否是可执行文件
      -d 检测目录
      -f 普通文件
      -s 非空
   b. [ -r tmpfile1 -a -w tmpfile2 ] ; echo $?  测试文件一只读,并且文件二可写
      -a 与
      -o 或
      ! 非
   c. 字符串测试 [ str1 string_operator str2 ] 或者 test "str1" string_operator "str2"
      [ "$var" = "tmp" ] ; echo $? 测试变量var是否为tmp
      = 相等
      != 不相等
      -z 空串
10. expr 对整数、字符串进行操作
    expr 2+3  输出2+3
    expr 2 + 3  输出5
    loop=0;loop=`expr $loop + 1`;echo "$loop"

原文转自:http://www.ltesting.net