Linux漫谈(六)

命令行窗口的使用

作者:笔刀侠

学习Linux的使用的第一步是熟悉命令行的操作。

在Windows里,你可以点“开始”菜单、选“运行”,在弹出的那行里输入“CMD” 后点“确定”按钮进入命令行操作界面,而在Linux里,你可以点“应用程序”、选“附件”、点“终端”进入命令行操作界面,这方面两者相差不大。

要在命令行下工作,你就必须熟悉掌握各种命令。在Windows的命令行窗口内使用的各种命令对于我们这些用过好多年DOS的人自然非常熟悉那些DOS命令(也算是多年的老情人了),下表就是这些命令的清单:

ASSOC显示或修改文件扩展名关联。

ATTRIB显示或更改文件属性。

BREAK设置或清除扩展式CTRL+C检查。

BOOTCFG设置boot.ini文件的属性以便控制启动加载。

CACLS显示或修改文件的访问控制列表(ACL)。

CALL从另一个批处理程序调用这一个。

CD显示当前目录的名称或将其更改。

CHCP显示或设置活动代码页数。

CHDIR显示当前目录的名称或将其更改。

CHKDSK检查磁盘并显示状态报告。

CHKNTFS显示或修改启动时间磁盘检查。

CLS清除屏幕。

CMD打开另一个Windows命令解释程序窗口。

COLOR设置默认控制台前景和背景颜色。

COMP比较两个或两套文件的内容。

COMPACT显示或更改NTFS分区上文件的压缩。

CONVERT将FAT卷转换成NTFS。您不能转换当前驱动器。

COPY将至少一个文件复制到另一个位置。

DATE显示或设置日期。

DEL删除至少一个文件。

DIR显示一个目录中的文件和子目录。

DISKCOMP比较两个软盘的内容。

DISKCOPY将一个软盘的内容复制到另一个软盘。

DISKPART显示或配置磁盘分区属性。

DOSKEY编辑命令行、调用Windows命令并创建宏。

DRIVERQUERY显示当前设备驱动程序状态和属性。

ECHO显示消息,或将命令回显打开或关上。

ENDLOCAL结束批文件中环境更改的本地化。

ERASE删除一个或多个文件。

EVENTQUERY显示指定准则的事件日志项目。

EXIT退出CMD.EXE程序(命令解释程序)。

FC比较两个文件或两个文件集并显示它们之间的不同。

FIND在一个或多个文件中搜索一个文字字符串。

FINDSTR在多个文件中搜索字符串。

FOR为一套文件中的每个文件运行一个指定的命令。

FORMAT格式化磁盘,以便跟Windows使用。

FSUTIL显示或配置文件系统的属性。

FTYPE显示或修改用在文件扩展名关联的文件类型。

GOTO将Windows命令解释程序指向批处理程序中某个带标签的行。

GPRESULT显示机器或用户的组策略信息。

GRAFTABL启用Windows在图形模式显示扩展字符集。

HELP提供Windows命令的帮助信息。

IF在批处理程序中执行有条件的处理过程。

LABEL创建、更改或删除磁盘的卷标。

MD创建一个目录。

MKDIR创建一个目录。

MODE配置系统设备。

MORE逐屏显示输出。

MOVE将一个或多个文件从一个目录移动到另一个目录。

OPENFILES显示远程用户为了文件共享而打开的文件。

PAGEFILECONFIG显示或配置页面文件的属性。

PATH为可执行文件显示或设置搜索路径。

PAUSE停止批处理文件的处理并显示信息。

POPD还原由PUSHD保存的当前目录上一次的值。

PRINT打印一个文本文件。

PROMPT改变Windows命令提示。

PUSHD保存当前目录,然后对其进行更改。

RD删除目录。

RECOVER从损坏的磁盘中恢复可读取的信息。

REM记录批处理文件或CONFIG.SYS中的注释。

REN重新命名文件。

RENAME重新命名文件。

REPLACE替换文件。

RMDIR删除目录。

SET显示、设置或删除Windows环境变量。

SETLOCAL开始用批文件改变环境的本地化。

SC显示或配置服务(后台处理)。

SCHTASKS安排命令和程序在一部计算机上按计划运行。

SHIFT调整批处理文件中可替换参数的位置。

SHUTDOWN让机器在本地或远程正确关闭。

SORT将输入排序。

START打开单独视窗运行指定程序或命令。

SUBST将驱动器号与路径关联。

SYSTEMINFO显示机器的具体的属性和配置。

TASKLIST显示包括服务的所有当前运行的任务。

TASKKILL终止正在运行的进程或应用程序。

TIME显示或设置系统时间。

TITLE设置CMD.EXE会话的窗口标题。

TREE以图形显示启动器或路径的目录结构。

TYPE显示文本文件的内容。

VER显示Windows的版本。

VERIFY告诉Windows验证文件是否正确写入磁盘。

VOL显示磁盘卷标和序列号。

XCOPY复制文件和目录树。

WMIC在交互命令外壳里显示WMI信息。

如果要了解这些命令的用法,你可以在那些命令后添加左斜杠和问号“/?”,系统会给你显示一份相当详细的说明。

Windows的DOS窗口只能使用上表所列那些命令吗?当然不是!上表所列那些只是所谓的“内部命令”,也就是已经打包到了操作系统内部、不需要另外的可执行文件就可以运行的命令。如果你自己开发了一个名叫“xxx.exe”的程序,而且你现在正处于这个程序所在的目录下或者你的PATH指定的搜索路径有你存放这个文件的目录,那你直接输入“XXX”命令即可以运行它,象这样的可执行程序就叫“外部命令”,外部命令可能非常多乃至不可胜数(视你安装了多少软件而定)。比如,你可以用“edit XXX.TXT”来创建、编辑修改一个文本文件“XXX.TXT”,因为Windows附带了一个叫“EDIT.EXE”的文件给你。

在Linux上,没有“内部命令”和“外部命令”的区分,按Windows的观点来说,所有命令都是外部命令。那么,你在Linux的命令行窗口有那些命令可用呢?可以象上面那样给开列出一张表来吗?对此,我可以说“非常难!”,因为各人安装了多少可运行的程序千差万别,无法一概而论。

在Linux命令行窗口上可以用的命令有不少是不同的命令而有相同的功能的,这一点在Windows上也有相同的情形,如上表所示,“MD”命令和“MKDIR”命令就没啥不同。更多的情形是,两个不同的命令意思不完全相同但相差不大,有的只是在另外一个命令的基础上少一些可选参数,或者说是你要达到某种目的的时候用它来实现就更简单(可以少记一些命令参数)。相反,也可能是命令名相同而功能却不同的,正如你在Windows的dos上,因你装的“XXX.EXE”与别人装的“XXX.EXE”是完成不同功能的,你和别人都键入XXX命令后却是做不同的事情。

那么,在Linux的命令行窗口上还有得搞吗?你也没必要因此着急上火,有许多的命令无论你在那种版本的Unix、Linux下都是可用而且意思一样的。那么,可以就这些命令开列出一个清单来吗?这也没啥必要,你可以上网用“Linux命令大全”之类的字符串来搜索一下,有很多地方可以下载的。从我搜索到的文件来看,最多的有600多条命令的,而我装的Linux下面有2810多个命令可用。

可以象Windows的DOS那样用加“/?”的方式来了解各个命令使用的细节吗?没问题!只是方式有所不同,一般上说,你只要在命令名后面按“空格、减、h”三个键再回车就起到同样的功能。还有一种方式就是你去问男人,他就能够告诉你,也就是说,你键入“man、空格、命令名”再回车,你就可以看到使用该命令的说明。这里的“男人”man其实是“手册”manual的缩写。