shell 概览

shell能做什么:

1. 自动化批量系统初始化程序(update,软件安装,时区设置,安全策略。。。)

2. 自动化批量软件部署程序(LAMP,LNMP,Tomcat,LVS,Nginx)

3. 管理应用程序(KVM,集群管理扩容,MySQL,远程管理系统进行批量RAID)

4. 日志分析处理程序(PV,UV,200,!200,top100,grep/awk)

5. 自动化备份恢复程序(MySQL完全备份/增量+Crond)

6. 自动化管理程序(批量远程修改密码,软件升级,配置更新)

7. 自动化信息采集及监控程序(收集系统/应用状态信息,CPU,Mem,Disk,Net,TCP Status,Apache,MySQL)--zabbix

8. 自动化扩容(增加云主机——>业务上线)

程序语言执行:

C             ——编译——二进制机器码(cpu处理    X86复杂指令集,Power精简指令集,APM)

Java        ——编译——字节码(Java虚拟机JDK识别)

Shell       ——解释(处理逻辑关系)  ——(/usr/bin/bash)

perl        ——解释(处理逻辑关系)——(/usr/bin/perl)

expect    ——解释(处理逻辑关系)——(/usr/bin/expect)

Python   ——解释(处理逻辑关系)——(/usr/bin/python)

               ——编译——字节码(python的虚拟机识别)  

程序组成:逻辑 + 数据

shell执行:

1. bash  *.sh    ./bash.sh  在sub shell执行(子shell)

2. .  *.sh    source  *.sh  在当前shell执行

shell特性:

系统级    /etc/profile(登陆的shell)

               /etc/bashrc(登陆的shell)

用户级    ~/.bash_profile(登陆的shell)

               ~/.bashrc(登陆的shell)

               ~/.bash_logout(登出的shell)

               ~/.bash_history(登出的shell)

login shell        su - alice  (/etc/profile,/etc/bashrc,~/.bash_profile,~/.bashrc)

nologin shell    su alice   (/etc/bashrc,~/.bashrc)

猜你喜欢

转载自www.cnblogs.com/wwchihiro/p/11013843.html