命令行语法格式

689 阅读1分钟

在看一些命令行的语法时,有些符号并不清楚所表达的意思,因此在这做一个小结。

命令行语法格式

  • 没有大括号或中括号包裹

    没有大括号或中括号包裹的内容则是必填参数。如:

    cat 语法:

    cat [-AbeEnstTuv] [--help] [--version] fileName
    

    可以看到 cat 和 fileName 没有被大括号或中括号包裹,则这俩参数都是必须的:

    $ cat a.txt
    
  • []

    中括号[]表示该参数为可选。

    ls 语法:

    ls [-alrtAFR] [name]
    

    可以看到,ls 命令的-a、-l、-r、-t、-A、-F、-R和 name 都是可选参数。

    $ ls
    $ ls -a
    $ ls -l data
    
  • {}

    大括号 {}表示括号内的参数任选其一,比较少见。

    crontab 语法:

    如下-l-r-e任选其一。

    crontab [ -u user ] { -l | -r | -e }
    
  • <>

    尖括号 <>表示必须被替换的占位。如: cmp 语法:

    cmp [-clsv][-i <字符数目>][--help][第一个文件][第二个文件]
    

    cmp 用来比较两个文件的差异,-i <字符数目>用来指定忽略的字符数目,当添加-i参数时必须指定值:

    $ cmp a.txt b.txt
    $ cmp -i a.txt b.txt  //error
    $ cmp -i 10 a.txt b.txt
    
  • ...

    省略号 ...表示该参数可以多次重复。如: which 语法:

    which [文件...]
    

    可以看到,which 命令可以重复参数:

    $ which brew docker
    => /opt/homebrew/bin/brew
       /usr/local/bin/docker
    
  • |

    管道符 |表示|两边的参数任选其一。

    crontab [ -u user ] { -l | -r | -e }