-
1 # Java微服務
-
2 # 旅行貓Code
如何去學習學習
大多類似庖丁解牛,對事物的認識一般都是由淺入深、由表及裡的過程,循序才能漸進。學習 Linux 同樣要有一定的順序和方法,當然這也是你學習本教程的意義。如果你是初學者,那麼建議按照本教程的順序閱讀,不要跳躍,欲速則不達,揠苗也不見得能助長。另外,強烈建議做好讀書筆記,邊看邊記,邊練習邊思考,“學而不思則罔,思而不學則殆”,比勤奮更重要的是思考的能力,不要傻學、死學。養成看書的好習慣,學習類的圖書如果沒能看成自己知識的積累,就是白讀。一本書,可能看一遍是不夠的,多次閱讀,反覆實踐,才能印象深刻。筆者曾翻爛 8 本《戀愛寶典》,但是從沒向任何人表白,結果不言自明。實踐是檢驗真理的唯一標準,實踐出真知。方法有了,貴在堅持。制定好自己的學習目標,設定獎懲,確定詳細的時間進度表,開始行動!保持熱情,堅定目標,做好計劃,希望你、不會讓本教程變成你的收藏品,而是成為一套可能會改變你職場命運的技術指導教程,那將是我們最大的榮幸。
碰到問題怎麼辦任何人學習和使用 Linux 或多或少會遇到問題,很多人遇到問題的第一個念頭就是問人。沒錯!這可以快速解決問題。但是我們建議你,先嚐試自己解決問題,詢問別人獲得答案固然好,但是對於知識的積累和提升解決問題的能力並沒有幫助,不要做依賴別人幫助的懶蟲。在尋找答案的過程中,雖然會花費很多時間,也可能會遇到挫折,但久而久之你會發現,也許為了找一個問題的解答,你瞭解了 Linux 很多相關的知識,經驗也越來越豐富。記住,你不可能永遠有人問,也不可能永遠有人願意回答你。Linux 系統的一個非常大的好處是,當命令執行錯誤或系統設定錯誤時,通常會清楚地顯示錯誤資訊,告訴你哪裡出錯了,只要認真觀察報錯資訊,大概就知道問題出現在哪裡,應該如何解決了。有的操作步驟複雜,出現狀況時,回頭檢査一下,是不是前面步驟的命令敲錯或配置檔案改錯。Linux 的幫助文件是很好的工具,命令的選項、配置檔案的設定都可以從這裡找到答案;我們在提問前,一定要先在網路上尋找答案,借用一句廣告語"百度一下,你就知道",沒有人願意回答網上一搜就可以找到答案的問題。提問時,確認你已經做了上述事情,這有助於樹立你不是寄生蟲與浪費別人時間的形象。輕率的提問只能得到輕率的回答,或者壓根兒沒人理你。有的被詢問者常常不是很清楚初學者要問什麼,因為初學者沒有完整、清楚地描述問題。在求助他人時,說明要做什麼、做了什麼,列出完整的操作步驟、錯誤資訊或錯誤截圖,描述清晰,讓別人能看懂你的問題,否則筆者就算變成超人也幫不了你。在請教問題時,要注意禮貌。很多年輕人,多了一點理所應當,少了一些禮貌用語,你自然會感到世態炎涼,技術圈子沒有人性,畢竟人家不回答你是本分,回答你是人情。另外,千萬不要問那種令人頭疼的問題,如 Linux 怎麼備份、Linux 許可權有明陛、xx 服務怎麼配置、oo 指令碼幫寫一個……你問餃子皮為什麼這麼擀會破,我可以告訴你;你問怎麼包餃子,這就是你找茬兒了,先在網上找找,人生苦短,快用百度,然後照貓畫虎時哪個步驟有問題你再問……提問,也是一種智慧。
英文讀不懂怎麼辦每次在教授 Linux 課程時,筆者都要給讀者介紹兩個英文短語,一個是 "No such file or directory",另一個是 "command not found"。初學者在學習命令時問得最多的就是這兩個問題:輸入的檔案或目錄名稱錯誤、命令沒有被發現(命令敲錯了)。能看懂 Linux 的英文提示及英文文件非常重要。其實計算機英語很簡單,只要熟記了計算機專業英語單詞,高中畢業的英文水平就可以輕鬆閱讀英文文件了。即便你的英文水平實在太差了,連最簡單的計算機英文文件都看不懂,那麼在學習 Linux 的同時學學英語,每天從背一定量的單詞開始吧!筆者給各位讀者的建議是每天背 30 個在電腦上看到的不認識的單詞,30 個單詞不需要你會讀、會寫、會念,看到單詞知道意思即可,一般 3~5 個月,常見的計算機英語都能看厪。
忘記Windows的思維方式思想的轉變比暫時性的技術提高更重要,因為它能幫助你加快學習速度。很多人使用 Linux 時骨子裡卻還是 Windows 的思想,比如講 Linux 安裝都會有讀者問:“是把 Linux 裝在 C 盤嗎?”,可見被 Windows“毒害”之深。Windows 是一個優秀的系統,它的易用性非常好,不過也正是因為易用性好,使用者往往不瞭解自己所做操作的原理。大多數初學者已經習慣了使用 Windows 的圖形介面來完戚喿作,可是我們在學習和日後使用 Linux 時基本上在命令列模式下,這讓很多初學者很頭疼也很困惑。這裡的問題是"如何有效利用系統資源",X Window 本身相當消耗系統資源,這也就是在架設 Linux 伺服器時不啟動圖形介面的原因。如果你想深入瞭解 Linux,就必須學習命令列操作。
這種爭論是浪費時間而沒有任何用處的。對,你花了一下午,用許多事實“捍衛”了 “Linux 比 Windows 好” 這個說法。但是 Windows 的支持者並不會喜歡上 Linux,他們只是稍微退縮一下,然後找一些新的證據來跟你辯論。
什麼叫做“Windows 支持者”,什麼叫做“Linux 支持者”?我們為什麼要支援某一個而反對另外一個?你不需要為 Linux “囗囗”,不需要成為“Linux 支持者”或者“GNU傳教士”,GNU/Linux 已經用事實向世界證明了它們的威力,已經被大多數人接受。你只需要安安靜靜享受 GNU/Linux 給你的樂趣和自由。
你需要關心的不是你的工具是什麼,而是你用它做了什麼。精通 Linux 並不說明任何問題,因為它只是一個工具而已。如果你用 Windows 能很好的完成你的任務,那你就沒有必要費時間去熟悉 Linux。直到有一天你發現一項任務只有 Linux 才能完成的時候再換也不遲,因為你身邊的 Linux 的愛好者一定會很樂意的幫助你。
工具不是人,不應該對工具有感情。這是你在進行任何對工具的討論前需要提醒自己的事情。面對一些容易引起爭論的東西:Word 和 TeX;Emacs 和 VIM;MAXIMA,Mathematica 和 Maple;Gnome, FVWM 和 KDE;Mutt 和 Pine …… 一定要冷靜的對自己說:“我不站在它們任何一邊,因為它們不是人。”
各人的需要不同,生活的環境不同。對你來說好的東西,對別人來說不一定好,我們需要尊重別人的選擇。如果你當面說別人正在用的程式不好,沒有人會樂意接受你的意見。我從來沒有建議過我爸爸不用 Windows + WPS,而用 Linux + LaTeX 來處理他的英語試卷。因為 WPS 是我爸爸的選擇,他能用 WPS 編輯出很好的試題去測試他的學生,那就足夠了。
我曾經幫我爸爸做了一個 perl 程式,能夠自動從一種我自己設計的 markup 語言轉化成 LaTeX 格式的英語試卷。可以自動對試題編號,亂序排版選擇題的選項,自動生成答案表,生成老師用的顯示答案的版本,自動對短文改錯題進行最佳化分段,自動拼寫檢查,圖形化的配置方式…… 我爸爸高興的用了一段時間,可是後來他想用 WPS 裡的一種標題樣式,而我不在家,無法為他修改程式。所以他又換回了 WPS。這就像有人送愛因斯坦一罐剃鬚泡沫一樣,剛開始幾天,發現他神采飛揚,不斷誇這個東西真舒服。過了幾天,發現愛因斯坦又開始用白水剃鬍子了,因為剃鬚泡沫用完了,他懶得自己去買那個東西。這只是習慣問題。
不要強迫自己喜歡電腦的人總是有某些心理強迫傾向。有的人說:“鍵盤比滑鼠快。我不要用滑鼠。這樣才有高效率。” 所以他在編輯器裡無論什麼時候總是用 20w, 10j 這樣的命令到達目的點。他甚至覺得圖形介面是多餘的,乾脆 Xwindow 都不裝。
全部用鍵盤看起來的確比讓手離開鍵盤去拿滑鼠,再回來“快” 多了,但是快的擊鍵頻率不等於工作的高效率,對你的健康更沒有什麼好處。這隻能把你變成打鍵盤的機器。
當你正在檢查你的文章或者程式,思維正在隨著字元的含義流動,突然 20w, 10j 這樣的東西出現在你的腦子裡,是不是會打斷思路?不?那說明你當時思考的問題比較簡單,這些干擾還不會起到副作用。
其實很多人用電腦的時候,思想都受到某種教條的束縛,上面這個只是眾多教條中的一種。某些人制造了很多這種教條,用他的工作方式來要求別人,嘲笑方式跟他不一樣的人。比如有的人嘲笑其它人寫 C 程式不按 8 字元縮排,嘲笑別人在 vi 裡用方向鍵,嘲笑別人不知道 PVM 是什麼,嘲笑其它人用 JAVA, C# 這種由 GC 回收記憶體語言……
你不用管各種各樣的教條,電腦只是你的奴隸,你想怎麼用就怎麼用。沒有人能夠約束你,沒有人可以嘲笑你的工作方式。電腦明天就不再是這個樣子,所以今天你不用完全瞭解它。你沒有必要知道別人創造的一切,因為你需要留點時間自己創造些東西。Just have fun!
當你下次修改文章的時候,不妨試試悠閒的用滑鼠在你眼睛看到的地方輕輕點一下。
不要“玩 Linux”很多人用 Linux 的時候會感覺很迷茫,該用哪個發行呢?是不是我少裝了什麼?怎麼升級這麼快啊!怎麼這麼不穩定!每當遇到新的軟體他就想試用,每當新的版本出現,他就更新,然後用滑鼠在新的選單裡選擇從來沒見過的程式來用用。
其實你是為了Linux而使用Linux,而沒有找到正確的理由來利用 Linux。你首先要明確用電腦的目的,你用它是為了解決你的實際問題,而不是為了學習安裝作業系統,不是為了測試哪個版本好用,不是為了“趕上潮流”,更不是因為你硬碟太大了,你想多佔點空間。
如果你啟動了電腦之後不知道應該幹什麼,那麼最好先不要用電腦,因為你可能有更重要的事情需要做。
不用挑剔發行版本很多人剛開始用 Linux 的時候,總是在懷疑別的發行版本是否比自己正在用的這個好,總是懷疑自己以後時候會失去支援,不得不換用別的發行。所以很多人今天是 Redhat,明天又換成了 debian, 一會兒又是 gentoo, …… 甚至有的人在一臺機器上裝了兩個版本的 Linux,然後比較哪一個好。
其實你完全沒有必要這樣做,任何發行,只要你熟悉了,你在上面的工作方式幾乎是不會受到任何影響的。我以前一直用的 Redhat,當我有一天在我的一臺新機器上安裝 debian 時,我發現使用 Redhat 的經驗完全沒有浪費。我用了一個下午就配置好了 debian,使它服服貼貼的聽我的話,就跟沒有換髮行一樣。
Debian, TurboLinux, SuSE, Redhat, Gentoo, … 任何一個版本都是不錯的。很多人認為自己攢一個 LFS 是高水平駭客的象徵,但是不是每個人都有精力去了解所有細節。
如果你是用於個人的日常事物和科研,可以試試 debian。它是我見過的最方便的一個發行。
不要盲目升級不知道這是心理作用還是什麼,有的人看到比較大的版本號,就會很想換成那個。很多人的 Redhat 本來配置的很舒服了,可是一旦 Redhat 發行新的版本,他們就會盡快下載過來,然後選擇升級安裝。結果很多時候把自己原來修改得很好的配置檔案給沖掉了。新的軟體又帶來了新的問題,比如有一次我的 rxvt 升級到 2.7.8 就跟 miniChinput 衝突了,升級到 Redhat 8.0,發現 xmms 居然預設不能放mp3了,XFree86 的 xtt 模組在 I810 上有新的 bug,會導致 Mozilla 突然退出。
如果你已經配置好了一切,千萬別再整體升級了,這會浪費你很多很多時間的,不值得。有句話說得好:”If it’s not broken, don’t fix it.” 如果你的程式能夠完成你需要做的事情,你何必升級呢?
不要配置你不需要的東西如果你只想做一個像我這樣的普通使用者,主要目的是用 Linux 來完成自己的科研任務和日常工作,那就可以不用系統管理員或者網路管理員的標準來要求自己,因為當一個系統和網路管理員確實很辛苦。普通使用者學習那些不經常用到的複雜的維護系統的工具,其實是浪費時間,學了不用是會很快忘記的!
我不是一個合格的網路管理員,我的伺服器都只設置了我自己需要的功能,設定好 ssh, ftp 已經足夠了,那樣可以省去我很多麻煩。我從來不過度考慮“安全”,因為 Linux 預設已經很安全了。我沒有磁帶機,就不用管 tar 的那些稀奇古怪的引數了,czf, xzf, ztf 已經可以滿足我所有的需要。sed, awk, … 我也只會幾種常用的命令列。
不要習慣的使用 root 帳號。在需要的時候才 su!
這是很多剛接觸 UNIX 類作業系統的人常見的現象,他們不喜歡在管理系統的時候才 su, 而是一直用 root 帳號幹所有事情,配置系統,安裝程式,瀏覽網頁,玩遊戲,程式設計 ……
結果有一天,他不小心在某個系統目錄使用了 rm * … 後果不堪設想……
不要用商業的眼光來看 Linux。Linux 不是商業軟體,所以不要用要求 Solaris, Windows 那樣的眼光來看 Linux. 自由軟體的作者們從來不拉攏使用者,他們對使用者不負有任何責任。實際上在自由軟體的世界裡,“開發者”和“使用者” 並沒有明確的界限,大家是朋友。
自由軟體很可能只是滿足作者和他的朋友的需要,甚至是為了好玩而創造的。自由軟體不是完美的,自由軟體承認自己有缺點,它不會自吹自擂,矇蔽“使用者”的耳目。這種對作者責任的解脫激發了作者的創造力,他們不用過分考慮“向上相容”,他們往往比背上重重包袱的商業軟體結構更合理,技術更先進。
所以當你用某個自由軟體遇到困難的時候,不應該埋怨軟體的作者,因為他們對你並沒有義務。你不應該把自己當成一個挑剔的顧客,而要把自己作為這個軟體的顧問和一個和藹的建議者,這樣你才能理解作者寫這個程式時的快樂,在遇到問題時向作者反映,幫助他完善這個軟體,成為一個快樂的參與者。就像你的哥哥送你一個他用舊了的腳踏車,你應該珍惜這份友情,而不要在車壞了,或者騎車摔了一交的時候大罵你的哥哥。如果你真的不能使用這種合作的心態,那麼最好不要使用這個軟體。
這是一種先進的文化,它包含了互相合作,科學創新的精神。理解這一點不是很容易,很多人往往是因為不能理解這種文化而離開自由軟體。這對於作者來說並沒有什麼損失。
幹你的正事去很多人跟我說,你的網頁浪費我好多時間來配置這配置那,一會兒是 FVWM,一會兒是 Mutt ……
嗯……那些東西都是我有空的時候一點一點積累的,如果你想一次性搞定所有那些東西,恐怕得花你幾個星期甚至幾個月的時間!並不是一定要搞定所有這些東西你才能正常工作的。除非你真的非得利用某個程式,或者你閒著沒事,否則你可以不管這些東西。
上面幾條僅供參考
以上只是個人意見,不一定適合所有人。取捨由你了!
回覆列表
現在資料 影片很多,網上搜索一下會有很多。
沒有逼迫自己動手更快的了,直接把自己系統裝成linux 的,ubuntu arch deepin
最近QQ的linux版本也在維護了