【原文】https://www.toutiao.com/i6594291159911105031/前端
Ubuntu 我如今已經基本不開windows了.學習娛樂開發基本都在Ubuntu node
以前寫代碼的時候是在 Windows 上,某一天舍友大人裝完 Ubuntu 回來,給我 show 了一下,看了第一眼,那時以爲好神奇好酷炫,因而在某天我也裝了,那時仍是 Ubuntu 12.10,而後擱置了一年╭(╯3╰)╮,轉眼過了一年,升級到 13.04 後終於下定決心在 Ubuntu 上幹活,推薦題主裝 64 位的。 python
說了這麼多,體驗來了! linux
1. 裝軟件:剛開始什麼 deb、tar.gz、.run 徹底看不懂,最後發現一條神奇的命令 git
sudo apt-get install 程序員
什麼 emaces、vim 無痛安裝。固然若是你選擇的是 deb 格式的安裝包的話,我推薦 GDebi 這個軟件,安裝 deb 很是的方便。 web
2. 開發工具:咳咳!做爲一個前端工程師偏心的編輯器是要的,Sublime Text: The text editor you'll fall in love with 什麼!sublime 輸入不了中文! 固然一個編輯器可能知足不了你寫代碼的慾望,vim 的配置:spf13-vim - The Ultimate Vim Distribution chrome
3. 娛樂:聽課基本上就是豆瓣 FM 還有網易雲音樂。 docker
4. 通訊:QQ 用的是 wine QQ,用着還好 shell
我從windows轉到ubuntu有兩三個月了,最開始確實有不少不習慣。
諸如
1.ubuntu經常開機就遇到的 內部錯誤 是麼東西。
2.在編輯器裏中文輸入法各類不能使用是怎麼回事
3.網頁版qq真的很差用啊,wineqq又各類掉線
4.想看個視頻 字幕沒有咋辦啊 在線匹配字母的效率也過低了吧
5.讓作個ppt, linux下的ppt真心很差用。。 要修改個圖片沒有photoshop怎麼辦?GIMP試了一下,有點無從下手
6.啊,想玩遊戲了,讓我打兩盤魔獸吧,紅警也行
好處
1.想要安裝個軟件,真心方便,apt-get 一條命令搞定。文件的管理,配置等等終端裏一條命令搞定。
2.想體驗最新的版本,也是超方便,終端裏一條命令搞定。
3.終端或者說命令行真強大(恩)
4.對程序員來講,確實也很方便。。。(這個怎麼說呢。。 其餘人補充吧)
5.不用擔憂病毒了什麼的
可是還不能用qq,玩魔獸,因此如今我用virtualbox虛擬機裝了個xp系統。
而後開啓virtualbox的無縫模式,以後的事。簡直跟同時用兩個系統同樣。
1.virtualbox安裝xp 給的配置並不高,但足夠其運行。主要是分給其兩核+1G內存+32M顯存。本人的電腦配置是I5 3520(好象是。)+6G內存+HD4000+GT630 ,因此剩餘的配置足夠運行調試程序了。
2.替換了ubuntu 14.04裏默認桌面成gnome3,這個穩定性確實很好,並且對中文輸入法的支持也很不錯。
3.不要使用ubuntu kylin.雖然增長的對中文的支持,可是各類很差用。
綜合來說 10.04版本的綜合體驗是最好的。
而後我就切換到 Fedora了,一直到如今。
Ubuntu的系統升級也是至關酸爽的,尤爲是半途中 Adobe, LibreOffice 下不下來什麼的。就算能下下來,升級過程也會問你不少的傻逼問題,深夜睡不着的時候能夠嘗試折騰一下仍是至關有趣的。你能夠猜想一下下一個問題會在幾個小時內問。固然了,固然了,這些都是小事情,深夜看球,或者看個WWDC什麼的不是也得熬夜嘛。其實升完級之後發現無線網絡驅動不起來了才真的酸爽呢。
驅動無線網絡須要從新升級內核,發行版裏的內核永遠都是連不了無線的,聽說這叫FEATURE,這不叫BUG。從新升級內核須要可以聯網,無線網絡不通能夠連有線,上京東買網線須要聯網。別說什麼手機上京東就買了,Ubuntu 1x的時候移動互聯網還不知道在哪兒呢。固然還有一個終極解決辦法,單位確定是有網線的,對吧?升級Ubuntu這麼高風險的事情固然是休長假的時候纔會乾的。不要跟我說到中關村買根線不就完了嗎?坐466來回四個多小時買根線就爲升級個Ubuntu我還不如跑趟單位呢。
若是是軟件開發的話,是沒有什麼問題的。畢竟遊戲資源比較少這個問題和平常工做的相關度不大,因此沒什麼不能夠的,並且對於開發者來講我的推薦使用「類 UNIX 系統」,Linux 也好, Mac 也好,就是不要使用 Windows,除非你開發的是 .net,緣由會在下文介紹。
Linux 坑仍是有的,Ubuntu 本身的坑也是同樣的。
年前重裝過系統後,如今的系統每次開機都要顯示出現了問題,雖然我都沒感受出來出現了什麼問題,天然也不影響正常使用。若是你想折騰電腦的話,推薦你去使用 Arch Linux,這樣你會更有快感的,可是做爲實用的系統的話仍是用 Ubuntu 就能夠了。我絕對不會告訴你,我只用兩年更新一次長期支持版本。既然要工做,仍是少折騰爲妙,畢竟時間仍是很重要的,特別是你可能尚未什麼 Linux 平臺的經驗。
在 Linux 這個平臺上,坑仍是有的,我我的感受比較突出的坑就是刪除文件,特別是系統文件。曾經爲了刪除一個軟件的殘留文件把主目錄給刪除了,後來經過複製了一份 Guest 帳戶的主目錄纔給恢復了,後來又幹過把 /usr/bin 目錄給刪掉了,經過安裝光盤纔給恢復的。因此在這個平臺上刪除文件的時候最好當心點,特別是使用 root 帳戶的時候。特別是 Linux 的文件是能夠在使用的時候修改的,因此可能你刪除了某些文件你都不知道,可是等到下次開機的時候就坑了,而且你還不知道爲何。所以除了準備了一個安裝光盤外,對於重要的數據我都會備份,以防下次不當心誤操做後的帶來的重大損失。若是你不幸真誤操做了,詢問 Google 會是一個很好的習慣。
另外,我最先裝的時候,是用 Windows 系統來引導的,這直接致使了系統檢測不到筆記本的電池,最後形成關機的時候只會切斷電源關不掉屏幕。到了後來用了 Grub 來引導雙系統後以上問題就都消失了。因此,不少時候在 Linux 上的感受就是爲何會這樣?怎麼又好了……
從我用 Ubuntu 到如今,遇到了不少的坑,本身也重裝過不少次系統了,目前正在積極的幫身邊的同窗裝系統中(由於能夠突破瑞捷,開啓 wifi)。
爲何不推薦使用 Windows 呢?
(1) 考慮了國內的大環境。Windows 太糟糕,太糟糕。個人 Windows 裏裝了一個360,由於我自從安裝了「獵豹wifi」以後就常常被金山殺毒給欺騙了,不得不用360來清理。而今天360贈送給我360手機助手和360移動版,因此我決定讓它去面壁了,畢竟太主動了我懼怕。而我又比較懶,比較粗枝大葉。
(2) 另外 Linux 可以取代 Windows 最大的理由就是 Linux 的 Shell。以前用 Shell 寫了一個爬蟲把全校學生的入學照片都爬了下來,還順帶統計了一下沒有修改默認密碼的學生數,感受無比很方便。這種方便指的是編寫方便,使用方便。而若是換到 Windows 平臺,我真沒有想到有什麼好的解決方案。
(3) Linux 文件特殊的結構也是一個優點。在 Linux 下要搜索文件能夠經過命令來查詢,而若是在 Windows 下,你要面對那麼多的分區,每次查找文件的時候老是慢得要死。並且 Linux 也更方便管理,本身的信息就放在主目錄下,命好名字,每每都是很好找的。另外 find 命令也是很強大的。
(4) 字符編碼,中文的問題太嚴。如今是跨平臺的時代,不是 utf-8 的都太折騰,惋惜 Windows 下就不是 utf-8,爲了保證兼容我還得下個文本編輯器,這樣的體驗實在太很差,另外 Git 這樣的工具也是基於 Linux,更加堅決我放棄 Windows 的決心。因此目前除了玩遊戲,已經不怎麼用 Windows 了。
Ubuntu 如何入門 ?
我的感受 Ubuntu 已經很像 Windows 了,若是你不用命令行的話,它其實就是一個另類的 Windows(操做體驗上來看是這樣子的)。因此,你能夠經過點擊鼠標的方式上上網,安裝安裝軟件等。我以爲剛開始使用的時候,你是不須要去關注命令行的。由於,當初讓我選擇 Ubuntu 的緣由是這個系統能夠在校園網裏很方便的開 wifi。因此你在前期你能夠像使用 Windows 同樣來使用它,不然你會被太多太複雜的命令行嚇走的。就如我第一次接觸那樣的,借了一本命令行的書成天敲,敲到最後就記住了:
sudo shutdown -h now
而後我就放棄了。直到後來能夠開 wifi ……
因此,對於初學者仍是先培養興趣就好。而後就能夠開始安裝軟件了,這樣你就會記住一大堆的命令。什麼 apt-get ,dpkg ,tar 等等。因此,你也就入了門。
以後你可能得配置配置系統的環境,由於有些軟件就是須要系統環境,這下你就能夠學習如何使用 Vim 這樣的工具了。再往下,若是你有興趣的話,你能夠學習學習 wget,curl 這樣的命令,當你發現了 awk,sed 後你會深深的喜歡上這些工具的。這時候你能夠再學學管道的知識。這樣你 Linux 的基礎也不算太差了。並且不會浪費時間。
固然做爲一個開發者,你確定不會知足與這樣,你能夠去嘗試嘗試 LAMP,用手輸入簡直是麻煩得不得了,因此你以爲你應該寫個腳本,更況且,有可能明天系統又崩潰了。因此你要學習 Shell。後來,你會發現你能用 Shell 作更多,這時候 Linux 真的已經擊敗了 Windows ,由於可能在開機的時候,你的電腦就已經開始在跑你寫下的腳本,而在 Windows 上,你根本不知道這要怎麼作,或者它的學習成本過高了。
在Linux世界混,你看有多少跨平臺軟件不是支持WIn+MAC+Ubuntu+源碼安裝???
去開發Rails去開發Django以及各類環境配置,ubuntu就幾條命令就搞定了,用別的還須要熟悉linux各類奇葩的坑(沒折騰過7-8個Linux系統,我敢這樣說?)
強調一下重點:
從04年開始用Linux,那時候用Fedora 4;06年工做開始用Solaris;08年開始用OSX。如今平常使用OSX,有一臺uBuntu 16.04做爲開發備用機。
Vim用的很熟練,平時寫腳步:python,shell,本身的tool就用vim,不用什麼插件。可是真正作Java,Rails,Node的開發,我用IntelliJ,RubyMine(Node也能夠用RubyMine)。
基本結論:uBuntu的桌面不太好用,比OSX差很遠。可是有時候要測試真正的平臺特性,譬如:docker,譬如node的ps-node庫,我就會用這臺uBuntu。我SSH上去,跑各類腳步,平時基本不須要界面。偶爾須要看看測試覆蓋率,我會用 python -m SimpleHTTPServer 9000開一個server,而後用chrome連上去看,很方便;若是再須要界面,我優先推薦X11 Forwarding。
Vim就是一個編輯器,不必把他整成IDE。他最大的優點就是哪裏都能用,編輯速度快。可是查看代碼覆蓋率,調試,重構,不是他的強項。IntelliJ Community免費,RubyMine 1年200$(我的用戶$89一年)。Oh-My-Zsh我卸載了,由於它啓動有些慢,或者說我不須要它那些我用不上的功能。我用原生的zsh,配合zsh-git-prompt,zsh-history,autojump,再把history設成10w條,而後alias一堆經常使用的路徑:譬如godev,就是到dev目錄,就足夠了。另外須要說明,有些tool在zsh上安裝完成以後須要手動作些改動(這一點zsh不如bash,由於用bash的仍是多)。tmux我每天用,但其實我不多使用分割窗口的功能,因此其實screen更適合我:由於screen能夠加密碼。但如今機器是我一我的用,因此就繼續用tmux了。
結論就是:若是你和我同樣寫Server程序,作雲端跑的程序,你應該選擇OSX或者