shell 001 __ 小斌文档 | 初始shell

001 初识shell

第一节 shell

一、shell的含义

首先shell的英文含义是“壳”;它是相对于内核来说的,因为它是建立在内核的基础上,面向于用户 的一种表现形式,比如我们看到一个核桃,见到的是它的壳,而非核。Linux中的Shell,是指一个面向用户的命令接口,表现形式就是一个可以由用户录入的界面,这个界面也可以反馈运行信息。

二、shell能做什么?

  • 自动批量系统初始化程序 (update,软件安装,时区设置,安全策略…)
  • 自动化批量软件部署程序 (LAMP,LNMP,Tomcat,LVS,Nginx)
  • 应用管理程序 (KVM,集群管理扩容,MySQL,DELLR720批量RAID)
  • 日志分析处理程序(PV, UV, 200, !200, top 100, grep/awk)
  • 自动化备份恢复程序(MySQL完全备份/增量 + Crond)
  • 自动化管理程序(批量远程修改密码,软件升级,配置更新)
  • 自动化信息采集及监控程序(收集系统/应用状态信息,CPU,Mem,Disk,Net,TCP -Status,Apache,MySQL)
  • 配合Zabbix信息采集(收集系统/应用状态信息,CPU,Mem,Disk,Net,TCP Status,Apache,MySQL)
  • 自动化扩容(增加云主机——>业务上线)
    zabbix监控CPU 80%+|-50% Python API AWS/EC2(增加/删除云主机) + Shell S-cript(业务上线)
  • 俄罗斯方块,打印三角形,打印圣诞树,打印五角星,运行小火车,坦克大战,排序算法实现
  • Shell可以做任何事(一切取决于业务需求)

第二节 bash

一、bash的特性

1.命令和文件自动补齐

Linux命令自动补全需要安装bash-completion

[root@lwb~]#yum -y install bash-completion*

退出终端等待一会即可使用

2.快捷键
Ctrl+u删除或剪切光标之前的命令
Ctrl+k删除或剪切光标之后的命令
3.前后台作业控制

几个常见的作业命令

  • command & 直接让作业进入后台运行
  • jobs 查看后台作业状态
  • fg %n 让后台运行的作业n切换到前台来
  • kill %n 移除指定作业n
4.作业脱机管理
  • 主要针对终端异常断开的情形
  • 使用nohup命令来执行job,终端在脱机或注销之后,job依旧可以继续运行。
  • 使用nohup后,原job的输出会自动被nohup重定向到缺省的nohup.out日志文件。
  • 日志文件可以指定,如下:
[root@lwb ~]#nohup ./a.sh  >a.log  2>&1  &  

第三节 Shell变量

一、变量类型

1、自定义变量
  • 定义变量:如 a=1
  • 引用变量:如 $a
  • 取消变量:如 unset a
  • 作用范围:仅在当前shell中有效
2、环境变量
  • 定义环境变量:export a #将a从自定义变量转换为环境变量
  • 引用,取消环境变量同上
  • 作用范围:在全局中有效
3、位置变量
  • 在启动程序的同时给它赋予变量。
4、预定义变量
  • $0 脚本名(自己本身)
  • $* 代表命令行中所有的参数(把所有的参数当做一个整体)
  • $@ 代表命令行中的所有参数(把每个参数区分对待)
  • $# 代表命令行中所有参数的个数
  • $? 代表上个命令的返回码
  • $$ 当前进程的pid
  • $! 上一个进程的pid

二、输入、输出语句

1.输入语句
read -p "请输入"  a   #a为变量值
# read参数
# -p  提示语句
# -n  字符个数
# -t  计时器
# -s  不回显

2.输出语句
echo "输入的值为$a"   
# -n  不换行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值