Linux系统的Shell

什么是Shell?其实只要能够操作应用程序的接口都能够称为shell,也就是说,我们必须通过“shell”将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误地工作。

我们可以通过查看/etc/shells来查看系统中有哪些可用的shell,或者通过chsh -l命令来进行查看,如图所示:

 

shell之间的相互切换,shell之间的切换分为永久切换和临时切换两种。shell之间的临时切换直接执行shell版本命令即可,如/bin/sh,永久切换需要用到chsh命令。系统默认的shell是/bin/bash。既然/bin/shell是系统默认的shell,那么这个shell有什么好处呢?bash主要的有点有一下几个:

1.命令的记忆能力  :   history存放在root的家目录下的bash.history中

2.命令与文件补全功能 :  TAB键使用

3.命令别名设置功能 : alias  别名命令 = ‘ 原始命令’

4.作业控制,前台后台控制  : jobs查看后台暂停的任务,bg+暂停作业编号将放在后台执行,fg+暂停作业编号将放在前台执行

5.程序脚本 :可以将平时管理系统常需要执行的连续命令写成一个文件,该文件并且可以通过交互的方式进行工作

6.通配符   :  可以来帮助用户查询与命令执行

系统中的环境变量

系统的环境文件存放在/etc/profile和/etc/bashrc中

个人的环境文件存放在~/,bash_profile和~/bashrc

使局部变量变成环境变量:export +变量

权限掩码 :umask 创建文件或者目录时,屏蔽到*用户的*权限,创建时的实际权限=最高权限-umask  ,其中永久修改umask值需要修改/etc/bashrc的值。

执行算术运算的几种方法:let    $[]     $(())     bc(scale=n设置精度),使用方法如下图:

数字比较  : -gt(大于)-ge(大于等于)-lt(小于)-le(小于等于)-eq(等于)

字符串比较 : >(大于) <(小于) =(等于但等号两边加空格)  n -eq  m  不等于

一对【】(【】)要加转义符  两对【】(【【  】】)可以不加  

对象  :   -f (判断是否是文件)  -e(判断文件是否存在) -d (判断是否是目录)-L (  判断是否是链接)   -r  -x  -w   判断对象权限

短路操作符&&  (两边两个语句)     || 

 bash脚本

set -x  开启调试开关

控制语句

1。单选

 if  【】;then   .....    fi

2.双选

 if  [];then   ..   else   ..   fi

3.多选

if  【】;then  ..    elif【】;then ..    elif【】;then  ...   fi

循环
固定循环:for  
变量   in  变量值;do    ........    done
不定循环:while  [
条件]do … done    until [条件]do  …   done

 

 

 

 

 

你可能感兴趣的:(正则表达式,shell,shell,脚本,bash,比较运算)