我和Linux
文本轉載自公眾號? 碼農翻身
由Itoddy 投稿? ?經劉欣修改
電影中一個超級黑客坐在電腦面前,噼里啪啦地敲鍵盤,從不摸鼠標一下,幾十秒就能入侵超級安全的軍事系統。這是因為導演知道,作為人類, 我們應該本能地知道讓計算機圓滿完成工作的唯一途徑:是用鍵盤來操縱計算機。
先來講一個親身經歷,前不久我去面試,那家公司開發是使用的Linux系統(Ubuntu 12.04)。
當時第一輪面試是上機,第一道題是面試官告訴你一個文件名稱,你需要在電腦里面找到一個壓縮包,這個壓縮包里面包含著后面的題目,解壓它之后你才能做后面的題。
如果你linux玩的不好,可能就不好找了, 在Linux其實一行命令就可以搞定?locate filename | grep zip。? 簡單介紹一下locate,Windows下有注冊表這個東西, 它是Windows系統的一個配置數據庫。 而locate命令就是查詢Linux中的類似的數據庫(Linux會自動創建并且每天更新它),它會很快地找到文件,然后通過 | (管道,它會把數據從這邊送到那邊), 交付給 grep 命令,這是一個過濾器,后面跟著一個正則表達式。
這是一個很小的例子, 如果我之前沒有學過在Linux環境(用的虛擬機)下編程,可能就要懵逼了。
我剛開始學習Linux的原因主要有兩點:
首先命令行的技術是值得學習的, 它可以很大程度的提高你的工作效率, 此外它不像其他一些計算機技能,一段時間之后可能就被淘汰了,命令行知識卻不會落伍。 因為命令行經受住了長達幾十年時間的考驗(最初的電腦就是命令行操作,現在也是用命令行操作最方便)。
另一個原因就是,我要參加的ACM/ICPC的編程環境就是Ubuntu,所以就算是提前適應環境了。
從2016年10月,我正式轉為完全使用Linux系統(Ubuntu 16.04 & Gnome3)工作,到現在已經一年多了,這一年多來還是感受很多的。
身為一名碼農,我感受到了Linux所帶來的前所未有的便利,比如你去安裝MySQL軟件,如果你是windows的話,你需要去官網下載安裝包,然后一步一步地安裝。 不過在Linux上,只需要一行命令就可以了:?sudo apt-get install mysql-server?。
這里說一下,Debian系列的軟件包管理用的是apt, RedHat系列用的軟件包管理是yum, 軟件包管理是什么? 類似于Python的pip, Ruby的gem, nodejs的npm. 它會幫助你管理你的軟件, 這樣你就不需要分心來關注細節。包括軟件的更新、卸載,軟件包管理器都會幫助你搞定(僅僅是需要一條命令而已)。
安裝依賴庫也是很方便的,如果你喜歡一些小眾語言,Linux是絕佳的選擇,你會發現,在windows上安裝的問題,都不會出現(這點還需要切身體會)。
不過不要誤以為Linux就是用命令行來做事,其實不是,Linux也有GUI,Windows能做的Linux也能做, 并且可以做的更好(QQ就不要提了,騰訊在Linux發布了QQ2008之后也不知道什么原因,就沒有再更新了……)。
上網,你可以用Chrome,可以用FireFox等等; 聽音樂,你可以用網易云音樂;辦公,你可以使用Open Office; 編程開發就更不用說了,很輕松的安裝各種依賴庫, 而且Jetbrains公司也在Linux平臺發布了他們的產品,安裝數據庫也非常方便。
Linux照樣可以很漂亮,文章最開始的那張圖片(我的電腦桌面),我就覺得挺好看的,很酷。
還有一點我覺得不錯,我在Linux系統上從來沒考慮過安裝殺毒軟件的事情。也就是說系統本身是比較安全的。畢竟開源了嘛。那么多頂尖黑客去閱讀代碼,去修改系統bug。 而且黑客們也都使用這個系統,怎么可能不把它變得安全?而且windows上的病毒在linux上是不起作用的,嗯,病毒們也得考慮垮平臺了。
我很清楚的記得,小學時候,我家長培養我良好電腦習慣的時候,其中就有開機之后不要著急,用360之類的軟件去清理一下垃圾,每幾個月用一鍵還原精靈去還原一下系統。在Linux下面可不用做類似的事情。
現在主流的操作系統有微軟的Windows,蘋果的MacOS,和開源世界的Linux。對于Windows,只能說蓋茨先生非常有商業頭腦,容忍盜版系統的存在(尤其在中國),在上面建立了一個龐大的生態系統,所以現在才能占有第一的市場份額。
Windows系統是真正為普通用戶設計的系統。因為普通用戶不需要做那么復雜的事情,他們用電腦無非就是寫文檔,做ppt, Excel, 上網聊天,玩游戲......, 所以一個用戶友好的的桌面系統可以讓簡單的事情變得更簡單,這就足夠了。
但是一個程序員,而且是想要走的長遠的程序員, Windows是遠遠不夠的,? 學習一下Linux會加深你對操作系統的理解,尤其是對后端程序員來講,服務器用的操作系統幾乎都是Linux,? 無論是軟件的安裝和部署, 或者是系統監控和性能調優, 都離不開Linux , 掌握Linux能讓你更快地解決問題,完成任務。
你可能要說了,Linux上有兩大硬傷:圖形處理和游戲,確實如此,不過對于后端程序員來說,這兩處硬傷無關痛癢(正好少玩游戲)。 其他方面,linux系統確確實實對于程序員來說是很方便的。
如果你想學好Linux系統的話,那就直接在電腦安裝linux吧,不要使用虛擬機或者雙系統。因為當你那樣做了之后,你的大部分時間還是去使用windows而不是Linux。不要畏懼Linux系統,因為它也提供了桌面環境,你去使用Linux,也可以像windows那樣靠 鼠標點來點去的操作,然后慢慢地學習、適應命令行就好了。
(完)
喜歡本文的朋友們,歡迎長按下圖關注訂閱號程序員小灰,收看更多精彩內容
Linux Windows
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。