你可以更有效地控制你的操作系統(tǒng)
控制操作系統(tǒng),這可能是學(xué)習(xí)命令行最直接的一個(gè)原因了。即使你不是一個(gè)程序員,也可以通過學(xué)習(xí)命令行,使你的工作效率得到顯著的提升。比如:一些簡單的命令能夠幫助我們快速搜索或查看文件,而通過對那些簡單命令進(jìn)行組合,就可以完成更加復(fù)雜的任務(wù)。
以前,我要啟動(dòng)一套本地的開發(fā)環(huán)境,我總是需要手工地一個(gè)個(gè)去點(diǎn)擊那些服務(wù)逐一啟動(dòng)Web服務(wù)器、數(shù)據(jù)庫服務(wù)器、并打開IDE等等。這看起來每次只需要花2、3分鐘時(shí)間,但這是每天都需要進(jìn)行的操作,而且由于調(diào)試需要,一天里經(jīng)常需要重復(fù)啟動(dòng)好幾次。一個(gè)月下來我光花在啟動(dòng)環(huán)境上的時(shí)間就花去了2,3個(gè)小時(shí)。后來,我便學(xué)著寫了一個(gè)Shell腳本,其實(shí)非常簡單,就是按順序去一個(gè)個(gè)掉用那些啟動(dòng)服務(wù)的命令,這樣我每次只要點(diǎn)一下執(zhí)行那個(gè)腳本,整個(gè)環(huán)境就自動(dòng)啟動(dòng)好了。之后,我又進(jìn)行了一些改進(jìn),讓它能夠根據(jù)我輸入的參數(shù)執(zhí)行不同的任務(wù),這又進(jìn)一步提升了我的工作效率,開發(fā)的心情也頓時(shí)好了許多。
有了這個(gè)小小的成功經(jīng)歷之后,我又寫了好幾個(gè)Shell腳本,將那些原來需要重復(fù)操作的工作都讓腳本去完成了。正因?yàn)榈玫搅诉@些好處,我也經(jīng)常鼓勵(lì)身邊的程序員們?nèi)ゾ帉懽詣?dòng)化腳本,讓他們從重 復(fù)性的工作中解脫出來。
你需要用Git來做版本控制
Git已經(jīng)成為最被推薦的版本控制工具。幾乎所有的開源軟件都使用Git來做版本控制,即使是那些大型軟件企業(yè)也在越來越多地使用Git。因此,作為程序員,你必須掌握Git。
但Git最早是用來維護(hù)Linux內(nèi)核代碼的,它的所有操作也都是基于命令行的。雖然GitHub也提供了Mac和Windows上的客戶端,但它們的使用效率完全無法跟直接用命令行相比。而且,我想告訴你,如果你參與過開源項(xiàng)目的話,你會(huì)發(fā)現(xiàn)幾乎沒有程序員喜歡使用客戶端,他們都能夠非常熟練地使用命令行進(jìn)行操作。
不過,Git確實(shí)有些難于掌握,特別是它獨(dú)特的分支操作。你可以通過一些在線教程來進(jìn)行學(xué)習(xí),關(guān)于命令行,你也可以參考我之前寫的【簡明教程】Git 來熟悉那些命令的用法。
另一個(gè)好的辦法是通過實(shí)踐掌握這些命令,這里我推薦Try Git這個(gè)網(wǎng)站,你能在這里根據(jù)它的教程練習(xí)Git命令,15分鐘內(nèi),你就能夠掌握那些最常用的基本命令了。
既然學(xué)習(xí)命令行對于程序員來說那么重要,我們又應(yīng)該如何學(xué)習(xí)呢?
其實(shí),我們大多數(shù)人排斥使用命令行是因?yàn)槲覀儗κ褂妹钚袥]有信心,認(rèn)為很難像電影里那些黑客那樣非常熟練地使用命令行。而當(dāng)我們嘗試去學(xué)習(xí)時(shí),也總是會(huì)看到包含大量命令說明的書籍或教程,一下子我們可能就畏懼了。其實(shí),對于初學(xué)者來說,你根本不需要去看那些書,因?yàn)樗鼈兇蟛糠质菫橄到y(tǒng)管理員寫的。而對于一個(gè)普通程序員,你只需要從熟悉那些最常用的基本命令開始,比如 ls,cd,pwd,cp等(我在網(wǎng)上找到一篇不錯(cuò)的博客:linux常用基本命令),并嘗試反復(fù)使用它,當(dāng)你習(xí)慣并適應(yīng)使用這些命令以后,便可以更進(jìn)一步,嘗試寫一些自動(dòng)化腳本來幫助你完成一些工作。相信我,到那個(gè)時(shí)候,你一定會(huì)喜歡上命令行,而且會(huì)并被大家認(rèn)為是一個(gè)高手的。當(dāng)然,如果你已經(jīng)是一個(gè)命令行達(dá)人了,也不妨在評論中分享你的使用心得哦 _