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指令如果加上數字參數,可以指定從哪本手冊中搜尋幫助。
- ls指令:用于顯示目前目錄下的檔案,可以通參數[-a]顯示隐藏檔案(Linux下隐藏檔案皆以‘.’開頭)。
- cd指令:Linux下一切皆檔案,是以在終端中[cd]指令就顯得尤為重要。這個指令可以通過絕對路徑或者相對路徑進入到你想進去的目錄中。
- cp指令:用于終端中檔案或目錄的複制操作。
- rm指令:用于終端中檔案或目錄的删除操作。
- cat指令:用于正序列印檔案内容到終端,與之相反的tac指令倒序列印問價内容到終端。
- declare指令:用于聲名一個變量,用‘=’号指派,用echo和$指令讀取變量的值。
Shell中運作的大部分指令都将以審理了的子程序的方式運作。環境變量有3種:1.目前Shell程序私有使用者自定義變量,隻在目前Shell中有效;2.Shell本身内建的變量;3.從自定義變量導出的環境變量。
以下是部分實驗的截圖:

banner截圖
figlet截圖
給使用者添加使用者組并通過sudo指令獲得root權限
黑客帝國
實驗過程中遇到的問題以及解決:
1、運作hello_shell.sh腳本檔案時候報錯,原來是for之後少了一個空格,之後才知道Linux腳本檔案裡面的空格不像C語言裡面的一樣能随便增删。
2、使用mv指令移動兩個檔案時,其中一個檔案名輸錯,再次執行移動指令時,說另一個檔案不存在,之後發現另一個檔案已經移動到目的目錄中。進而知道了使用mv指令移動兩個檔案時,其中一個檔案名輸錯,不會影響其他檔案的移動。