(1)shell作用:

	1)自动化批量系统初始化程序(软件安装,时区设置,安全策略)
2)自动化批量软件部署程序(LNMP,LAMP,LNTM)
3)管理应用程序(kvm,集群管理扩容)
4)日志分析处理程序(PV,UV)
5)自动化备份恢复程序(mysql完全备份,增量)
6)自动化管理程序(批量远程修改密码,软件升级,配置更新)
7)自动化信息采集及监控程序(收集系统/应用状态信息,CPU,mem,disk,tcp status,net,nginx,mysql)
8)配合zabbix信息采集
9)自动化扩容(增加云主机--->业务上线)
zabbix监控cpu 80% + python API AWS/ECS(增加/删除云主机)+shell Script(业务上线)

(2)shell执行

  • shell执行方式
	ping -c1 www.baidu.com &>/dev/null && echo "www.baidu.com is up" || echo "www.baidu.com is down"
方式一:bash ping01.sh
方式二:sh ping01.sh
方式二:./ping01.sh
方式二:source ping01.sh
sh是bash的软连接 通过whish sh ll /usr/sbin/sh查看
  • 开头语言标识
	#! /usr/bin/bash      声明使用bash解释器执行该文件
执行方式使用bash test.sh 这种方式开头添加#! /usr/bin/bash 可以忽略
执行方式./test.sh 需要在文件的开头声明解释器
  • 当前shell和子shell区别和执行方式
	子shell中执行的两种方式:bash和sh,不会影响当前shell
当前shell中执行的两种方式:. /root/.bashrc和 source /root/.bashrc 执行会影响当前shell
例:在/root/.bashrc 定义一个别名:alias wang='data' 如果使用bash /root/.bashrc 不会生效因为它是在子shell中执行不会影响当前shell;

(3)shell特性

  • 1)命令和文件自动补齐:tab键
  • 2)命令历史记忆功能:上下键丶!number丶!string丶!$丶!!丶 ctrl+R
  • 3)别名功能: alias , unalias cp , ~username/.bashrc \cp
  • 4)快捷键
		crtl+c :终止当前用户的命令
crtl+d :退出当前会话,相当于logout
crtl+l :清屏,相当于clear命令
crtl+a :移动到命令行首
crtl+e :移动到命令行尾
crtl+u :清除当前光标之前的命令
crtl+k :清除当前光标之后的命令
crtl+s :挂起,当前会话挂起,不能动
crtl+q :解除挂起
  • 5)前后台作业控制:
		& :
nohup :
ctrl + c ctrl + z
bg fg screen
  • 6)输入输出重定向
		>或1> :输出重定向,把前面输出的东西输入到后边的文件中,会清除文件原有内容
>>或1>> :追加输出重定向,把前面输出的内容追加到后边的文件尾部,不会清除文件原有内容
0<或<:输入重定向,输入重定向用于改变命令的输入,后面指定输入内容,可以理解为把文件的内容输入到命令中进行处理
0<<或<<:追加输入重定向,后跟字符串,用来表示"输入结束",也可用ctrl+d来结束输入
cat >>hello.txt<<EOF
> hello
> EOF
2> :错误输出重定向,把错误信息输入到后边的文件中,会删除文件原有内容
2>> :错误输出追加重定向,把错误信息追加到后边的文件中,不会删除文件原有内容 特殊重定向的三种高级用法
例:正确输出和错误输出都放入到同一个文件中:
方法一:#echo 'hello,world!' >a.txt 2>a.txt ,可以使用追加输出重定向
方法二:#echo 'hello,world!' >a.txt 2>&1 常用方法,不可以使用追加输出重定向
方法三:#echo 'hello,world!' &>a.txt
  • 7)管道:| 把命令的结果作为后面命令的参数
  • 8)命令排序:
	;  不具备逻辑判断    &&|| 具备逻辑判断
; :分号,执行多个命令,不具备逻辑判断,前一个命令执行失败后一个命令还会执行 date;date
&& :具备逻辑判断,前一个命令执行成功返回值$? == 0 才会执行后面一个命令 ./configure && make && make install
|| :前一个命令执行失败(命令的返回值$?为非0),才会执行后面一个命令 ls /home/222/333/aaa/bbb || mkdir -pv /home/222/333/aaa/bbb 注意:
command & 后台执行
command &>/dev/null 混合重定向
command 1 && command 2 命令排序
  • 9)shell通配符(元字符)
		*	:匹配任意多个字符   ls *.log    rm -rf *  find / -name "*.log"
? : 匹配任意一个字符
[] :匹配括号中任意一个字符 [abc] [a-z] [0-9] [A-Z] [a-z0-9A-Z] [^a-z0-9A-Z] ll /dev/sd[a-z]
[^a-z0-9A-Z] :取反
() :在子shell中执行, (umask 077;touch test100.txt) 这种不会修改当前shell的umask值
{} :集合 touch file{1..9}
cp -rv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.old
cp -rv /etc/sysconfig/network-scripts/{ifcfg-ens33,ifcfg-ens33.old}
cp -rv /etc/sysconfig/network-scripts/ifcfg-ens33{,.old}
\ :转移符,让元字符回归本意
echo *
echo \*
可以让普通字符变成特殊字符
echo -e "a\tb" \t表示tab键
echo -e "a\nb" \n表示换行符
  • 10)echo颜色输出文本
		前景色:
echo -e "\e[1;31mThis is a red text."
echo -e "\e[1;32mThis is a green text." 这样会把当前终端的颜色也会改变
echo -e "\e[1;32mThis is a green text.\e[0m" 只改变需要输出文本的颜色 \e[0m表示重置

(一)shell基础的更多相关文章

  1. Shell基础学习小结

    0 shell基础概念 Shell是解释性语言,使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象:缺点是它们的效率通常不如编译型语言.Shell命令有本 ...

  2. Shell基础-环境变量配置文件

    Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...

  3. shell基础二十篇 一些笔记

    shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...

  4. shell基础(转)

    shell基础1:文件安全与权限 http://bbs.chinaunix.net/forum/viewtopic.php?t=434579&highlight=wingger 附:Linux ...

  5. Linux实战教学笔记17:精简shell基础

    第十七节 精简shell基础 标签(空格分隔): Linux实战教学笔记 1,前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, ...

  6. shell基础及变量

    一 Shell概述 1.Shell的作用——命令解释器,“翻译官” shell作为一个人机接口,用于解释用户输入的命令,将命令解释为Linux内核可以执行的2进制代码,并将执行的结果返回在标准终端上. ...

  7. Shell 基础教程

    一个比较好的shell基础教程: http://www.runoob.com/linux/linux-shell.html

  8. Linux基础学习(10)--Shell基础

    第十章——Shell基础 一.Shell概述 1.Shell是什么: (1)Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来 ...

  9. Linux Shell基础(下)

    Linux Shell基础(下) 目录 一.shell特殊符号cut命令 二.cut.sort.wc.uniq命令 三.tee.tr.split命令 四.简易审计系统 五.fork, exec, so ...

  10. Linux shell基础知识(上)

    Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...

随机推荐

  1. 大步小步算法模板题, poj2417

    大步小步模板 (hash稍微有一点麻烦, poj不支持C++11略坑) #include <iostream> #include <vector> #include <c ...

  2. [UVA1625]Color Length

    题面在这里 description 输入两个长度分别为\(n\)和\(m\)的颜色序列,要求按顺序合并成同一个序列,即每次可以把一个序列开头的颜色放到新序列的尾部. 对于每个颜色\(c\)来说,其跨度 ...

  3. 如何使用Photoshop批量扫描保存文档

    以笔主手头上的Canon LIDE 100为例 先安装好扫描仪驱动程序,可使用自带驱动光盘或驱动精灵等程序完成. 打开Photoshop程序,以CS5为例,找到扫描仪入口: 点开高级模式进行配置,笔主 ...

  4. ar用法小记

    ar是用来创建.修改或者从档案文件中提取的GNU程序,它被认为是一个二进制的工具,因为它最大的应用就是将一些子程序归档为库文件. 用法概述 ar [-]p[mod [relpos] [count]] ...

  5. HNOI2002 彩票 [搜索]

    题目描述 某地发行一套彩票.彩票上写有1到M这M个自然数.彩民可以在这M个数中任意选取N个不同的数打圈.每个彩民只能买一张彩票,不同的彩民的彩票上的选择不同. 每次抽奖将抽出两个自然数X和Y.如果某人 ...

  6. SICAU-OJ: 第k小

    第k小 题意: 给出一个长度不超过5000的字符串,然后让你找出第K小的字串(1<=K<=5).重复的串大小相等. 题解: 这里我们知道某些串的前缀是肯定小于等于其本身的. 那么长度为5的 ...

  7. Step-By-Step: Setting up Active Directory in Windows Server 2016

    There are interesting new features now made available in Windows Server 2016 such as time based grou ...

  8. -webkit-overflow-scrolling:touch;

    -webkit-overflow-scrolling建了带有硬件加速的系统级控件,所以效率很高.但是这相对是耗更多内存的,最好在产生了非常大面积的overflow时才应用. 而且在 ios8  里有b ...

  9. jsonp解析 html

    https://jsoup.org/cookbook/  官网的教程, 很详细! <dependency> <groupId>org.jsoup</groupId> ...

  10. svn“Previous operation has not finished; run 'cleanup' if it was interrupted“ 或者不能cleanup,或者提示空目录 报错的解决方法

    参考了文档: http://blog.csdn.net/superch0054/article/details/38668017 今天碰到了个郁闷的问题,svn执行clean up命令时报错“Prev ...