Shell基础
命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或Tab隔开,格式如下:
$ 命令 选项 参数
选项是包括一个或多个字母的代码,它前面有一个减号(减号是必要的,Linux用它来区别选项和参数),选项可用于改变命令执行的动作的类型。
例如:[root@start root]# ls
这是没有选项的ls命令,可列出当前目录中的所有文档,但只列出各个文档的名字,而不显示其他更多的信息。
[root@start root]# ls -l
total 16
-rw-r--r-- 1 root root 1282 10月10日 2002 anaconda-ks.cfg
drwx------ 4 root root 4096 3月17日15:53 Desktop
drwxr-xr-x 3 root root 4096 10月10日 2002 GNUstep
drwxr-xr-x 3 root root 4096 3月17日16:29 pic
加入-l选项,将会对每个文档列出详细信息,诸如资料大小和资料最后被修改的时间等。
大多数命令都被设计为可以接纳参数。参数是在命令行中的选项之后键入的一个或多个单词,例如
[root@start root]# ls -l pic
total 760
-rw-r--r-- 1 root root 74402 3月17日10:09 1.jpg
-rw-r--r-- 1 root root 64094 3月17日10:33 2.jpg
-rw-r--r-- 1 root root 55293 3月17日10:43 3.jpg passwd
将显示pic目录下的所有文档及其信息。
有些命令,如ls可以带参数,而有一些命令可能需要一些最小数目的参数。例如,cp命令至少需要两个参数,如果参数的数目与命令要求不符,Shell将会报错。例如:
[root@start root]# cp anaconda-ks.cfg /tmp/
注意:命令中选项应该先于参数输入。
命令行实际上是可以编辑的一个文本缓冲区,在按回车之前,可以对输入的文本进行编辑。比如利用【BackSpace】键可以删除刚键入的字符,可以进行整行删除,还可以插入字符,使得用户在输入命令(尤其是复杂命令)时,若出现键入错误,无需重新输入整个命令,只要利用编辑操作,即可改正错误。
利用上箭头可以重新显示刚执行的命令,利用这一功能可以重复执行以前执行过的命令,而无需重新键入该命令。
bash保存着以前键入过的命令的列表,该列表被称为命令历史表。按动上箭头,便可以在命令行上逐次显示各条命令。同样,按动下箭头可以在命令列表中向下移动,这样可以将以前的各条命令显示在命令行上,用户可以修改并执行这些命令。
在一个命令行中还可以置入多个命令,用分号将各个命令隔开,这些命令将按顺序执行。例如:
[root@start root]# date;ls
日3月17 16:56:35 CST 2002
anaconda-ks.cfg Desktop GNUstep pic
也可以在几个命令行中输入一个命令,用反斜杠将一个命令行持续到下一行。如:
$ cp -i
mydata
newdata
上面的cp命令分3行输入的,开始的两行以反斜杠结束,把第3行作为一个命令行。
Shell中除使用普通字符外,还可以使用一些具有特殊含义和功能的特殊字符。在使用它们时应注意其特殊的含义和作用范围。下面分别对这些特殊字符加以介绍。