May 8, 2013

Linux Shell Basic Test


1. 目录下有a.txt,b.txt,c.txt 把他们改名为a.txt.bak,b.txt.bak,c.txt.bak
   rename 's/$/.bak/' [a-c].txt

2. 在tmp目录下创建a0.txt,a1.txt,….a100.txt
   for x in $(seq 0 100); do touch a${x}.txt;done

3. 递归删除/var/www目录下的所有“.svn”目录
   find /var/www -type d -name '*.svc' -exec rm -rf {} \;

4. 查找并杀掉所有的nginx进程,进程名特征:“/usr/local/sbin/nginx”
   ps aux | grep '/usr/local/sbin/nginx' | awk '{print $2}' | xargs kill

5. /var/log/wtmp文件过大了,需要清空这个文件,如何做?
   # > /var/log/wtmp
   $ sudo bash -c '> /var/log/wtmp'

6. shell中有哪些特殊字符,以及他们的含义和应用场合
   file glob: ?, *, [x-y]
   variable: $
   quote: ', ", (), [], {}

7. 文件权限位的含义,如权限为601是什么意思?
   rxw - 412
   601 - rw-------x

8. bash下,命令行操作有哪些快捷键可以用?在哪里可以查到这些快捷键的说明?
   bash -o vi
   bash +o vi
   vi, emacas

9. 如何定义函数,函数如何接受参数,返回值?
   bash function define:
   [function] func_name()
   {
       function body
   }

   args:
   func_name args

   $1, $2 ... ${n}

   $*
   $@

   a)
   global variable

   b)
   echo xxx

   ret_val=$(func_name args)

   c)
   func_name variable_name

   func_name()
   {
        local __var=$1
        ret_val='test only'
        eval $__var=$ret_val
   }
 

No comments:

Post a Comment

您的评论将使我blog更有动力~