BASH是Linux中默認使用的一種默認的命令行界面Shell ,是最常用的Shell中的一種,Shell的意思是殼,在Linux系統中作爲用戶與系統打交道的重要組成部分。
Shell的作用是什麼呢?比如我們要讓聲卡發出聲音是怎樣實現的呢?首先用戶需要操作應用程序播放音樂發出聲音,於是應用程序向內核發出相應的指令,內核接收到指令後再驅動硬件發出聲音。在這個過程中,Shell就是負責將我們輸入的指令傳給內核讓內核驅動硬件的工具。用戶是不能直接和內核打交道的,Shell就相當於一個媒介負責用戶與內核之間的溝通。
狹義的Shell其實指的是進行命令行方面輸入的軟件,廣義的Shell則指的是包括圖形界面軟件等能夠操作內核進行工作的工具。
爲什麼我們要學習Shell呢?爲什麼我們不用操作更爲方便的圖形界面進行操作完成工作呢?
1、因爲Linux是開源的,各個版本的Linux界面標準不盡相同,通過界面要進行系統較爲複雜的操作是相當有難度的,比如進行系統升級等操作
2、界面在Linux上僅僅作爲一個軟件使用,但是會消耗系統大量的寶貴資源,而且命令執行的速度遠不如命令行來得快捷,工作效率自然要低得多。
3、在實際運用中大部分操作Linux是遠程進行的,可以想象如果通過圖形界面的操作自然比不上命令行,服務響應和傳輸速度上面有很大的差別。
4.Shell是一套完整的系統運維管理工具,通過對Shell的不斷深入學習,可以讓你更加親近Linux系統的工作方式與原理,進行系統運維的時候更加的得心應手。
Shell的基本操作:
1、普通用戶與超級用戶的區別:除了一個$號與#的符號不同外,最大的區別是權力的分配,root用戶在系統上是無所不能的,但也意味着不小心的操作可能會讓系統崩潰,而普通用戶進行一些對系統有影響的操作是就會進行限制,甚至常規的操作也會被限制得更爲嚴格,比如說密碼的修改。
2、ls操作命令:查看當前文件,
後面加上參數-a,可以查看隱藏文件,也就是文件名第一個字符爲點的文件,也可以自己創建,Linux中各種文件格式者是以文件存儲的,而且不像Windows有嚴格的後輟約定
後面加-al,以列表方式顯示所有當前目錄的詳細信息,包括文件的是否爲目錄、權限信息、所屬的用戶及所屬的組、文件大小及日期信息。
3、exit爲退出當前操作模式,在命令行是登出的意思,在圖形界面的命令行可以關閉該窗口
4、hostname 查看主機名,也就是你當前操作的主機名稱。
5.、uname 主要用於顯示當前操作系統名稱,一般用於查看主機信息狀態。
-a 顯示 -m、-n、 -r、 -s 和-v 標誌指定的所有信息。不能與 -x 或 -SName 標誌連用。如果-x 標誌和 -a 標誌一起指定,-x 標誌會覆蓋它。
-F 顯示由十六進制字符構成的系統標識字符串。此標識字符串對特定系統上的所有分區都是相同的。
-f 除分區號還用於此字符串的計算之外,與F 標誌類似。產生的標識字符串對特定系統上的每個分區都是唯一的。
-l 顯示 LAN 網絡號碼。
-L 顯示 LPAR 號碼和LPAR 名稱。如果 LPAR 不存在,“-1”顯示爲LPAR 號碼,NULL 爲 LPAR 名稱
-m 顯示硬件運行系統的機器 ID 號。
注:
-m 標誌不能爲 LPAR 環境中的分區生成唯一的機器標識。
-M 顯示系統型號名稱。如果型號名稱屬性不存在,顯示空字符串
-n 顯示節點名稱。可能是用以標識系統且爲UUCP 通信網絡所知的名稱。
-p 顯示系統處理器的體系結構。
-r 顯示操作系統的發行版號。
-s 顯示系統名。標誌缺省爲開。
-S Name 設置節點名。可以是系統 UUCP 通信網絡名。
-T Name 設置系統名。可以是系統 UUCP 通信網絡名。
-u 顯示系統 ID 號碼。如果這一屬性未被定義,輸出與 uname -m顯示的輸出一致。
-v 顯示操作系統版本。
-x 顯示 -a 標誌指定的信息和 -l 標誌指定的 LAN 網絡號。
6、在要執行的命令後要加&號,可實現應用程序的後臺運行
7、Tab鍵可以自動補全命令或者當前目錄下的文件,邊按兩次Tab鍵可以實現系統所有命令的顯示,但是無法自動補全參數
8、可以通過上下鍵瀏覽曾經執行過的命令,或者也可以通過history命令查看所胡曾經執行的命令,還可以通過!符號找出已經進行的操作,比如!!查看上一個命令,!加數據或字符可以重複歷史記錄對應序號或以該字符開頭的命令。
可以通過Ctrl+r在歷史記錄中搜索命令,能過esc鍵加上’.’點號使用上一個命令的參數
9、Bash Shell支持命令通配符
* 匹配零個或多個
?匹配任意一個字符
[0-9]匹配一個數字範圍
[abc]匹配列表裏任何數字
[^abc]匹配列表以外的字符
10、id 用戶獲取當前用戶的信息
11、修改當前用戶的密碼 passwduser 回車後纔有要求輸入密碼,普通用戶有嚴格密碼設置要求,管理員是沒有的要求的。
12、Ctrl+Z暫停當前應用程序 Ctrl+C中止,Ctrl+D退出
13、jobs查看後臺運行作業,bg 改變後臺作業狀態 fg將後臺程序調到前臺
14、su – 有後面字符表示在全新的終端切換到root用戶
Su表示在原終端進行切換
Sudo用於普通用戶需要管理員權限進行命令執行,但是要管理員密碼
第一次學習的時候只記了個大概,現在又學到了很多東西,溫故而知新啊,呵呵