Shell:为了保护了操作系统的内核,一般用户只能通过shell来跟内核通信。即,shell只是提供用户操作系统的接口。实际上只要能够操作应用程序的接口都可以称为shell。
Bash是shell的一种,目前是Linux distributions的标准shell,主要兼容于sh。
bash的主要优点:
①命令记忆功能:
可以记忆使用过的命令。只要在命令行按上下键就可以找到前/后输入过的命令。当
下登录所执行的命令都暂存在临时内存中。当用户注销后,就会将这些命令写入该用 户主文件夹内的.bash_history中。
②命令与文件补全功能(按Tab键补全):
在一串命令的第一个字按[Tab],为命令补全。
在一串命令的第二个字按[Tab],为文件补齐。
③命令别名设置功能(alias):
例:以自定义命令lm代替ls -al命令,alias lm = ‘ls -al’。lm命令等同于ls -al。
④作业控制、前台、后台控制(之后再详细说明)。
⑤程序脚本(shell script,后面会详细说明)。
⑥通配符:
支持许多通配符来帮助用户查询与执行命令。例:ls -l /usr/bin/X*,列出/usr/bin中以X 开头的文件。
为了方便shell的操作,bash内置了很多命令。通过命令type可以知道每个命令是否是shell的内置命令。
type [-tpa] name
参数:
type:不加任何参数,type会显示出name是外部命令还是bash内置命令。
-t :显示file :表示为外部命令。
alias:表示该命令为命令别名所设置的名称。
builtin:表示该命令为bash内置的命令功能。
-p :只有name为外部命令,才会显示完整文件名。
-a :会由PATH变量定义的路径中,将所有含name的命令都列出来,包含alias。