一、Shell 的分类
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
二、bash 的初始化
- bash 环境变量文件
1、/etc/profile
2、/ect/bashrc
3、~/.profile
三、bash 特性
1. 命令和文件自动补齐
[root@localhost ~]# yum -y install bash-com*
2. 命令历史记忆功能
查看之前使用的所有命令
[root@localhost ~]# history
3. 别名功能
alias命令,别名的好处是可以把本来很长的指令简化缩写,来提高工作效率
[root@localhost ~]# alias 查看系统当前所有的别名
[root@localhost ~]# alias h5='head -5'
定义新的别名。这时候输入h5就等于输入’head‐5’
[root@localhost ~]# h5 1.txt
1
2
3
4
5
**[root@localhost ~]unalias h5
取消别名定义
四、前后台作业控制
前后台作业的定义
- 前后台作业实际上对应的也就是前后台进程,因此也就有对应的 pid。在这里统称为作业。
- 无论是前台作业还是后台作业,两者都来自当前的Shell,是当前Shell的子程序。
- 前台作业:可以由用户参与交互及控制的作业我们称之为前台作业。
- 后台作业:在内存可以自运行的作业,用户无法参与交互以及使用[ctrl]+c来终止,只能通过bg或fg来调用该作业
几个常用的作业命令
command & 直接让作业进入后台运行
[root@localhost ~]# bash a.sh &
[1] 36488
[root@localhost ~]# hollow world
[1]+ Done bash a.sh
[ctrl]+z 将当前作业切换到后台
[root@localhost ~]# bash a.sh
^Z
[1]+ Stopped bash a.sh
jobs 查看后台作业状态
[root@localhost ~]# jobs
[1]- Stopped bash a.sh
[2]+ Stopped bash a.sh
fg %n 让后台运行的作业n切换到前台来
[root@localhost ~]# fg %1
bash a.sh
hollow world
bg %n 让指定的作业n在后台运行
[root@localhost ~]# jobs
[2]+ Stopped bash a.sh
[root@localhost ~]# bg %2
[2]+ bash a.sh &
[root@localhost ~]# hollow world
[2]+ Done bash a.sh
- 作业脱机管理
- 输入输出重定向
1、硬件设备和文件描述符