Shell解釋器(學習筆記四)


一、Shell解釋器

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

 

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

shell程序在系統中充當了一個”命令解釋“的角色

如:Windows中的cmd.exe類似這個角色,不過接收的是DOS命令

二、Linux中的shell

2.1、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程序的優點

三、Bash 

3.1、Linux默認使用的Shell程序

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

[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.2、主要功能

  • 命令歷史: 是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不存在就創建

四、命令行

 命令行的一般格式:

命令字  [選項]  [參數]

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

[選項]:調節命令的具體功能,決定這個命令將如何執行,同一個命令的配合不同的選項使用,可以獲得相似但有細微差別的功能。

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

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

選項和參數的順序可以混淆,可以順序相反,一般不影響命令的正常執行,特殊除外


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM