Shell 基础知识
- 命令解释器,处于内核与用户之间,shell把用户指令传递给内核,然后把内核执行结果回显给用户
- 也是一种编程语言,由C语言编写
- 命令行解释器,内核外的一层壳
- 常见类型有sh, csh, bash, zch等提供的脚本支持
- 侧重文本处理,运算/基本数据结构原生较弱 Array, set, map...
- 简洁的脚本语言标记方式,执行快,效率高,但实现自动化还需要依赖其他程序才能完成大部分工作
- Linux默认的shell是Bash(BourneAgain shell的缩写)
- Bash 很多特性 Doskey, 自动匹配查找, 自身的help帮助等
Shell 小程序
1、启动MongoDB的shell脚本:
#!/bin/bash
cd /home/liwei/mongodb/bin
./mongod --dbpath=../liwei_db
把以上代码保存为m.sh,然后在终端执行sh m.sh 即可。服务器将依次执行指令达到启动MongoDb的目的。
2、把lamp目录中所有压缩包批量解压,然后ls查看结果或参与下一个指令的执行
比如这么一个shell:
#!/bin/bash
cd /lamp
ls *.tar.gz > ls.list
for TAR incat ls.list
do
tar -zxf $TAR
done
3、把某个目录下所有文件名大写的转成小写
#!/bin/bash
for file inls | grep '[A-Z]'
do
str=echo $file|tr 'A-Z' 'a-z'
mv $file $str
done
4、清除所有的空文件
#!/bin/bash
for filename inls
do
if test -d $filename
then b=0
else
a=$(ls -l $filename | awk '{ print $5 }')
if test $a -eq 0
then rm $filename
fi
fi
done