為什么程序員更喜歡命令行接口
什么是CLI
CLI的全稱是Command Line Interface,也就是命令行接口的意思,它是以文本的形式處理一行一行的計(jì)算機(jī)命令。在操作系統(tǒng)中,我們可以通過shell這個(gè)命令行界面對(duì)操作系統(tǒng)進(jìn)行交互式訪問。
與CLI相對(duì)應(yīng)的是GUI,它的全程是Graphical User Interface,就是圖形用戶接口,也就是現(xiàn)在操作系統(tǒng)提供的圖形界面,正是用了圖形界面,計(jì)算機(jī)才得以普及,越來越多的普通用戶才能夠輕松地使用計(jì)算機(jī)。
高速地響應(yīng)
為什么程序員更喜歡命令行接口,因?yàn)镃LI相應(yīng)速度更快,人們通過鍵盤敲入指令,計(jì)算機(jī)就可以快速地進(jìn)行處理。反之,在GUI中,因?yàn)橹挥幸粋€(gè)光標(biāo)和2-3個(gè)按鍵,操作系統(tǒng)需要先計(jì)算光標(biāo)的位置,才能做出相應(yīng)的事件處理,因此速度上不如CLI。
在圖形界面中很復(fù)雜的操作,在命令行中可能只需要一個(gè)命令就可以實(shí)現(xiàn),此外,人們對(duì)于鍵盤按鍵的輸入速度往往要比移動(dòng)鼠標(biāo)快上好幾倍。
如果你細(xì)心觀察,很多圖形界面應(yīng)用的常用操作都提供了快捷鍵,因?yàn)殒I盤操作實(shí)在是太方便了。
處理復(fù)雜業(yè)務(wù)
當(dāng)我們要處理復(fù)雜的任務(wù)的時(shí)候,你會(huì)發(fā)現(xiàn)使用鼠標(biāo)點(diǎn)來點(diǎn)去很費(fèi)時(shí),這個(gè)時(shí)候你會(huì)發(fā)現(xiàn)使用命令行往往會(huì)事半功倍。在CLI中,我們可以對(duì)文本文件進(jìn)行任意次數(shù)的轉(zhuǎn)換,通過管道操作,我們可以對(duì)文本使用不同處理程序進(jìn)行處理,一連串的操作我們只需要在命令行中通過一條命令就可以實(shí)現(xiàn),這就是CLI的魅力。
腳本處理
如果你熟悉CLI的話,你就會(huì)發(fā)現(xiàn)你寫起腳本也會(huì)非常容易,腳本命令大多數(shù)情況下就是將多個(gè)命令行操作放到一起,形成一個(gè)有邏輯的處理過程。
無論你是寫bash腳本,還是寫一些lua腳本,當(dāng)你熟悉命令行操作的話,你會(huì)對(duì)它們感到很親切,通過命令行和腳本的結(jié)合,你會(huì)發(fā)現(xiàn)你可以處理任何復(fù)雜的業(yè)務(wù),并且處理起來得心應(yīng)手。
總結(jié)
很多程序員會(huì)說現(xiàn)在很多軟件都提供了圖形操作界面,使用CLI是不是有些落伍和過時(shí)了,答案是否定的。
如果你細(xì)心觀察,你會(huì)發(fā)現(xiàn),幾乎所有給程序員用的軟件,都會(huì)提供CLI接口,因?yàn)樗麄冎?,CLI才是最適合程序員使用的接口,他們使用起來才最方便。
而且現(xiàn)在很多圖形界面底層調(diào)用的就是CLI接口,而且有些用圖形界面很難去操作的命令,在CLI中可以非常方便地去實(shí)現(xiàn)。
如果你平時(shí)經(jīng)常使用mysql和git的命令行接口,你就會(huì)發(fā)現(xiàn)它們是那么地好用,查詢和更改可以非常容易,此外,在命令行中我們可以通過alias進(jìn)行別名命名,可以實(shí)現(xiàn)一個(gè)很長的命令只用幾個(gè)字母就輕松實(shí)現(xiàn)。
圖形界面不是不好,只是CLI對(duì)于程序員來說使用起來更方便,而圖形界面更多地是給那些非專業(yè)程序員來使用的。