Linux 命令行操作
Shell简介
shell 是用户和Linux 操作系统之间的接口。Linux 中有多种shell,其中缺省使用的是bash。
Linux 系统的shell 作为操作系统的外壳为用户提供使用操作系统的接口,它是一个命令语言解释器拥有自己内建的shell 命令集。shell 也能被系统中其他应用程序所调用,用户在提示符下输入的命令都由shell 先解释然后传给Linux 核心。
Linux 中的shell 有多种类型其中最常用的几种是Bourne shell (sh), C shell(csh 和Korn shell ksh), 三种shell 各有优缺。
Bourne shell 是UNIX 最初使用的shell,并且在每种UNIX 上都可以使用。Bourne shell 在shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。 Linux 操作系统缺省的shell 是Bourne Again shell。它是Bourne shell 的扩展,简称bash 。与Bourne shell 完全向后兼容,并且在Bourne shell 的基础上增加增强了很多特性,它还包含了很多C shell 和Kornshell 中的优点,有灵活和强大的编程接口同时又有很友好的用户界面。
C shell 是一种比Bourne shell 更适于编程的shell, 它的语法与C 语言很相似。Linux 为喜欢使用C shell 的人提供了Tcsh。 Tcsh 是C shell 的一个扩展版本。Tcsh 包括命令行编辑可编程单词补全、拼写校正历史命令替换、作业控制和类似C语言的语法。它不仅和Bash shell 是提示符兼容而且还提供比Bashshell 更多的提示符参数。
Korn shell 集合了C shell 和Bourne shell 的优点并且和Bourne shell 完全兼容Linux 系统提供了pdksh (ksh 的扩展),它支持任务控制,可以在命令行上挂起、后台执行、唤醒或终止程序,
Redhat Linux 系统默认的shell 是bash, 对普通用户用$作提示符,对超级用户root 用#作提示符,一旦出现了shell 提示符就可以键入命令名称及命令所需要的参数。
我们来实习一下 shell 是如何工作的,在shell 提示符下输入以下命令:
$ ls –al
该命令可以列出当前目录下的所有文件和子目录。
用户在登录到 Linux 时,由/etc/passwd 文件来决定要使用哪个shell。 例如,
该文件中含有类似如下一行:
myself:x:500:500:Linux User:/home/myself:/bin/bash
用户使用的 shell 被列每行的末尾(/bin/bash)。
由于 bash 是Redhat Linux 上缺省的shell,本文将主要介绍bash 及其相关知识。
Shell 控制台使用方法
首先介绍一个名词 “控制台(console) ”,它就是我们通常见到的使用字符操作界面的人机接口,例如dos 。我们说控制台命令就是指通过字符界面输入的可以操作系统的命令。例如dos 命令就是控制台命令。我们现在要了解的是基于Linux 操作系统的基本控制台命令。
Linux 是一个真正的多用户操作系统,这表示它可以同时接受多个用户登录。Linux 还允许一个用户进行多次登录,这是因为Linux和许多版本的UNIX 一样提供了“虚拟控制台”的访问方式,允许用户在同一时间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登录。
虚拟控制台的选择可以通过按下 Alt 键和一个功能键来实现,通常使用F1-F6。例如用户登录后按一下Alt-F2 键,用户又可以看到”login:”提示符,说明用户看到了第二个虚拟控制台;然后只需按Alt-F1 键就可以回到第一个虚拟控制台。一个新安装的Linux 系统允许用户使用Alt-F1 到Alt-F6 键来访问前六个虚拟控制台。