認識bash這個shell

來源:互聯網
上載者:User

標籤:

我們通過shell將我們輸入的命令與核心通訊,好讓核心可以控制硬體來正確無誤地工作
bash是我們Linux預設的shell

使用者介面(Shell,application)--------核心(Kernel)-------硬體(Hardware)
?
作業系統其實是一組軟體,由於這組軟體在控制整個硬體與管理系統的活動監測,如果這組軟體被使用者隨便操作,若使用者應用不當,將會使得整個系統崩潰。

因為作業系統管理的是整個硬體功能,所以當然不能夠被隨便被一些沒有管理能力的終端使用者隨意使用。
但是我們總是需要讓使用者作業系統的,所以就有了在作業系統上發展的應用程式。

軟體=程式+文檔=資料結構+演算法+文檔

shell的功能只是提供使用者作業系統的一個介面。
像cmake,man,chown這些命令都是獨立安裝的應用程式,但是我們可以通過shell(就是命令列模式)來操作這些應用程式,讓這些應用程式調用核心來運行所需的工作。

只要能夠操作應用程式的介面都可以稱為shell
狹義的shell時命令方面的軟體如bash,廣義的shell包括圖形介面的軟體

為什麼要學習shell?
1.X Window與Web介面工具一樣,介面雖然親善,功能雖然強大,但畢竟它是將所有利用到的軟體整合在一起的一組應用程式而已,並非一個完整的套件,所以某些時候當你升級或者使用其它套件管理模組時,就會造成設定的困擾。而且不同的distribution設計的X Window介面也不同,造成學習的困擾。而幾乎所有distributions使用的bash都是一樣的。
2.遠端管理,命令列介面比較快:Linux管理經常需要遠程聯機,聯機時命令列傳輸速度一定比較快。而且,較不容易出現斷線或者時資訊外流的問題。
3.是Linux的任督二脈,書到用時方恨少:如果真的有心想要將你的主機管理好,那麼良好的shell程式編寫時一定需要的 。

shell有很多種,如Bournce SHell(sh),Sun預設的C SHell、商業常用的K SHell, 還有TCSH等
一般是“Bournce Again Shell”(bash),時sh的增強班,也是基於GUN的架構下發展出來的

要查看Linux主機上有多上shell,可以查看/etc/shells檔案

/bin/sh已經被/bin/bash替代

為什麼我們系統上合法的shell要寫入/etc/shells這個檔案?
因為系統的某些服務在運行過程中,會去檢查使用者能夠使用的shells,而這些shell的查詢就是藉助/etc/shells這個檔案

使用者什麼時候可以取得shell來工作呢?還有使用者預設會使用哪種shell?
查看/etc/passwd就知道了,在使用者登入時取得預設的shell
一些奇怪的shell,以後再看


bash時GUN計劃中重要的工具軟體之一
bash的主要優點:
1.命令記憶能力(history)
    預設記憶功能一般有1000個,記錄在/home/使用者名稱/.bash_history(沒有home目錄的使用者怎麼辦)
    .bash_history記錄的是前一次登入以前所執行的命令,這次登入所執行的命令被暫時存在臨時記憶體中,當成功登出系統後,該命令記憶才會記錄再.bash_history中
2.命令與檔案補全功能:tab功能
3.命令別名設定功能(alias)
4.作業控制、前台後台控制(job control,foreground,background)
    可以隨時將工作丟到後台執行,不怕不小心ctrl+c終端進程。ctrl+z
    也使得可以在單一登入的環境中達到多任務的目的
5.程式指令碼(shell script)
    shell scripts可以將平時管理系統常需要執行的連續命令寫成一個檔案,該檔案並且可以通過互動的方式進行主機的檢車工作
6.萬用字元
    協助使用者查詢和命令執行,加快使用者操作 如ls -l /usr/bin/X*

如果shell命令比較長,可以"\[Enter]"換行執行



認識bash這個shell

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.