歡迎您光臨本站 註冊首頁

linux系統中的shell和vi編輯器應用詳細介紹

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
shell和vi編輯器
一、Shell
1、什麼時shell
Shell就是用戶與操作系統內核之間的介面,起著協調用戶和系統的一致性和用戶在系統之間的交互作用.具體如下圖:
2、shell的功能
Shell的重要的功能就是命令解釋,從某種意義上來說,shell就是一個命令解釋器.Linux中的所有的可執行文件都可以作為shell命令來執行.可執行文件的分類見下表:
類別
說明
Linux命令
存放在/bin、/sbin目錄下
內置命令
出與效率考慮,將一些常用的命令程序構造在shell的內部
使用程序
存放在/usr/bin、/usr/sbin、/usr/local/bin等目錄下.
用戶程序
用戶經過編譯生成的可執行文件后,也可以作為shell命令運行
Shell腳本
由shell語言編寫的批處理文件
當用戶輸入一個命令后,shell首先判斷是否為內部命令,如果是就通過shell內部的解釋器進行解釋將其結果交給內核來完成;如果是外部命令或使用的程序就試圖在硬碟中查找其命令掉入內存,再將其解釋為系統功能調用並轉發給內核來執行.在查找該命令時有兩種情況.
(1) 用戶給出了命令的路徑,shell就沿著用戶給出的路徑進行查找,若找到則掉入內存,或者給出提示信息.
(2) 用戶沒有給出命令的路徑,shell就在環境變數PATH所制定的路徑中依次的去查找,若找到就掉入內存,若沒有找到就給出提示信息.命令的解釋過程如下圖:
另外shell還有一些其他的功能
1) Shell的環境變數
2) 正則表達式
3) 輸入輸出重定向與管道

在bash中的環境變數中有單引號(『)、雙引號(「)、和反引號(·)三種表示字元串用不同的功能.其中單引號(』)中的字元串不進行任何的變數替換,保持字元串中的原有的數據;雙引號(」「)中的變數會引用變數的值來替換,並作為字元串的一部分來;反引號(·)用於進出命令的替換,引號中命令的執行結果將替換命令本身作為字元串.
6、預定義變數
預定義變數是linux系統中已經定義好的變數,用戶只能使用預定義變數,而不能創建或賦值預定義變數.所有的預定義變數都是又 $和一個符號組成的,常用的shell預定義變數有:
$#:表示位置參數的數量
$*:表示所有位置參數是內容
$?:表示抿了執行后返回的狀態,用於檢查上一個命令的執行是否正確;在linux中命令退出狀態為0表示命令正確執行,任何非0表示命令執行錯誤.
$$:表示當前進程的進程號
$!:表示後台運行的一個進程號
$0:表示當前進程執行的進程號
7、用戶自定義變數
用戶自定義變數是用戶自己定義的變數,只在用戶自己的shell中有效.
(1)自定義變數是設置格式:
變數名=變數值
(2)自定義變數的引用:echo $變數名(如上圖)
Set命令可以顯示系統中的所有變數,包括用戶自定義變數:
(3) 自定義變數的輸出
用戶在當前shell中定義了某個變數后,只能在本shell中有效,對於當前shell的子shell是無效的.為了在用戶的子shell也可以使用用戶定義的變數,可以將其輸出為全局變數.其命令格式如下:
Export [nf] [name[=value]………]


[火星人 ] linux系統中的shell和vi編輯器應用詳細介紹已經有447次圍觀

http://coctec.com/docs/linux/show-post-52609.html