您的位置:首页 > 运维架构 > Linux

Linux入门 Part1: 使用控制台(3)-shell,command & parameter(s)

2014-04-09 05:41 441 查看
说到命令,就不能不提shell。出于安全性的考虑,操作系统本身是无法与用户沟通的。试想如果让操作系统直接暴露在用户面前,用户稍一操作不当就会造成系统崩溃。因此,用户必须通过图形界面或者命令行界面与计算机进行交互,图形界面中我们可以通过点鼠标来执行操作,那命令行中怎么办呢?这时候就需要一种软件能够调用其他软件,我们就称之为shell, 其本意是外壳的意思,这里就是指包在操作系统外的一层壳用以保护和使用系统。广义的shell包括图形界面的软件,因为图形界面的本质也是通过操纵其他软件来使用系统。

下面我们将要提到的命令,都是独立的应用程序,我们只是通过shell来调用他们,就像通过鼠标点击打开浏览器一样。

shell的种类很多,bash(linux默认的shell), ksh, tcsh, csh, zsh等等,单基本概念都是一样的(就像linux的各个发行版)

执行命令的方式很简单,一个命令由两部分组成:命令名称(command)和参数(parameter)。

简单情况下,我们只打命令名称(一般简称为命令)就可以得到结果,就像上一章最后的date 命令。但绝大多数情况下我们需要输入参数来得到想要的结果。

ls 命令为例。ls 是 list 的缩写,用来显示当前目录下的文件和文件夹。如果只打ls, 结果如图:




在ubuntu中,蓝色代表文件夹,而白色代表文件。更多有关ls配色方案的信息可以自行google。如果当前文件夹下什么都没有,那没有任何结果会输出。
在之后的例子中我们会对其进行扩展,为其加上参数。

参数(parameter)

参数是跟在命令名称之后的选项,参数与命令之间用空格分开如下图所示,注意不论空几格,shell都视为一格

parallels@ubuntu:~$commande parameters
参数的内容并没有强制的规定格式,它可以是数字,字母,空格。。。幸运的是,程序员们在开发时约定俗城了一套默认规则,以方便shell的使用(否则,想想浏览器大战给web前端程序员带来的麻烦)。

短参数 (short parameters)
短参数是最常见的,它由连字符加一个字母组成:

commande -d
如果需要同时给出多个参数,可以这样做:

commande -d -a -U -h
或者,更方便也更常用的做法是:

commande -daUh
注:再次强调Linux系统是对大小写敏感的,也就是说这里大写的U与小写的u代表的是2个参数。

ls 为例,如果我们为其加上参数 a (小写):




我们发现与只打 ls 相比,多了很多文件。这是因为 a 是 all 的缩写,这个参数是 ls 能够显示当前目录下得所有文件。那些以 . 开头是linux中的隐藏文件。通常你会在你的home目录下(也就是~)发现许多隐藏文件,这些一般来说都是程序配置文件。

长参数 (long parameters)

长参数由两个连字符加一个单词组成:

commande --parameters
这一次不同与短参数,如果想同时给出多个参数,只有一个种选择:以空格分开

commande --parameter1 --parameter2
我们可以同时使用短参数和长参数:

commande -daUh --anotherparameter
有时一个参数可以写成短参数,也可以写成长参数。这取决于命令,关于如何获取命令的参数信息,在后面关于manual的章节中会讲到。

再以 ls 为例,输入 ls --all(注意两个连字符!), 结果如图所示:




ls -all 的执行结果和 ls -a一模一样,这说明对于 ls 这个命令,全部显示这个参数可以写成 -a 或者 -all。

参数的值 (values of parameters)

有些参数需要被赋值, 对于短参数和长参数,赋值的写法不同。

对于短参数:

commande -p 14
这里我们把14这个值赋给了参数p

对于长参数:
commande --parameter=14


其他格式的参数
正如我们开头所说,参数的格式没有强制规定。虽然有默认的约定,但林子大了什么鸟都有。比如对于 ls,我们可以把文件或文件夹名作为 ls 的参数,用来显示该文件/文件夹目录下的内容,以隐藏文件夹 .config为例:




结果显示了~/.config目录下的文件与文件夹。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  命令 linux ls