简介
1. 什么是 shell?
能操作应用程序的接口都能称为 shell。狭义上的 shell 指的是命令行方面的软件,如 sh、bash、csh 等。
2. 为什么要用 shell ?
shell 直译是壳的意思。管理计算机硬件的是操作系统的内核(Kernel),这个内核是需要被保护的,因为如果让用户随意操作,极有可能会让系统崩溃。而 shell 就是保护内核的“壳”,所以一般用户只能通过 shell 来和内核通信。
3. 既然有了图形界面的工具设置主机,为什么还要学习命令行界面的 shell?
a. 没有统一的图形界面,不同 distribution 设计的 X Window 都不相同,而 shell 则不一样,几乎各家 distribution 的 bash 都一样;b .远程管理命令行界面快;c. 如果想要将主机管理好,Shell 程序编写是一定需要的。
4. 都有那些 shell?
我们系统支持的合法的 shell 存储在 /etc/shells 文件中,可以通过 cat /etc/shells 将该文件打印在终端中。
5. 默认使用那个 shell?
既然有这么多 shell,那我们默认使用的是哪个 shell?当我们登录的时候系统就给我们一个 shell 来让我们工作了,这个登录时取得的 shell 记录在 /etc/passwd 文件中。可以看到默认使用的是 bash。
6. bash 的功能?
a. 命令记忆能力。
b. 命令与文件补全功能(Tab 键)。
c. 命令别名设置功能(alias)。
e. 作业控制、前台、后台控制。
f. 程序脚本。
g. 通配符。