一、shell
  计算机硬件的直接控制者是操作系统的内核(kernel),因为内核的重要性,所以作为用户的我们是无法直接操作内核的,所以我们需要shell调用应用程序或者双击打开安装的应用软件与内核之间进行通信。 shell相当于是一个接口,连接程序与内核;或者可以说shell是一个办公桌,给工作的人以必要办公环境。
  如今的shell大多数是命令行界面的形式。不同的操作系统的shell是不同的,Linux系统默认运用的是bash。
  因为shell是与内核的接口,故可以通过不给一些用户shell来控制用户操作的权限,如/etc/shells 中的/sbin/nologin ,在用户登录终端后,Linux会根据/etc/passwd文件的设置给用户一个shell,如果用户的shell被分配为/sbin/nologin(默认为/bin/bash)那么该用户无法登录。
  二、bash
  bash 功能优点:
  1、history
  命令记忆功能:记录下曾经执行过的命令,再注销系统后会将这一次的操作记录从内存写到~/.bash_history中,下次登录后即可查看到上次的操作记录。
  2、Tab按键自动补全命令行
  3、alias
  设置别名:alias hsnn='ls -al' 输入执行hsnn 则会执行ls -al 命令
  4、shell script
  程序脚本,能够轻松便捷管理系统
  5、作业控制、前台、后台控制
  6、通配符(Wildcard)
  *  _
  三、bash的内置命令
  bash内置了许多命令:cd umask ,可通过type 命令来查看是否为内置命令
  type -t  name
  file:外部命令
  alias:为命令所用的别名
  builtin:bash 内置命令
  type -p name  name为外部命令时会显示命令路径相当于which
  type -a name  列出PATH中所有包含name的命令,包括alias