Shell解釋器(學習筆記四)

1、Shell解釋器

shell解釋器,用戶和操做系統內核之間的橋樑shell

 

shell介於操做系統內核與用戶之間,負責接收用戶輸入的操做指令(命令),並運行和解釋,將須要執行的操做傳遞給操做系統內核並執行編程

shell程序在系統中充當了一個」命令解釋「的角色bash

如:Windows中的cmd.exe相似這個角色,不過接收的是DOS命令編程語言

2、Linux中的shell

2.一、Shell常見種類

  • Bsh:由貝爾實驗室編寫。Bsh是產生較早的UNIX Shell程序,實現了最基本的命令解釋器的功能,同時也能夠做爲腳本編程語言
  • Csh:是因使用C語言的語法風格而得名,在用戶的命令行交互界面上進行了不少改進,並增長了歷史,別名,文件名替換,做業掏等功能,相比Bsh,Csh在更加適用爲  用戶提供命令交互操做
  • Ksh:在Bsh和Csh以後出現的,結合了兩都的功能優點,兼具Bsh的語法和Csh的交互特性.
  • Bash:從名稱能夠看出是Bsh的升級版本,是著名的開源軟件項目,目前大多數的Linux版本(包括Red Hat公司的Linux系統)都使用Bash 做爲默認的Shell程序當運行    Shell程序時,實際運行的是Bash程序
  • Zsh:更多地基於交互式操做考慮進行設計的Shell程序,集成了Bash,Ksh等多種Shell程序的優勢

3、Bash 

3.一、Linux默認使用的Shell程序

命令文件位置:/bin/bash文件中spa

[root@model /]# ls /bin/bash 
/bin/bash
[root@model /]# 
[root@model /]# ll /bin/bash 
-rwxr-xr-x. 1 root root 940416 Oct 16 21:56 /bin/bash
[root@model /]# 

3.二、主要功能

  • 命令歷史: 是BaSh中用於提升命令輸入效率的一項功能,可以讓用戶快速地重複執行已經輸入過的命令,減小重複輸入工做,向上的方向鍵等,

        history能夠查看已經輸入過哪些命令操作系統

  • 命令別名:能夠將頻繁使用的複雜命令定義爲簡短的別名,當用記須要執行該複雜命令時,只須要使用別名便可完成對應的操做,下降和操做複雜性,提升了輸入效率
  • 標準輸入輸出和重定向:Linux使用文件來描述系統的硬件,設備等資源。
  • 管道操做:在Bash環境中,爲不一樣命令之間的協同工做提供了一種機制,爲於管道符號左側的命令輸出結果,將做爲右側命令的輸入,同一行命令中能夠有多個管道
cat etc/inittab >>/tmp/bootype.txt
[root@model Documents]# cat >> a.txt << fw
> fffffffffff
> dddddddddd
> fw
[root@model Documents]# 

將2個fw之間的內容追加到文件a.txt中,若是a.txt不存在就建立命令行

4、命令行

 命令行的通常格式:設計

命令字  [選項]  [參數]code

命令字:簡單講,凡是在Linux字符界面,字符終端中,能名稱完成特定操做和任務的字符串,均可以稱爲"命令"。命令只表明了實現某一類功能的指令和程序的名稱。    命令字區分大小寫,是整條命令中最重要的部分對象

[選項]:調節命令的具體功能,決定這個命令將如何執行,同一個命令的配合不一樣的選項使用,能夠得到類似但有細微差異的功能。

[參數]:命令字的處理對象,能夠是文件,目錄,文件夾,用戶等一些內容。參數能夠是0個,多個.

命令字 選項 參數之間用空格隔開,多餘的空格會被忽略

選項和參數的順序能夠混淆,能夠順序相反,通常不影響命令的正常執行,特殊除外

相關文章
相關標籤/搜索