應用程式在最外面,就如同雞蛋的外殼一樣,因此被稱呼為shell(殼程式)。其實殼程式的功能只是提供作業系統的乙個介面。
應用程式
作業系統(系統呼叫+核心)
硬體linux預設的shell就是bash
「tab「:接在一串指令的第乙個字的後面,則為命令補全
接在一串指令的第二個字以後時,則為檔案補齊
命令別名設定功能:(alias)
檢視所有檔案(包含隱藏檔)及所有的檔案屬性:ls -al
設定別名命令:alias lm=『ls -al』
可以在指令列輸入alias就可以知道目前的命名別名有哪些。
type [-tpa] name
:1、不加任何選項與引數時,type會顯示出name是外部指令還是bash內建指令
2、「-t」 :type會將name以底下這些字眼顯示出他的意義:
file:表示為外部指令
alias:表示該指令為命令別名所設定的名稱
builtin:表示giant指令為bash內建的指令
「-p」:後接name為外部指令時,才會顯示完整檔名
「-a」:會由path變數定義的路徑中,將所有含name的指令都列出來,包含alias
變數的讀取與設定:echo unset
利用echo來讀取變數,變數在被讀取時,前面必須要加上「$」 格式:echo $variable或者echo $
設定和修改變數的內容:格式 :var=內容
如:echo $myname //不顯示任何資料,因為這個變數尚未被設定,是空值
myname=vbird //myname 設定值
echo $myname //顯示vbird
注意:在bash當中,當乙個變數名稱尚未被設定時,預設的內容是「空」
變數設定規則:
1.變數與變數內容以乙個等號「=」來連線,且等號兩邊不能直接接空格符
2.變數名稱只能是英文本母與數字,但開頭字元不能是數字
3.變數內容若有空格符可使用雙引號【「】或者單引號【『】將變數內容結合起來,但
雙引號內的特殊字元如$等,可以保留原來的特性。如[var="lang is $lang"]則[echo $var]可得[lang is en_us]
單引號內的特殊字元則僅僅為一般字元(純文字),如[var='lang is $lang']則[echo $var]可得[lang is $lang]
4.可用跳脫字元"\"將特殊符號([enter],$,\,空格符,等)變成一般字元
5.在一串指令中,若需藉由其他的指令提供的資訊,可使用反單引號【`指令`】或【$(指令)】。注:`是鍵盤上方1左邊那個按鍵,而不是單引號。
【var=$(uname -r)】再【echo $var】可得【2.6.18-128.el5】
6.若該變數為擴增變數內容時,則可用「$變數名稱」或$累加內容。如【path=「path」:/home/bin】
7.若該變數需在其他子程式中執行,則需要以export來使變數變成環境變數:【export path】
8.取消變數unset,【unset變數名稱】
例:unset myname
認識與學習bash
我們知道,管理整個計算機硬體的其實是作業系統的核心 kernel 而核心一般是需要保護的,因此我們一般使用者只能通過shell來與核心通訊,讓核心完成我們想要完成的工作。那麼系統有多少shell可用呢?為什麼我們要用shell?我們必須通過 shell 將我們輸入的命令與核心通訊,好讓核心可以控制硬...
Linux Shell 認識與學習bash
1 認識bash這個shell bash linux使用的shell版本。我們通過shell將我們輸入的命令與核心通訊,好讓核心可以控制硬體來正確無誤地工作。2 bash的優點 1 命令記憶能力 通過按上下鍵就可以找到前 後乙個輸入的命令 1000個 好處就是可以查詢曾經做過的操作。2 命令與檔案補...
認識與學習BASH 中
1.在設定變數中 單引號與雙引號的最大不同 雙引號能保有變數的內容,單引號僅能是一般字元 2.反單引號 作用 在一串指令中,在 之內的指令將會被先執行,其結果將作為外部的輸入資訊。locate指令可以列出所有的相關檔案檔名。ls l locate crontab 老實來說,使用 version un...