小虎55617193
初學入門Linux的話,可以先安裝一個桌面版的Linux虛擬機(Ubuntu、CentOS7等都行),以熟悉常用命令為主,待基本掌握環境後,可以研究一下內核源碼及常用服務器的搭建,加深理解和應用,下面我簡單介紹一下Linux的學習過程,感興趣的朋友可以嘗試一下:
01
安裝Linux
這裡建議安裝一個桌面版的Linux虛擬機(Ubuntu、CentOS7等發行版本都行),初學入門的話,如果對Linux完全不熟悉,安裝迷你版會非常不適應,許多功能和包都需要自己適配下載,可以先使用桌面版,不至於完全手足無措,後期熟悉環境後,可以使用無界面版,操作起來也會非常容易:
02
入門Linux
Linux虛擬機安裝好後,就是Linux基礎入門,這裡網上教程和資料非常多,像慕課網、菜鳥教程、B站等都有大量優質視頻和文檔,當然,你也可以找一本專業的Linux書籍,一邊學習一邊練習,《鳥哥的私房菜》就非常不錯,覆蓋面比較廣,講解的也非常細緻,常見的基礎命令和配置等都要熟悉掌握,這些是使用Linux的基礎:
03
深入Linux
Linux基礎熟悉後,就是深入Linux的過程,這裡可以學習和研究的東西就非常多了,基礎的Linux應用,包括服務器搭建、嵌入式開發等,都有非常光明的前景,當然,你也可以研究一下Linux內核,包括內存管理、進程管理、文件系統、驅動等,對於深入理解操作系統來說,可以說是大有裨益:
目前就分享這麼多吧,Linux入門來說,其實非常容易,只要你多用多練,很快就能掌握的,後期深入Linux,可以研究一下常見服務器的搭建以及內核源碼,對於自身發展來說,非常有益,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。
小小猿愛嘻嘻
對於這個問題作為一個在linux下開發代碼十幾年的人,忍不住說幾句
任何一門技能的學習,想要學精學透,都要付出巨大的努力,尤其是一些專業性比較強的技能,更需要持之以恆長期不斷的投入大量的精力去學習和實踐,比如linux的學習,就是一門專業性非常強的技能,如何能學好這項技能。
如何才能學好那?
思想上的重視
首先要明白自己為什麼要學習linux,學習linux能給自己帶來什麼,也就是說要知道學好linux對自己的重要性。當從思想上認識到一件事對自己的重要性有多大的時候,就會投入多大的精力去做這件事。
行動上的具體
有了思想上的重視,下面就需要具體的行動
(1)從基礎知識學習,打好基本功;任何一門新知識的學習,都要了解它的一些基本內容,基本概念等等,這樣就需要找一本介紹linux的專業書籍,先大致瞭解一下linux的相關內容,不至於後期學習linux的時候,連一些最基本的專業名稱都搞不懂。
(2)勤學多練,多多思考;linux是一門實用性非常強的技術,基礎理論的學習就是為了應用的更好實現,應用的實現反過來也會使理論的知識更加鞏固;找一套功能比較齊全的開發板,在開發板上實現各種功能,不斷地去實踐,帶著問題去尋找答案,當看著自己設計的功能在開發板上實現,會樂此不彼。
(3)拓展知識面,不斷強化練習;linux的應用非常廣泛,所有想要學好linux,需要學習拓展的內容也非常多,平長就需要關注一些專業的社區或論壇。理論知識學得再多,最終還得讓其變為現實,所以不斷的強化練習是少不了的,只有不斷地強化練習,才能做到“熟能生巧”,
總之,學好 Linux 絕非一朝一夕之事,時間、知識的積累是必不可少的
大學生編程指南
本人學習linux也有段時間了,說一下自己的感受吧。最早的時候,聽網上大神們說,學linux要在純命令模式下,才能學到真正的技術。於是本人也在自己的電腦上面安裝了純命令模式的centos,以期待自己能夠像技術大牛一樣。但是安裝完之後,面對著黑乎乎的屏幕只能乾瞪眼,真的不知道接下來要幹什麼,有種束手無措的感覺。聽說linux上面有自幫助文檔,可以嘗試敲敲help、info或者man之類的,但是面對著密密麻麻的英文,我這種過了英語六級的人看著都頭大,雖然能看懂,但是明顯感覺效率很低。所以這種情況下手頭最好有本參考書來指引一下。但是即使有參考書加持,在你遇到問題的時候,還是會比較懵逼,這時候最好的老師就是網絡搜索,本人也嘗試安裝了命令行模式的瀏覽器,但是使用體驗是真不如圖形界面下的瀏覽器。所以根據本人的實踐經驗,在你對linux有一定的瞭解之前,還是建議在圖形界面下學習吧。畢竟遇到問題可以隨時網上查資料。初學者真的不建議用純命令模式,學習效率是真的很低下。
綜合以上,本人建議初學者,在自己的電腦上面通過虛擬機安裝圖形界面的linux,圖形界面的linux也能讓你對linux有一個直觀的感受。所有的linux圖形界面發行版都會自帶terminal軟件,一般在桌面上右擊,打開的菜單中就會有terminal選項,學習的時候只需要在terminal中敲命令,遇到問題也可以很方便的通過網絡搜索獲取答案。
最後說一下本人對命令的理解,這是我在最開始學習linux的時候困擾最久的問題。很多教程上來就是叫你敲命令,ls、cd、pwd這些,反正都是讓你要多實踐。你也跟著書上敲,一遍一遍實踐。但是很多人都不明白自己一遍一遍敲的這些命令到底是個什麼東西,都是在懵逼狀態下跟著敲的,實踐的再多也是一知半解的。本人認為,在學習一樣東西的時候,最好能先了解一下基礎原理。這樣在學習的時候心裡有底兒。我們在命令行下敲命令的時候,其實是在跟一個叫shell的程序打交道,shell會根據用戶敲的命令名字,在環境變量PATH指定的路徑下尋找和命令名字匹配的一個可執行文件,找到後shell會創建一個子進程,在子進程中加載並執行該可執行文件。所以我們平時敲的大部分命令都是一個已經存在的可執行文件,那麼這個可執行文件放在哪裡呢,通過whereis就可以看到命令所對應的可執行文件的路徑了,例如要看看ls這個命令在哪裡,就執行 whereis ls就可以看到ls的路徑了。如果你把這個文件刪掉,那麼shell就會告訴你找不到這條命令。大部分命令都是一個可執行文件,但是我們在用whereis查看cd命令的可執行文件路徑的時候,shell的輸出是這個樣子的:“cd:”,竟然沒有路徑名,這是什麼鬼? 這是因為cd是shell的一個內置命令,不以可執行文件的形式存在。所以咱們平時敲的命令主要分為兩種,一種是以可執行文件存在的外部命令,一種是沒有可執行文件的內置命令。這裡的外部和內置是從shell的角度說的。那麼怎麼判斷一條命令是shell內置命令還是外部命令呢,用type查看就可以了,比如查看cd,在命令行下敲type cd,shell的輸出是cd is a shell builtin。那麼cd就是一條shell內置命令。\r\r說了這麼多,好像還沒有解釋shell是什麼東西,shell是一個命令解釋器,其實shell和咱們敲的這些命令都是一樣的,都是運行在linux內核之上的應用程序,在內核的眼裡都是內核要調度執行的進程。這些進程在運行之前,都是一個一個的可執行文件。只是shell是在linux啟動之後就會由init進程自動加載執行的。他也對應著一個可執行文件。可以通過查看/etc/passwd文件中每條記錄的最後一個字段查看每個用戶在啟動後執行的shell可執行文件路徑,也可以通過SHELL環境變量查看當前啟動的shell。echo $SHELL
希望本人的回答能對你有所幫助。文中觀點不一定正確,歡迎留言討論
linux基礎學習
歡迎投身到Linux大家庭!
朋友們好,我是系統軟件產品經理,計算機科學與技術工學碩士,“用大白話講解天馬行空的技術原理”踐行者。歡迎關注我,瞭解更多業界知識,和我一起探索數據後面的真相。
和學習任何一項技能一樣,要學好Linux要注重理論和實踐的結合,尤其是實踐非常重要。Linux系統的操作經常會涉及到使用命令行和shell腳本來實現一些奇思妙想的操作,所以熟練的使用常用的命令是學好Linux的關鍵。
首先你需要一本好的入門教材
這一本教材不一定大而全,但是一定要精煉有趣。因為開始學習Linux的時候對Linux系統不夠熟悉,並且使用習慣上和windows非常不一樣,所以需要保持濃厚的學習興趣。教材的內容最好是那種一個一個小實驗的,不會花費很多時間並且還很有成就感那種。這樣不至於在學習初期因為沒有成就感導致枯燥無味影響學習效果。一般來說初學Linux都推薦經典教材《鳥哥的Linux私房菜》。我個人不太推薦這本書,因為它上來就介紹了很多關於Linux系統的理論知識,學吧,非常枯燥,不學呢,又擔心會對後面學習產生影響。
我推薦的是劉遄(音chuan)的《Linux就該這麼學》
這本書非常注重實戰,基本上是手把手教你從怎樣使用虛擬機安裝Linux系統開始,到常用命令操作,一步一步再向配置各種服務和高級運維等話題深入。
這本書的電子版是免費下載的。請使用搜索引擎搜索:Linux就該這麼學。
其次你需要一個合適的Linux發行版
如果你意在考證,那麼CentOS7可以幫助你實現練習RHEL認證所需要的絕大部分技能;
如果你是自己作為日常生活或者工作開發的主力機,我會推薦你ubuntu或者Manjaro。前者是老牌Linux桌面系統,成熟穩定,網上相關的資料也很多;後者是基於ArchLinux的新秀,最近兩年很受熱捧,事實也確實很好用,我編寫這篇回答就是在Manjaro系統上完成的。Manjaro不但系統穩定流暢(我10年老筆記本現在都可以流暢的跑),而且還有眾多漂亮的桌面。
第三你需要一顆堅定持久的耐心
學習Linux不是一日而成一蹴而就的,因為Linux很多地方需要交叉查詢資料,多思考多動手,按照教材一步一步反覆練習,直到能在使用Linux命令的時候不再需要使用搜索引擎查詢用法了。
第四是要不斷實踐不斷提高
Linux是一個很龐大的工程,當你入門了之後,就要注意結合自己具體的項目實踐深入Linux的深層次理論——如果沒有項目,就自己給自己設計一個。對於非程序員來說,重要的部分是使用,那麼shell編程就是必學的,即便是沒有從事編程工作也要學。
第五逼著自己用Linux完成所有事
我從2009年正式從windows投入ubuntu9的懷抱,剛開始的時候很不習慣,總是想切回windows,享受安逸區帶來的便利。結果就是半年過去了仍然不能熟練使用ubuntu。然後我一咬牙,乾脆把windows格式化了,電腦上只留下ubuntu,逼著自己用ubuntu做事。從此我就再沒有用windows作為主力系統了。
總結
學無止境,Linux的學習也沒有止境,畢竟它是一個開放的不斷髮展的系統,自學Linux和參加培訓其實在本質上效率不會相差很多,只要找對路子,跟著我介紹的這幾個方向,一定可以事半功倍,早日修成高手。
產品經理老胡
Linux畢竟只是個操作系統,只要掌握了正確的學習方法,不會有多難。今天咱們就好好看看,Linux到底怎麼學才是正確的學習方法。轉自——馬哥linux運維
一、從命令開始從基礎開始
常常有些朋友一接觸Linux 就是希望構架網站,根本沒有想到要先了解一下Linux 的基礎。這是相當困難的。雖然Linux桌面應用發展很快,但是命令在Linux中依然有很強的生命力。Linux是一個命令行組成的操作系統,精髓在命令行,無論圖形界面發展到什麼水平這個原理是不會變的,Linux命令有許多強大的功能:從簡單的磁盤操作、文件存取、到進行復雜的多媒體圖象和流媒體文件的製作。這裡筆者把它們中比較重要的和使用頻率最多的命令,按照它們在系統中的作用分成幾個部分介紹給大家,通過這些基礎命令的學習我們可以進一步理解 Linux系統:
●安裝和登錄命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh
●文件處理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln
●系統管理相關命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last
●網絡操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup
●系統安全相關命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho
二、選擇一本好的Linux書籍
在各個Linux論壇中,我們看到最多的問題往往是某個新手,在安裝或使用linux的過程中遇到一個具體的問題就開始提問,很多都是重複性的問題,甚至有不少人連基本的問題描述都不是很清楚。這說明很多初學linux的人還沒有掌握基本功。怎樣才能快速提高掌握linux的基本功呢? 最有效的方法莫過於學習權威的linux工具書,工具書對於學習者而言是相當重要的。一本錯誤觀念的工具書卻會讓新手整個誤入歧途。目前國內關於 linux的書籍有很多不過精品的不多,筆者強烈建議閱讀《鳥哥的Linux私房菜 基礎篇》,現在出到了第三版。新手最好能夠買一本紙版書來仔細研讀,並認真做好學習筆記。當然,如果習慣看電子書,也可以從這裡 下載 PDF電子書。
三 、養成在命令行下工作的習慣
一定要養成在命令行下工作的習慣,要知道X-window只是運行在命令行模式下的一個應用程序。在命令行下學習雖然一開始進度較慢,但是熟悉後,您未來的學習之路將是以指數增加的方式增長的。從網管員來說,命令行實際上就是規則,它總是有效的,同時也是靈活的。即使是通過一條緩慢的調制解調器線路,它也能操縱幾千公里以外地遠程系統。
四、用Unix思維思考Linux
由於Linux是參照Unix的思想來設計的,理解和掌握它就必須以Unix的思維來進行,而不能以Windows思維。不可否認,windows 在市場上的成功很大一部分在於技術思想的獨到之處。可是這個創新是在面對個人用戶的前提下進行的,而面對著企業級的服務應用,它還是有些力不從心。多年來在計算機操作系統領域一直是二者獨大:unix在服務器領域,Windows在個人用戶領域。由此可見,用戶需求決定了所採用的操作系統。不管什麼原因,如果要學習Linux,那麼首先要將思維從Windows的“這個小河” 中拖出來,放入Unix的海洋。
五、學習shell
對於Shell(中文名稱殼),習慣Windows的讀者肯定是非常陌生的,因為Windows只有一個“Shell”(如果可以說是Shell的話),那就是Windows自己。用一句話容易理解的解釋就是,shell是用戶輸入命令與系統解釋命令之間的中介。最直觀的說法,一種Shell有一套自己的命令。舉一個容易理解的例子,Linux的標準Shel是Bash Shel;Solaris的shell是B shell;Linux的Shell是以命令行的方式表現出來的。讀者可能會不理解,Windows從命令行“進化”到了圖形界面,那麼Linux現在還使用命令行豈不是一種倒退?
當初我剛剛接觸Linux時就曾有過這種想法。可是後來發現,如果使用圖形界面,那麼分配給應用軟件的資源就少了,在價格昂貴的服務器上,能夠以較低的硬件配置實現同樣的功能是非常重要的。
下面舉例說明,一臺服務器有1GB內存,假設其中512MB用於處理圖形界面,若要安裝一個需要784MB內存的數據庫軟件,惟一的辦法就是擴大內存。但是如果使用命令行,系統可能只需要64MB內存,其它的內存就可以供數據庫軟件使用了。使用命令行,不僅是內存,而且CPU及硬盤等資源的佔用都要節省很多。所以,作為服務器使用命令行是優點而不是缺點。既然Shell有這麼多優點,就必須要學習它。
精緻的豬豬2
linux系列有兩種發行版本
1).Red
Hat系,包括RHEL、fedora、centos等
2).Debian系,包括Debian、Ubuntu、Mint等
想要學習的話如果個人學習,推薦使用Ubuntu。如果是工作的話,則使用centos學習
1.學習Linux,首先就是安裝Linux系統,通過鏡像安裝,這個過程可以先大概的瞭解一下linux的啟動過程,對一些概念有個大致的印象
2.在安裝好的系統之上,學習一些基本命令的操作,比如ls . 列出當前文件夾下的子文件和子目錄,cd /root 切換到root的目錄下,top命令查看一些進程的cpu,內存等資源的使用情況,ps命令同樣也可以查看進程的內存等資源使用情況,pwd查看當前所在的路徑等等,將這一些命令熟練的掌握
3.在掌握了linux的一些基本命令之後,那麼可以進行一些服務的安裝搭建練習,比如在Linux下安裝搭建DNS服務器,搭建nginx服務器等等
4.進階階段的話,可以嘗試進行內核參數的調優,比如tcp關閉連接之後保持高速通道,擴大linux系統的最大句柄打開數之類的內核參數的優化,sysctl -a可以查看目前已經加載的內核參數
5.學會了造句子,那麼之後就可以寫作文了。同理學會了linux的命令之後,那麼可以學習一下shell的基本語句,awk sed的學習,用shell實現一些特定功能的腳本,比如可以通過cat /proc/cpuinfo加上awk命令來實現對cpu相關信息的統計等
桓藝恆
學習linux系統就有了四種任務可選:
第一種是桌面linux的學習;
第二種則是作為服務器系統的學習;
第三種是移動設備系統知識的學習;
第四種則是嵌入式專用設備系統知識的學習。
學好Linux系統不容易。但是學好Linux系統絕對值得。而且,學好Linux系統後,Iinux系統足夠成為你一生的有趣職業。而桌面版本linux系統ubuntu也足以保證人們的辦公需要。現在地球上如火如荼的互聯網系統裡,90%以上服務器以至於智能終端中都奔跑著Linux系統,可以準備地說,地球上的互聯網系統是由linux系統支撐起來的。
windows系統最擅長的是桌面操作系統,當然這也是目前應用市場經濟收益最高的市場。但是linux系統起源於開源社區,組成linux的大部分系統都開源。因為開源的原因,全世界的編程高手都可以分享linux的歷史成果,也可以隨時為這個linux系統貢獻自己的研究高質量程序代碼!
信息安全被全球人類認識之後,各主權國家都開始開發自己的國防與文化安全的計算機操作系統,基於計算機系統的複雜性,絕大部分90%新系統都基於linux之上開發。從這種角度來看,未來linux桌面應用教育培訓人才的需要將特別巨大。類似於windows桌面辦公系統linux桌面版知識也將示來linux人才必須研究的任務。不過基於圖形桌面系統的linux辦公應用系統,比如電影制𠈠作系統、文字數學辦公工具、3D製作軟件等等輸掉件工具……
正是因為ubuntu有了精緻的圖形桌面系統,ubuntu不光可以進行桌面系統應用學習,同時也可以做為大型網絡開發平臺與服務器系統進行學習;linux系統還可以用作移動系統操作系統(比如安卓);linux系統還可以作用大量嵌入設備的操系統。
從這個角度來看來,學習linux系統就有了四種任務可選,一種是桌面linux的學習,第二種則是作為服務器系統的學習;第三種是移動設備系統知識的學習;第四種則是嵌入式專用設備系統知識的學習。
圖:linux服務器系統的知識框架
windows系統最擅長的是桌面操作系統,當然這也是目前應用市場經濟收益最高的市場。但是linux系統起源於開源社區,組成linux的大部分系統都開源。因為開源的原因,全世界的編程高手都可以分享linux的歷史成果,也可以隨時為這個linux系統貢獻自己的研究高質量程序代碼!
目前移動設備的安卓手機系統其實也是奔跑在linux系統之上。現行全球80%以上的移動應用APP都基於linux系統之上為人們提供娛樂服務、通訊服務和移動辦公服務。也因為安卓系統的風行,以往基於windows桌面辦公系統的絕大部分應用系統都重新發佈於適於安卓系統的輕型應用版本。
創新炎黃
我說說自己的經歷吧。
很小時候家裡剛有電腦的時候還是XP時代(剛開始有Vista),我不知道那裡看到了一本介紹各種系統安裝的電子書,裡面包括了win95,win98,winXP,Red Hat,紅旗等等系統的安裝教程。
當時就很感興趣,就經常拿老爸的2G手機搜這些系統相關的資料,那時候還找到了Tiny Core Linux,號稱全世界最小的Linux。在這之後就對Linux很感興趣,玩過號稱最好看的openSUSE,玩過感覺最簡潔的Fedora,還有最容易上手的Ubuntu,當然還有國產的深度系統、StartOS,臺式機玩Android X86,還廢寢忘食爬了幾個月的遠景論壇,搞黑蘋果。確實興趣是最好的老師,在這個過程中自己慢慢學了很多Linux知識。
後來慢慢往碼農方向發展,慢慢熟悉shell,學習Linux更加深入的應用,學習搭建服務器,學習常用的軟件,工具使用,慢慢覺得Linux真的是個偉大的操作系統。
JasonJe
安裝一個虛擬平臺
可以在win10下面安裝一個hype-v,具體操作如下,在控制面板---程序和功能---Hyper-V。
安裝一臺Centos7虛擬機,具體操作如下:
練習
Linux系統安裝好了,你就可以使用遠程工具SecureCRT連接上去執行命令,這個時候你就可以找一本書或者是一個網站,照著上面的命令一個一個的練習,這個過程是非常考驗人的,你一定要堅持下去,熬過這個階段你就會好過了,當然這個階段你需要找更多的資料和網站上的視頻來練習。
綜上所述
Linux不是一個可以速成的課程,本身Linux起點都高於Windows系統,請不要聽信機構的鬼話,什麼3月速成,那也就是讓你背個題庫考試而已,你要學習Linux就要靜下心來,對著那黑糊糊的屏幕去搗鼓,一個服務你只有不下20遍的練習你才能做到熟能生巧,以上只是個人見解。蘭亭溪山
說到linux系統,想到我剛接觸到linux,跟學生時期學一門課程樣,感覺好複雜,內容多,好難記。現在從事這liunx幾年工作經驗了。
下面交流下我的linux學習心得。
首先要了解linux系統和windows系統的區別。windows系統主要是圖形操作系統,操作上更直觀,個人工作,娛樂上用的多。
linux系統主要命令操作系統,90%後臺服務器都是用的linux系統。雖然現在也有圖形操作界面,但對一個真的從事linux系統工作的人,用的不多。
下面圖是linux系統文件系統架構,看起來是不是很複雜,不要急,等你入門了之後也就這麼回事。我這貼出來就更直觀展示與windows系統區別。
做一個新手來說找一本linux相關書籍過一下,不管能懂多少,記住多少,做到心裡有個數就行。主要了解linux系統,linux系統啟動過程,linux系統目錄結構,linux文件基本屬性,linux文件與目錄管理,linux用戶與用戶組管理,linux磁盤管理。
對linux有個大概瞭解後,自己電腦上弄個虛擬機裝個linux系統,再把學習linux知識,命令在虛擬機上操作,這個對linux系統架構,目錄結構,文件權限等深入理解有非常大的幫助,對linux命令的理解和記憶是最靠譜的,孰能生巧的必備工具。
linux系統熟悉後,就可以學習shell編程,懂shell編程的才稱得上linux大神。這裡就不多嘴怎麼學習了。網上有很多網站介紹怎麼學習shell編程的。
最後介紹下學習liunx相關書籍。《鳥哥的linux私房菜》(這本書也是我初學習linux系統的主要來源,不過有點老了),《linux從入門到精通》,《linux就該這麼學》等。