歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

FreeBSD下的命令要注意參數順序


  在其它系統,像DOS上面,一個命令的參數順序可能不重要,但是在FreeBSD中,很多命令都要求參數的順序,順序錯了,命令可能就會執行出錯。
  Man一下tcpdump:
  tcpdump [ -AdDeflLnNOpqRStuUvxX ] [ -c count ]
[ -C file_size ] [ -F file ]
[ -i interface ] [ -m module ] [ -M secret ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ]
[ -E spi@ipaddr algo:secret,... ]
[ -y datalinktype ] [ -Z user ]
[ -y datalinktype ]
[ expression ]
   
  發現選項-w file應該在expression之前。如果把-w file放在後面,則執行就會出錯。
  同樣還有ssh和scp。
  ssh [-1246AaCfgkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]
[-D port] [-e escape_char] [-F configfile] [-i identity_file] [-L
port:host:hostport] [-l login_name] [-m mac_spec] [-o option]
[-p port] [-R port:host:hostport] [-S ctl] [user@]hostname [command]

  如果把-P 等參數放在hostname後面,命令同樣執行出錯。
  其實,最簡單的ls命令也要求順序。不信就輸入個命令:ls -A a* 和ls a* -A 試試,後面命令肯定會報錯。
  對系統內部工作機制不是很了解,所以具體是不是一定有順序,還不敢下斷論。
  但是一般的規律,好象應該符合對命令解釋的一般規則:“[]”內的不用考慮順序,“[]”間要考慮順序。
Copyright © Linux教程網 All Rights Reserved