1. 程式人生 > >Linux基礎入門,小白該如何操作Linux系統?

Linux基礎入門,小白該如何操作Linux系統?

之前一直以為Linux和Windows差不多,但是學習了Linux之後才發現兩種作業系統之間差距非常大。

  Linux只是在硬體之上的核心和系統呼叫,就連我們在Windows裡習以為常的圖形介面都是Linux上的軟體。在使用Linux的時候,我們都習慣於使用終端和命令列進行操作,而不是像Windows那樣的圖形介面裡的滑鼠鍵盤的共同操作。物理機系統可通過[Ctrl]+[Alt]+[F1]~[F6]切換6個純命令列介面的終端,通過[Ctrl]+[Alt]+[F7]從終端切換回圖形介面。而且學習之後我才知道,Linux裡面一切皆檔案,相對於Windows裡的檔案字尾名區分檔案型別,Linux不通過後綴名區分檔案型別,可以通過file命令檢視檔案型別。

  在使用Linux的時候,我們不直接和系統打交道,而是通過Shell(命令解析器)。Shell就像一個殼隱藏了作業系統的底層操作。通俗來講,Shell就是可以接受使用者輸入命令的程式。在UNIX/Linux中比較流行的常見的Shell有bash,zsh,ksh,csh等等,Ubuntu終端預設使用的是bash,預設的桌面環境是 GNOME或者Unity(基於 GNOME)。

  在Linux系統中有很多十分方便的快捷命令。

Tab:可以用來補全命令、目錄、或者命令引數,連續按兩次還可顯示所有能匹配到的結果;
[Ctrl+C]:用來終止當前程式並且不退出終端;
[Ctrl+d]:鍵盤輸入結束或者退出終端;
[Ctrl+s]:暫定當前程式,暫停後按下任意鍵恢復執行;
[Ctrl+z]:將當前程式放到後臺執行,恢復到前臺命令為fg;
[Ctrl+a]:將游標移至行頭,相當於home,[Ctrl+e]相當於[end];
[Ctrl+k]:刪除從游標所在位置到行末;
[Alt+backspace]:向前刪除一個單詞;
[shift+pgup]:將終端顯示向上滾動,[shift+pgdn]向下滾動。
  在Linux中,萬用字元主要是“*”和“?”,可用來對字串進行模糊匹配,終端裡的萬用字元由Shell完成。

  Linux中還有一部分特別重要的命令:

man命令:man命令是Linux中一個十分重要的幫助指令,內容包括計算機程式(庫和系統的呼叫),正式的標準和慣例,抽象的概念,通過執行man命令呼叫手冊頁。man命令手冊比較重要的是前三個:1.一般命令;2.系統呼叫;3.庫函式,涵蓋了C標準函式庫。man命令如果加上數字引數,可以指定從哪本手冊中搜索幫助。資料Linux資料分享群119599574
ls命令:用於顯示當前目錄下的檔案,可以通引數[-a]顯示隱藏檔案(Linux下隱藏檔案皆以‘.’開頭)。
cd命令:Linux下一切皆檔案,因此在終端中[cd]命令就顯得尤為重要。這個命令可以通過絕對路徑或者相對路徑進入到你想進去的目錄中。
cp命令:用於終端中檔案或目錄的複製操作。
rm命令:用於終端中檔案或目錄的刪除操作。
cat命令:用於正序列印檔案內容到終端,與之相反的tac命令倒序列印問價內容到終端。
declare命令:用於聲名一個變數,用‘=’號賦值,用echo和$命令讀取變數的值。
  Shell中執行的大部分命令都將以審理了的子程序的方式執行。環境變數有3種:1.當前Shell程序私有使用者自定義變數,只在當前Shell中有效;2.Shell本身內建的變數;3.從自定義變數匯出的環境變數。

小白該如何學習Linux作業系統

一、 選擇適合自己的Linux發行版

談到Linux的發行版別,太多了,可能誰也不能給出一個準確的數字,但是有一點是能夠必定的,linux正在變得越來越盛行, 面臨這麼多的Linux 發行版,打算從別的體系轉到linux體系來的初學者可能會感到迷惑,即便是忠誠的 Linux 使用者也沒有時刻和精力去挨個測驗,因而初學者在學習linux的之前,需求有一個清晰的方向,挑選一個合適自個的體系開端學習linux至關重要!下面咱們就分類介紹。大資料Linux學習群142973723

1.1 初學者入門首選-redhat系列
在學習redhat系列linux之前,首先要了解以下redhat linux各個發行版本之間的關係。

1.Red Hat Linux
Red Hat Linux是redhat最早發行的個人版本的linux, 其1.0版本於1994年11月3日發行。雖然其歷史不及其它linux發行版本悠久,但比起很多的Linux發行套件,Red Hat 的歷史悠久得多。自從Red Hat 9.0版本釋出後,RedHat 公司就不再開發桌面版的 Linux發行套件,Red Hat Linux停止了開發,而將全部力量集中在伺服器版的開發上,也就是 Red Hat Enterprise Linux 版。2004年4月30日,Red Hat公司正式停止對Red Hat 9.0版本的支援,標誌著Red Hat Linux的正式完結。原本的桌面版Red Hat Linux發行套件則與來自開源社群的 Fedora進行合併,成為 Fedora Core 發行版本。
目前Red Hat分為兩個系列:由Red Hat公司提供收費技術支援和更新的Red Hat Enterprise Linux,以及由社群開發的免費的Fedora Core。

2.Fedora Core
Fedora Core(縮寫為FC)被紅帽公司定位為新技術的實驗場地,許多新的技術都會在 FC 中檢驗,如果穩定的話紅帽公司則會考慮加入 Red Hat Enterprise Linux 中。
Fedora Core 1釋出於2003年年末,而FC的定位便是桌面使用者。FC提供了最新的軟體包,同時,它的版本更新週期也非常短,僅6個月。由於版本更新頻繁,效能和穩定性得不到保證,因此,一般在伺服器上不推薦採用Fedora Core。
其實可以這麼認為,Fedora就是Red Hat發行Red Hat企業版linux的一個實驗版本,以使用者做測試,為Red Hat企業版釋出奠定基礎。

3.Red Hat Enterprise Linux
Red Hat Enterprise Linux(縮寫為RHEL,Red Hat的企業版)。Red Hat現在主要做伺服器版的linux開發,在版本上注重了效能和穩定性以及對硬體的支援。 由於企業版作業系統的開發週期較長,注重效能、穩定性和服務端軟體支援,因此版本更新相對較緩慢。
RedHat Enterprise Linux又分為4個版本 Advanced Server(AS)、ES Workstation(WS)、Desktop,它們的差別不太大,只是功能方面的差別。

4.Centos
CentOS全名為“社群企業作業系統”(Community Enterprise Operating System)
CentOS產生的背景:
Redhat釋出Redhat 9。0後,不再開發redhat 10,11……,全面轉向Redhat enterprise linux(簡寫為rhel)的開發,和以往不同的是,新的redhat企業版要求使用者先購買lisence,redhat同時承諾確保產品的穩定性,安全性。rhel二進位制程式碼不再提供下載,而是作為redhat 服務的一部分,但原始碼依然是開放的。在這種情況下,出現了centos、whitebox、dao 等等一批open source的企業版本,其中以centos最為活躍。
下面講述centos是如何製作產生的:
CentOS社群將Redhat的網站上的所有原始碼下載下來,進行重新編譯。由於AS/ES/WS是商業產品,因此,必須將所有Redhat的Logo和標識改成自己的CentOS標識。比如將AS4.0原版的SRPM原始碼編譯後,換上Centos社群的logo,這樣就成為了CentOS 4.0。Redhat Enterprise Linux AS4 Update1的原始碼編譯後,就成為了CentOS4.1。AS4 Update2的原始碼編譯後,就成為了CentOS4.2等等。CentOS就是這樣產生的。
因此,可以說CentOS就是Redhat的AS/ES/WS的免費版本,使用centos可以獲得與redhat 企業級linux一樣的功能和效能。同時centos還提供免費的長期升級和更新服務。因此, 在眾多的RHEL的克隆版本中,CentOS是很出眾很優秀的。
雖然說centos是RHEL的克隆,但並不是一模一樣,所說的克隆是具有100%的互換性。對於centos其實不盡相同,RHEL的軟體在CentOS上面不能保證100%的正常工作。
在瞭解了Redhat系列各個版本的差異後。其實我們就找到了為何選擇Redhat linux作為初學者入門學習的理由了。
首先:在國內,乃至是全世界的Linux使用者最熟悉、最耳聞能詳的發行版肯定就是Red Hat了。因為Red Hat是linux界的“老大”,美國Red Hat公司釋出的Red Hat linux是商業上運作最成功的一個Linux發行套件,因此Red Hat公司發行的linux值得信任, Red Hat linux的功能和效能也毋庸置疑。
其次:Red hat現在擁有龐大的網路使用者群體,網路linux資源基本90%都是基於Redhat linux的,如果您在學習過程中遇到任何問題,隨便搜尋網路,就有成千上萬的答案展示在你面前。
第三: Red Hat linux系列版本相互補充,相得益彰:如果你第一次接觸linux,那麼建議你先安裝Fedora Core, Fedora Core安裝簡單,對硬體支援很好,介面也很華麗,同時也可以體驗Redhat linux的最新功能;如果你對linux有一定的瞭解,需要深入學習,建議你使用CENTOS系統;如果你是在做linux企業級應用,建議你使用RHEL版本。
最後: redhat應用範圍廣,具有典型性和代表性,很多系統(例如紅旗redflag,中標linux,Oracle釋出的Enterprise Linux )都是以Red Hat linux為基準的,因而,可以說學會了Red Hat linux,就能觸類旁通,其它類似的linux系統也能很快掌握; 現在周圍學習linux的一般也都是以redhat linux為主,這樣交流方便,學習中出現問題,更容易得到解決。同時redhat linux的安裝和使用也是最簡單的,因此,基本上不會在”裝系統”上浪費過多時間。
大資料Linux學習資料分享群119599574

1.2 企業級應用首選-suse linux
企業級的應用追求的是可靠性和穩定性,這就要求構建企業級應用的系統平臺具有高可靠性和高穩定性。企業級linux的發行版本就是解決的這個問題。
SUSE是德國最著名的Linux發行版,在全世界範圍中也享有很高的聲譽。2003年11月4日,Novell公司對外宣佈將收購SuSE。2004年1月該收購順利完成,Novell同時將SuSE正式命名為SuSE Linux。 Novell公司收購suse,加速了suse linux的發展, suse linux無論在桌面市場還是伺服器市場都更加專業化,據不完全統計,suse linux現在歐洲linux市場佔有將近80%的份額,大部分關鍵性應用都是建立在suse linux下。由於suse 進入中國時間較短,同時加上suse在中國的營銷模式短時間不能被國內接受,因此現在suse在中國的市場份額還不是很大,但是這些並不影響suse linux高可靠與穩定性的事實,隨著suse的發展,相信suse linux在中國的應用會越來越多。

1.3 遊戲娛樂首選-Ubuntu Linux
說到linux桌面市場, Ubuntu Linux幾乎佔據了桌面linux的半壁江山, Ubuntu Linux主打linux桌面之最,介面美觀, 簡易而不失華麗,如果想在linux下進行娛樂休閒,Ubuntu Linux絕對是首選。
Ubuntu 的安裝非常的人性化,只須按照提示一步一步進行,安裝與Windows一樣簡單!並且,Ubuntu被譽為對硬體支援最好最全面的Linux 發行版之一,許多在其他發行版上無法使用,或者在預設配置時無法使用的硬體,在Ubuntu上都能輕鬆搞定。因此你可以像安裝windows一樣輕鬆的安裝Ubuntu。盡情體驗Ubuntu linux帶來的樂趣。

1.4 linux作為伺服器是發展趨勢
在上面的章節中主要介紹了幾種最常見的linux發行版本,其實linux的發行版本還有很多很多,比較常見的還有Debian GNU/Linux, Mandriva, Gentoo,Slackware, Knoppix,MEPIS, Xandros,國產的紅旗redflag,中標linux等等,這裡不再一 一介紹,其實縱觀linux的各個發行版,linux發行版本無非是朝著這兩個方面而來,一是伺服器市場,而是桌面市場。
以Ubuntu Linux為代表的linux發行版走的是桌面市場路線,雖然它們給使用者帶來很多驚喜,更新也很快,但是由於桌面市場有著windows這樣強勁的對手,linux桌面發展舉步維艱。
以redhat系列版本為代表的linux發行版現在主要面向企業級linux的伺服器市場,重點開發linux的企業版本,suse linux同樣主要力量也集中在開發企業級linux上面,其它的例如國產redhat flag,中標linux等都重點投入在了linux伺服器市場。linux兩大發布廠商現在都走了linux伺服器市場的路線,可見linux作為企業級伺服器有著巨大的發展前途,據權威部門統計,linux在伺服器市場的佔有率每年都在持續上升。
其實很多linux的應用都是針對linux伺服器的,本書的講述也是主要針對linux在伺服器下的各種應用展開的。

二、 養成良好的linux操作習慣

當你進入linux的學習之後,請不要用windows的工作方式來思考問題,因為它們之間確實有很大的不同,比如它們之間的記憶體管理機制,程序執行機制等都有很大不同,這些異同點將在下面章節陸續講述,因此,拋開windows那種思維,用全新的理念嘗試去挖掘linux身上特有的潛質,對初學者至關重要。

2.1 一定要習慣命令列方式
Linux是一個命令列組成的作業系統,精髓在命令列,無論圖形介面發展到什麼水平,命令列方式的操作永遠是不會變的,Linux命令有許多強大的功能:從簡單的磁碟操作、檔案存取、到進行復雜的多媒體圖象和流媒體檔案的製作都離不開命令列。雖然linux也有桌面系統,但是X-window也只是執行在命令列模式下的一個應用程式。
因此,可以這麼說,命令是學習linux系統的基礎,學習linux,很大程度上就是學習命令,很多linux高手其實都是玩兒命令很熟的人。
也許對於剛剛從windows系統進入linux學習的初學者來說,立刻進入枯燥的命令學習,實在太難,但是你一旦學會就愛不釋手。因為它的功能實在太強大了。您未來的學習之路也將會以指數增加的方式增長。

2.2 理論結合實踐
有很多初學者都會遇到這麼一個問題,說到系統的每個命令,都很熟悉,但是在系統出現故障的時候,面對出現問題的linux系統無從下手了。不知道在什麼時候用什麼命令去檢查系統,這是很多linux新手最無奈的事情了。說到底,就是學習的理論沒有很好的與系統實際操作相結合。
很多linux知識,例如每個命令的引數含義,在書本上說的很清楚,看起來也很容易理解,但是一旦組合起來使用,卻並不是那麼容易,沒有多次的動手練習,其中的技巧是無法掌握的。
人類大腦不像計算機的硬碟一樣,除非硬碟壞掉或者硬碟被格式化,否則儲存的資料將永遠而且時刻的記憶在硬碟中。而在人類記憶的曲線中,必須要不斷的重複練習才會將一件事情記得比較熟。同樣的,學習 Linux 也一樣,如果無法經常學習的話,學了後面的,忘記了前面的;還有些linux初學者也學了很多linux知識,但是由於長期不用,導致學過的東西在很短的時間內又忘記了,久而久之,失去了學習的信心。
可見,增加自己Linux 的實戰技能,只有勤於動手,勇於實踐,這也是學好linux的根本。

2.3 學會使用linux聯機幫助
各個Linux的發行版本的技術支援時間都較短,這對於Linux初學者來說往往是不夠的, 其實當安裝了一個完整的Linux系統後其中已經包含了一個強大的幫助,只是可能你還沒有發現和使用它們的技巧。例如,對於一個linux tar命令的使用,你不是很熟悉,那麼只要你在命令列輸入man tar, 就會得到tar的詳細說明和用法;
主流的linux發行版都自帶了非常詳細的幫助文件,包括使用說明和FAQ,從系統的安裝到系統的維護,再到系統安全,針對不同層次人群的詳盡文件。仔細閱讀文件後60%的問題都可在這裡得到解決。

2.4 學會獨立思考問題,獨立解決問題
遇到問題,首先想到的應該是如何自己去解決這個問題,解決方式很多,看書查資料,網路搜尋引擎,技術論壇等等,通過這幾種方式,90%的問題都能得到解決,通過這種方式一方面鍛鍊了自己獨立解決問題的能力。另一方面技術上也能得到快速提高。
如果通過如上方式實在解決不了的話,可以向人詢問,得到答案後要考慮為何這麼做,然後做筆記記錄解決過程。最忌諱的方式是隻要遇到問題,就去問人,雖然這樣可能會很快解決問題,但是長久下去遇到問題就會依賴別人,技術上也不會進步。大資料Linux學習資料分享群142973723

2.5 學習專業英語
如果你想深入學習Linux,一定要嘗試去看英文文件。因為,技術性的東西寫的最好的,最全面的文件都是英語寫的,最先發布的高新技術也都是用英語寫的。即便是非英語國家的人釋出技術文件,也都首先翻譯成英語在國際學術雜誌和網路上發表。安裝一個新的軟體時先看README,再看INSTALL,然後看FAQ,最後才動手安裝,這樣遇到問題就知道為什麼。因此,學習一點專業的英語是很有必要的。

2.6 Linux學習基本步驟
到這裡,我們總結一下linux的學習路線圖,給各位初學者作為參考。
初級階段:
1. 命令是必須要學的,linux常用的命令大概在80個左右,這些常用命令一定要熟練掌握。
2. 掌握linux軟體包的常用安裝方法,例如原始碼安裝,rpm方式安裝等等。
3. 學習安裝裝置驅動程式(比如網絡卡、顯示卡驅動)
4. 熟悉Grub/Lilo載入程式及簡單的修復操作。
5. 熟悉Linux檔案系統和目錄結構以及linux基本執行原理。
6. 掌握vi,gcc,gdb等常用編輯器,編譯器,偵錯程式。
7. 理解shell別名、管道、I/O重定向、輸入和輸出以及shell簡單指令碼程式設計。
8. 學習Linux環境下的網路基本組建。

高階階段:
1:嘗試閱讀linux核心原始碼:
這需要具有一定的C、C++語言基礎,因為C、C++是linux/unix的核心語言,系統程式碼都是C寫的。
2:嘗試編譯安裝和除錯自己的linux核心:
在閱讀原始碼瞭解了linux底層的執行原理後,完全可以編譯一個適合自己的linux系統來。
3:深入學習shell, perl,cgi等指令碼語言:
這些指令碼語言在linux下非常強大,它們能完成你想做的任何事情,熟練掌握這些語言,可以讓你在linux系統下游刃有餘,如魚得水。
4:構建企業級linux高可用叢集體系:
linux下有許多開源免費的叢集軟體,使用這些免費的叢集軟體完全可以構建出與商業unix體系想媲美的叢集體系來。