linux那麼多shell命令,包含了很多參數,這些參數有沒有規律可循?是否有些參數固定表示什麼含義?
我每次用grep都需要先man. 很多其他的命令, 比如mount之類的也是. 我不覺得這樣有啥問題.
1. 跟德語的動詞變位一樣,說沒有規律吧,-h 大部分是顯示用法,另一部分是對人類友好地輸出,-v 是詳細信息,-d 是調試等等。但一個陌生的命令過來,誰知道它是幹嘛的……
2. 沒有。當然 GNU long options 因為用了完整的單詞,所以含義比較固定。比如 --help 就是顯示幫助,--verbose 就是詳細。如果你經常為這個煩惱的話,建議使用 zsh。常用命令的大部分選項你輸入 - 然後按 Tab 它就給你列出來了,同時還有簡短的功能描述(bash 沒有這個)。是時候安利下tldr
別琢磨了,用 fish shell 吧,敲 tab 就出來了。
命令行選項有兩種格式,短模式比如 -h 對應的長模式則為 --help
可以看到下面兩種用法是等價的
root@debian:~# netstat --tcp --listen --program --numeric | head -n5
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 621/rpcbind
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4956/nginx -g daemo
tcp 0 0 10.8.0.1:53 0.0.0.0:* LISTEN 645/named
root@debian:~# netstat -tlpn | head -n5
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 621/rpcbind
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4956/nginx -g daemo
tcp 0 0 10.8.0.1:53 0.0.0.0:* LISTEN 645/named
-h --help 至少是統一的吧,其他參數用多了自然會記住
推薦看下反人類的megacli命令行參數!哈哈
單詞首字母 重複就是大小寫唄 --是完整參數單詞
大多數情況-h是help,當然也有例外。。。。
推薦閱讀: