云网牛站
所在位置:首页 > Linux培训 > Shell脚本学习(Linux命令行)第二章:什么是shell

Shell脚本学习(Linux命令行)第二章:什么是shell

2018-05-12 15:23:03作者:linux人稿源:Unix爱好者家园

一说到命令行,我们真正指的是 shell。shell 就是一个程序,它接受从键盘输入的命令,然后把命令传递给操作系统去执行。几乎所有的 Linux 发行版都提供一个名为 bash 的来自 GNU 项目的 shell 程序。“bash”是“Bourne Again SHell” 的首字母缩写,所指的是这样一个事实,bash 是最初 Unix 上由 Steve Bourne 写成 shell 程序 sh 的增强版。

 

终端仿真器

当使用图形用户界面时,我们需要另一个和 shell 交互的叫做终端仿真器的程序。如果我们浏览一下桌面菜单,可能会找到一个。虽然在菜单里它可能都被简单地称为 “terminal”,但是 KDE 用的是 konsole,而 GNOME 则使用 gnome-terminal。还有其他一些终端仿真器可供 Linux 使用,但基本上,它们都完成同样的事情,让我们能访问 shell。也许,你可能会因为附加的一系列花俏功能而喜欢上某个终端。

 

第一次按键

好,开始吧。启动终端仿真器!一旦它运行起来,我们应该看到一行像这样的文字:

[me@linuxbox ~]$

这叫做 shell 提示符,无论何时当 shell 准备好了去接受输入时,它就会出现。然而,它可能会以各种各样的面孔显示,这则取决于不同的 Linux 发行版,它通常包括你的用户名@主机名,紧接着当前工作目录(稍后会有更多介绍)和一个美元符号。

如果提示符的最后一个字符是“#”, 而不是“$”,那么这个终端会话就有超级用户权限。 这意味着,我们或者是以 root 用户的身份登录,或者是我们选择的终端仿真器提供超级用户(管理员)权限。

假定到目前为止,所有事情都进行顺利,那我们试着键入字符吧。在提示符下敲入一些像下面一样的乱七八糟的字符:

[me@linuxbox ~]$ kaekfjaeifj

因为这个命令没有任何意义,所以 shell 会提示错误信息,并让我们再试一下:

bash: kaekfjaeifj: command not found

[me@linuxbox ~]$

 

命令历史

如果按下上箭头按键,我们会看到刚才输入的命令“kaekfjaeifj”重新出现在提示符之后。这就叫做命令历史。许多 Linux 发行版默认保存最后输入的500个命令。按下下箭头按键,先前输入的命令就消失了。

 

移动光标

可借助上箭头按键,来获得上次输入的命令。现在试着使用左右箭头按键。看一下怎样把光标定位到命令行的任意位置?通过使用箭头按键,使编辑命令变得轻松些。

 

关于鼠标和光标

虽然,shell 是和键盘打交道的,但你也可以在终端仿真器里使用鼠标。X 窗口系统 (使 GUI 工作的底层引擎)内建了一种机制,支持快速拷贝和粘贴技巧。如果你按下鼠标左键,沿着文本拖动鼠标(或者双击一个单词)高亮了一些文本,那么这些高亮的文本就被拷贝到了一个由 X 管理的缓冲区里面。然后按下鼠标中键,这些文本就被粘贴到光标所在的位置。试试看。

注意:不要在一个终端窗口里使用 Ctrl-c 和 Ctrl-v 快捷键来执行拷贝和粘贴操作。它们不起作用。对于 shell 来说,这两个控制代码有着不同的含义,它们在早于 Microsoft Windows (定义复制粘贴的含义)许多年之前就赋予了不同的意义。

你的图形桌面环境(像 KDE 或 GNOME),努力想和 Windows 一样,可能会把它的聚焦策略设置成“单击聚焦”。这意味着,为了让窗口聚焦(变成活动窗口)你需要单击它。这与“聚焦跟随着鼠标”的传统 X 行为不同,传统 X 行为是指只要把鼠标移动到一个窗口的上方。它能接受输入,但是直到你单击窗口之前它都不会成为前端窗口。设置聚焦策略为“聚焦跟随着鼠标”,可以使拷贝和粘贴更方便易用。尝试一下。我想如果你试了一下你会喜欢上它的。你能在窗口管理器的配置程序中找到这个设置。

 

试试运行一些简单命令

现在,我们学习了怎样输入命令,那我们执行一些简单的命令吧。第一个命令是 date。这个命令显示系统当前时间和日期。

Shell脚本学习(Linux命令行)第二章:什么是shell

一个相关联的命令,cal,它默认显示当前月份的日历。

Shell脚本学习(Linux命令行)第二章:什么是shell

查看磁盘剩余空间的数量,输入 df:

Shell脚本学习(Linux命令行)第二章:什么是shell

同样地,显示空闲内存的数量,输入命令 free。

Shell脚本学习(Linux命令行)第二章:什么是shell

 

结束终端会话

我们可以通过关闭终端仿真器窗口,或者是在 shell 提示符下输入 exit 命令来终止一个终端会话:

[me@linuxbox ~]$ exit

 

幕后控制台

即使终端仿真器没有运行,在后台仍然有几个终端会话运行着。它们叫做虚拟终端 或者是虚拟控制台。在大多数 Linux 发行版中,这些终端会话都可以通过按下 Ctrl-Alt-F1 到 Ctrl-Alt-F6 访问。当一个会话被访问的时候,它会显示登录提示框,我们需要输入用户名和密码。要从一个虚拟控制台转换到另一个,按下 Alt 和 F1-F6(中的一个)。返回图形桌面,按下 Alt-F7。

 

相关主题

Linux Shell脚本系列:开始上手

精选文章
热门文章