文档介绍:第五章
认识以及配置Bash shell
本章结构
2
Shell环境概述
Shell的作用及常见种类
Shell脚本的概念
Shell环境的切换
编写Shell脚本
Bash的常用功能
认识以及管理bash shell
Shell变量应用
编写并执行Shell脚本
用户自定义变量
环境变量
位置变量、预定义变量
Shell脚本应用实例
执行Shell脚本
Shell的作用及常见种类
Shell的作用——命令解释器
介于操作系统内核与用户之间,负责解释命令行
3
Shell
计算机用户
应用程序
Linux内核
输入
输入
控制
控制
系统硬件
输出
输出
Shell的作用及常见种类
4
Ksh
Bsh
Csh
Bash
Zsh
兼具Bsh的语法和Csh的交互特性
70年代中期诞生于贝尔实验室,有较强的脚本编程功能
80年代早期诞生于加利福尼亚大学,使用C语言风格,命令交互方便
Bsh的升级版,Linux系统中的默认Shell
兼具各种Shell程序优点,交互式操作效率更高
Shell环境的切换
登录Shell
指用户每次登录系统后自动加载的Shell程序,大多数Linux系统采用/bin/bash 作为默认登录Shell
/etc/shells 文件记录了系统支持的有效登录Shell
5
[******@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
如何切换Shell环境
临时切换:直接执行其他Shell程序,例如ksh、zsh等
更改用户登录Shell:
需修改/etc/passwd 文件中用户记录的最后一个字段
或执行:usermod -s Shell程序路径用户名
Bash的常用功能
Tab键自动补齐
命令编辑快捷键
文件通配
命令历史
命令行扩展
命令别名
6
命令编辑快捷键
Ctrl – a :移动到命令行的最前
Ctrl – e : 移动到命令行的最后
Ctrl – u : 删除到行首
Ctrl – k : 删除到行尾
Ctrl – arrow : 向左或向右移动一个单词
7
文件通配
常见的文件通配
“* ”: 匹配一个或者多个字符
“? ”: 匹配任意单个字符
[0-9] : 匹配一个数字范围
[abc] : 匹配列表中的任何字符
[^abc] : 匹配列表以外的任何字符
8
Bash的命令历史
命令历史
保存用户曾经执行过的命令操作
存放位置:~/.bash_history 文件
查看历史命令
使用↑、↓按键逐条翻看,允许编辑并重复执行
执行:history
清除历史命令
执行:history -c
9
[******@localhost ~]# history
……
556 useradd user01
557 passwd user01
558 crontab -e -u user01
559 crontab -l -u user01
Bash的命令历史
调用历史命令
!n:执行历史记录中的第n条命令
!str:执行历史记录中以“str”开头的命令
设置记录历史命令的条数
修改 HISTSIZE 参数(默认为1000条)
10
[******@localhost ~]# !562
crontab -l -u jerry
no crontab for jerry
[******@localhost ~]# vi /etc/profile
HISTSIZE=200