1 查看当前系统使用的shell版本
echo $SHELL,会提示有bash,csh,sh等等,Linux使用的是bash,当然bash仍然可以调用子bash(输入bash即可),类似与windows系统调用cmd进行操作,也可以调用其他的版本(同样也是输入csh,sh)
2 echo命令
echo [选项] 输出内容:-e支持反斜线控制的字符转换,输出内容之中如果存在空格,需要使用双引号将内容包含起来
使用echo进行颜色输出:
echo -e "\e[1;31m 你好 \e[0m"
\e表示颜色选项,1表示开启颜色选项与后面的0关闭对应,31m表示红色
3 shell脚本
shell脚本能够使用Linux的命令,#表示注释,#!/bin/bash必须写,因为对于复杂的脚本,可能会用到其他语音,则无法运行。
写完脚本之后,还需要给脚本添加执行权限,权限的添加如下:
赋予执行权限,直接运行:chmod 755 xx.sh(添加权限) ./xx.sh(运行)
通过bash调用执行脚本:bash xx.sh
4 bash的基本功能
a 命令别名和快捷键
查看系统之中的别名:alias
设定别名:alias 别名='原命令'(只能暂时生效,注销重启就没了)
永久别名设置:vi ~/.bashrc写入环境变量配置文件即可(~可以是root也可以是user),配置好需要重启,如果不想重启使用source .bashrc
删除别名:ualias
命令的生效顺序:
常用的快捷键
b 历史命令
除了使用上下键可以查看历史命令之外,我们还可以使用history命令查看
history [选项] [历史命令保存文件] (不加参数直接打history查看所有的历史命令)
-c:清空历史命令 -w:把缓存中的历史命令保存到历史命令保存文件~./bash_history
使用history命令查看的历史命令会比bash_history中的历史命令多,因为本次登录的历史命令还没有写入bash_history之中,需要注销登录之后才会写入。
修改历史命令缓存条数上限,可以去/etc/profile配置文件中修改HISTORYSIZE的大小
使用Tab键可以补全文件和命令,如果存在多条命令,再按一次tab键就会列出所有的命令
c 输出重定向
标准输入输出
输出重定向(将输出信息放入日志当中)
正确输出文件名前面有空格,错误输出后面没有空格
前面两种作用是一样的,看个人习惯用法
对于脚本程序,如果我们不需要查看一些命令的过程信息,只需要最后的结果,那么我们可以将中间的过程信息丢弃到Linux系统为我们准备的黑洞中:
命令 &>/dev/null
输入重定向:
wc [选项] [文件名]
wc输出的内容为(按ctrl+d结束输入):行数,单词数,字符数
wc > 文件名:统计该文件的行数,单词数,字节数(小于号也可省略)
-c:字节数,-w:单词数,-l行数
d 管道符
1、多命令执行顺序
ls && echo yes || echo no(可以设置这样的选项检验ls命令是否出错,用处是当我们使用脚本查错时,可以让系统判断输出的是yes还是no)
管道符:
命令1 | 命令2:命令1的正确输出作为命令2的操作对象
netstat -an | grep ESTABLISHED | wc -l(统计有多少客户端连接系统)
ll -a /etc/ | more(使用分配查看etc目录)
e 通配符
ls dy[^1-9]:表示匹配dy后面跟一个除数字以为的字符的文件
反引号的作用(使用$()替换):
aa=`ls`,echo $aa或者echo "$aa",表示将ls的结果赋值给变量aa,然后查看变量aa的值