做为开篇,咱们对命令行接口和linux命令作一下简介。以后的几篇咱们会进入到linux经常使用基础命令的讲解中。let's begin!linux
注:在本文和以后的文章中,如无特殊说明,所说的shell均指bash,准确的说是GNU bash,版本:4.2.46(1)-release。实验所用的linux操做系统为centos7.1,内核版本为3.10.0-327.el7.x86_64
人们所使用的计算机是由许多看得见摸得着的硬件和运行于其上的软件所组成的,但使用者并不能直接操做硬件,只能经过操做系统这个计算机中最重要的软件来和计算机交互。当前各类操做系统实现的人机交互接口中,最重要的两种为:CLI
和GUI
。
GUI或者说graphical user interface(图形用户接口),容许用户使用鼠标和键盘操纵屏幕上的各类视觉元素来完成和计算机的交互。
CLI或者说command-line interface(命令行接口),是一种经过在终端窗口中键入文本命令来实现与计算机交互的接口。shell
许多设备(如计算机,路由器,交换机等)的操做系统中均包含命令行接口,命令行容许用户为命令指定特定的参数来更精确的控制计算机的执行。一些重复的任务能够写成脚原本执行,这样能够更高效和更少出错。经过命令行执行任务在一些状况下要比使用图形用户接口更快一些,但同时也须要使用者记住大量的命令。所以,命令行接口一般被更专业的用户来使用。centos
在类unix操做系统中的命令行接口称为shell,在linux的各类shell实现中,使用最为普遍的是bash。bash
一个终端窗口中的命令行接口看起来多是这个样子的:学习
下面让咱们来看看如何使用一个命令行接口:
如上图所示,窗口左上方显示的字符串是命令提示符(prompt)
,紧随其后的是不停闪烁的光标,意味着用户能够在此处键入命令了。用户每键入一个字符,光标即向右移动一格。当一条命令键入完成后,一般经过按下enter键来通知shell去解释和执行。
shell中,一条简单命令(simple command
)包含命令名称(command name
),可选数目的选项(option
)或参数(argument
)和重定向(redirection
)。它们之间一般由空格键产生的空白字符所分隔:centos7
command [option|argument]... [redirection]... #在描述一个命令的使用方法时,如无特殊说明 处于[]内的表明可选,...表明多个,|表明或者。
以下图实例:spa
图中在命令行键入了ls -l test.txt
并按下回车键,终端显示命令执行的结果,随后继续出现命令提示符,等待用户的再次输入。其中ls
表明这条命令的命令名称,-l test.txt
是命令ls的两个参数,这条命令中并无出现重定向。(注:关于重定向和执行结果的意义,后面会有相关文章具体解释。此处略过。)
一个linux系统中包含大量的命令,一般每一个命令又包含许多选项或参数。要在一篇或几篇博文内去讲解清楚每一个命令的用法是不现实的。好在linux系统中有这些命令的手册(manual
)。用户随时能够查阅。操作系统
方法为执行以下命令:命令行
man cmd_name #用于查看cmd_name的手册。 info cmd_name #用于查看cmd_name的描述信息。 cmd_name --help 或 cmd_name -h #在终端中打印出cmd_name的帮助信息。
除此以外还有许多其余方式来学习命令的用法,但一般知道这三个就足够了。其中man
命令显示的手册很是详细,也是在linux命令查询中使用最为频繁的一个。这里简单介绍一下man
的使用方法,man
加命令名并执行后会在终端打开手册,以文本的方式显示。unix
能够执行的操做有:
q键退出此手册 向下箭头和enter键显示下一行内容 空格键显示下一页内容 键入字符串/pattern并回车表明从当前页开始向下搜索关键词pattern n键为重复前一个搜索
man
的用法还有不少,这里只列出经常使用的几个。关于它的更多用法咱们如今能够执行命令man man
(打开man命令的手册)来查看了。熟练掌握bash和各类基础命令的用法,是一个linux系统管理员必不可少的技能。并且透过命令行接口,还能让其余计算机软硬件从业人员或爱好者了解操做系统的工做原理。接下来,让咱们进入到具体命令的学习当中。