shell基础篇(1️⃣)

12 篇文章 0 订阅
5 篇文章 0 订阅

一.Shell概览
1.自动化批量系统初始化程序(update、软件安装、时区设置、安全策略。。。)
2.自动化批量软件部署程序(LAMP/LNMP、Tomcat、LVS、Nginx)
3.管理应用程序(KVM-manger、集群管理扩容、Mysql、DELLR720批量RAID)
4.日志分析处理程序(PV、UV、200、!200、top 100、grep/awk)
5.自动化备份恢复程序(MySQL完全备份/增量+Crond)
6.自动化管理程序(批量远程修改密码、软件升级、配置更新)
7.自动化信息采集及监控(收集系统/应用状态信息、CPU、Mem(内存),Disk(磁盘)、Net(网络)、TCP、 Apache、MySQL)
Eg (TCP Status) ss -an | grep :80
8.配合zabbix信息采集(收集系统/应用状态信息、CPU、Mem(内存),Disk(磁盘)、Net(网络)、TCP、 Apache、MySQL)
9.自动化扩容(增加云主机部署应用业务上线)
Zabbix监控CPU 80%+ 执行python 调用API +AWS/EC2(增加/删除云主机) + Shell Script
10.俄罗斯方块、打印三角形、打印圣诞树、打印五角星、运行小火车、坦克大战、排序算法实现
11.shell可以做任何事
例子:

Vim ping.sh
#!/bin/bash
Ping -cl www.baidu.com  &>/dev/null &&  echo www.baidu.com is up || echo www.baidu.com is down

如果ping通则执行 www.baidu.com is up如果ping不通则执行”www.baidu.com is down”
每一个命令执行完后都会返回一个值
Echo $? 0 1-255
例子:

Vim test/py
#!/bin/python
Print “hello world!”

程序语言执行:
C — 编译—二进制机器码(CPU可以识别,x86复杂指令集、power精简指令集、APM(嵌入式)交叉编译)

Java —编译—字节码(java虚拟机 JDK) Tomcat/Hadoop

Shell —解释 (/bin/bash)
Perl —解释 (/bin/perl)
Expect —解释 (/bin/expect)
Python —解释 (/bin/python)
—编译—字节码(python虚拟机)

C 最快一般都是做底层开发,Java,python都是做应用开发
程序是有哪些组成:逻辑+ 数据
Cat test.py >> ping.sh
然后修正

#!/bin/bash
Ping -cl www.baidu.com  &>/dev/null &&  echo “www.baidu.com is up” || echo “www.baidu.com is down”
/bin/python <<-EOF
Print “hello world!”
EOF
Echo “hello bash”

二.Bash shell
1.shell特性
2.shell变量
3.shell条件测试
4.shell数值运算
5.流控、循环

If
Case
For
While
Until
Break
Continue
Exit
Array
Function

6.企业项目
三、shell?命令解释器
Shell命令 cp ls date
Linux 支持shell
Cat /etc/shells
Chsh-l

在这里插入图片描述
四、GUN/bash shell 特点
1.命令和文件自动补齐
2.历史记忆功能 上下键、!number、!$、!!、^R
3.别名功能 alias、unalias cp、 ~username/.bashrc、\cp -rf /etc/hosts .
4.快捷键 R、D、A、E、L、K、S、Q
5.前后台作业控制 &、nohup、C、Z、bg、kill %3、screen
6.输入输出重定向 0,1,2 >>>2>2>>2>&1&> cat < /etc/hosts >/etc/host1 cat <file1 << EOF
7.管道 | tee

Ip addr | grep ‘inet’| grep eth0
Ip addr | grep ‘inet’| tee test | grep eth0 覆盖
Ip addr | grep ‘inet’| tee -a test | grep teh0 -a 追加
df | grep ‘/$’
df | grep df.tst | grep ‘/$’

8.命令排序
; 不具备逻辑判断
&& || 具备逻辑判断

./configure && make && make install (命令返回值echo $?)
mkdir-p /var/111/222/333 && echo ok
ls /home/222/333/444 || mkdir -p /home/222/333/444
ping -c1 www.baidu.com &>/dev/null && echo up || echo down

在这里插入图片描述
True (永远返回为真)false(返回为假)
9.通配符(元字符)表示的不是本意

  • 匹配任意多个字符 ls in* rm -rf .pdf find / -name “-eth0”
    ? 匹配任意一个字符 touch love love live l7voe; || l?ve
    [] 匹配括号中的任意一个字符 【ABC】[a-z] [0-9] [^a-zA-Z0-9] ls l[io]ve ls [^a-z]ve
    ls /dev/sd[a-z] 上面的^表示非的意思
    () 在子shell中执行(cd/boot;ls) (umask 077;touch file1000)
    {}集合touch file{1…9}
    mkdir /home/{111,222} mkdir -pv /home/{333/{aaa,bbb},444}
    转义符,让元字符回归本意
echo *
echo \*
touch tang\sen
mkdir \\
echo -e “atb”
echo -e “a\tb”    \t  相当于tab
echo -e “anb”
echo -e “a\nb”		\n 相当于换行

10.变量
11.shell script 脚本
小知识:
echo 输出带颜色文本 p23

echo -e "\e[1;33m This is test.\e[0m"			30-37为前景色
echo -e "\e[1;43m This is test.\e[0m"   		40-47位背景色
printf 格式化输出文本

shell基础篇(2️⃣)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值