命令行是个让人又爱又怕的地方。爱它的高效,怕它的晦涩。但你可能不知道,几乎每个Linux命令都自带一份"使用说明书"——只要你懂得怎么问。

这份说明书叫usage。不是让你去背,而是让你会读。

打开网易新闻 查看精彩图片

什么是usage

简单说,它是命令的内置指南。有些命令单打独斗就能干活,比如pwd直接打印当前目录。但更多命令需要额外信息,比如rmdir删除目录,你得告诉它删哪个。

Linux把命令后面的内容统称为operand(操作数)。以-开头的字母叫options(选项),改变命令行为;以--开头的单词也是选项,通常是长格式版本。跟在选项后面的单词则是parameters(参数),用于传递数据。

一份完整的usage会告诉你:支持哪些选项、接受什么参数、哪些是可选的、怎么组合使用。

三种查看usage的方法

第一,man命令最可靠。在命令前加man,手册顶部的"SYNOPSIS"就是usage。比如man which会显示:

which [-as] filename ...

第二,出错时自动显示。很多命令运行错误时会打印usage,尤其是缺少必要参数时。grep不带任何参数运行,就会直接甩出usage——因为它至少需要提供一个正则表达式模式。

第三,--help选项。少数命令没有man手册,但支持--helpcd --help的第一行输出就是它的usage。

注意:同一命令在不同系统上表现可能不同。mkdir在macOS上出错会报usage,在Linux上则需要主动运行mkdir --helpman mkdir

读懂usage的符号语言

拿到usage后,还得破解它的语法。虽然理论上命令可以随便写,但主流命令都遵循一套约定俗成的符号规则:

方括号[]表示可选内容。比如[-as]意思是-a-s这两个选项可加可不加。

省略号...表示可重复。filename ...说明可以指定多个文件名

竖线|表示"或"。-a|-s表示二选一。

尖括号<>里的内容需要替换为实际值,比如要换成真实路径。

掌握这套读法,面对陌生命令时就不再是盲人摸象。不用死记,现查现用,才是命令行的正确打开方式。