第一章 Shell 是什么
Shell 是什么
终端仿真器
- 当谈到命令行时,我们实际上指的是 shell 。
- shell 是一个接收由键盘输入的命令,并将其传递给操作系统来执行的程序。
- 几乎所有的 Linux 发行版都是一个接收由键盘输入的命令,并将其传递给操作系统来执行的程序。
- 几乎所有的 Linux 的发行版都提供 shell 程序,该程序来自于称之为 bash 的 GNU 项目。
- bash 是 Bourne Again Shell 的首字母缩写, Bourne Again Shell 基于这样一个事实,即 bash 是 sh 的增强版本,而 sh 是最初的 UNIX shell 程序,由 Steve Bourne 编写。
- 当使用图形用户界面时,需要另一种叫做终端仿真器(terminal emulator)的程序与 shell 进行交互。
- 在 KDE 环境下使用的是 konsole ,而在 GNOME 环境下使用 gnome-terminal ,但是在桌面菜单上很可能将它们简单地统称为终端。
- 在 Linux 系统中,还有许多其他的终端仿真器可以使用,但是它们基本上都做同样的事情:让用户访问 shell 。
- 因为不同的终端仿真器所具有的功能特性不尽相同,因此,你可以根据自己的喜好进行选择。
第一次键盘输入
基本介绍
- 启动终端仿真器,运行后的终端仿真器如下所示:
1
[me@linuxbox ~]$
- 这是 shell 提示符,只要 shell 准备接收外部输入,它就会出现。在不同的发行版中,提示符外观可能会有差异,但是,它通常包括 username@machinename ,其后是当前工作目录和一个 $ 符号。
- 如果 shell 提示符的最后一个字符是 # ,而不是一个 $ 符号,那么终端会话将享有超级用户特权。
- 假定一切工作都很顺利,接下来尝试输入一些内容。在提示符后输入一些乱码。如下所示:
1
[me@linuxbox ~]$ kaekfjaeifj
- 由于这些命令没有任何意义,shell 会让我们重新输入:
1
2bash: kaekfjaeifj: command not found
[me@linuxbox ~]$
命令历史记录
- 如果按下向上方向的指示键,将会看到先前的命令 kaekfjaeifj 再一次出现提示符后面,这称为命令历史记录。
- 在默认情况下,大部分 Linux 发行版本能够存储最近输入的 500 个命令。
- 按下向下方向指示键,则先前的命令消失。
光标移动
- 再次按下向上方向指示键,重新调用先前的命令,然后分别按下向左向右方向的指示键,看看如何将光标定位到命令行的任意位置。这可以让我们很容易地编辑命令。
几个简单的命令
- 在学习键盘输入之后,我们来尝试几个简单的命令。
- 首先是 date 命令,该命令显示当前系统的时间和日期:
1
2[me@inuxbox ~]$ date
Thu Oct 25 13:51:54 EDT 2012 - 与之相关的一个命令是 cal ,在默认情况下, cal 显示当月的日历。
1
2
3
4
5
6
7
8
9[me@inuxbox ~]$ cal
八月 2020
日 一 二 三 四 五 六
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - 如果想要查看磁盘驱动器当前可用的空间,可以使用 df 命令。
1
2
3
4
5
6
7[me@inuxbox ~]$ df
Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on
/dev/disk1s1 489620264 132645336 350371888 28% 1330866 9223372036853444941 0% /
devfs 383 383 0 100% 673 0 100% /dev
/dev/disk1s4 489620264 4194344 350371888 2% 2 9223372036854775805 0% /private/var/vm
map -hosts 0 0 0 100% 0 0 100% /net
map auto_home 0 0 0 100% 0 0 100% /home
结束终端会话
- 直接关闭终端窗口或是在 shell 提示符下输入 exit 命令,即可结束终端会话。
1
[me@inuxbox ~]$ exit
参考文章
- 转载:Linux 命令行大全
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment
TwikooGitalk