<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 1.什么是Shell? Shell是在Linux/UNIX下的命令解釋型語言(command-language interpreter),它的中文翻譯為“殼”主要是用于人機交互,以下截圖為macOS中的Bash終端。 ![](/assets/WX20180912-120240.png) 我們再來看一下Shell在Linux/UNIX系統中的一個位置。從技術的角度來說Shell是一個使用者與系統的交互界面\(interface\), 只能讓使用者通過命令行\(command line\)來使用系統來完成工作。 因此,Shell最簡單的定義就是----命令解釋器\( Command Interpreter\): * 將使用者的命令翻譯給kernel來處理; * 同時,將kernel的處理結果翻譯給使用者。 Linux\UNIX系統體系結構圖,圖1。 ![](/assets/1.png) # 2.Shell的種類 Linux/UNIX Shell的種類很多,目前流行的Shell包括ash、bash、ksh、csh、zsh等,用戶可以通過查看/etc/shells 文件中的內容來查看自己主機中當前有哪些種類的Shell。 ``` cat /etc/shells # List of acceptable shells for chpass(1). # Ftpd will not allow users to connect who are not using # one of these shells. /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh ``` 不同種類Shell間的歷史背景: * BourneShell\(sh\):是由AT&T Bell實驗室的 Steven Bourne為AT&T的Unix開發的,它是Unix的默認Shell,也是其它Shell的開發基礎,Bourne Shell在編程方面相當優秀,但在處理與用戶的交互方面不如其它幾種Shell。 * BourneAgain Shell \(即Bash\):是自由軟件基金會\(GNU\)開發的一個Shell,它是Linux系統中一個默認的Shell。Bash不但與Bourne Shell兼容,還繼承了C Shell、Korn Shell等優點。 * ash:ash Shell是由Kenneth Almquist編寫的,是Linux 中占用系統資源最少的一個小Shell,它只包含24個內部命令,因而使用起來很不方便。 * CShell\(csh\):是加州伯克利大學的Bill Joy為BSD Unix開發的,共有52個內部命令,與sh不同,它的語法與C語言很相似。它提供了Bourne Shell所不能處理的用戶交互特征,如命令補全、命令別名、歷史命令替換等。但是,C Shell與BourneShell并不兼容。該Shell其實是指向/bin/tcsh這樣的一個Shell,也就是說,csh其實就是tcsh。 * KornShell\(ksh\):是AT&T Bell實驗室的David Korn開發的,共有42 條內部命令,它集合了C Shell和Bourne Shell的優點,并且與Bourne Shell向下完全兼容。Korn Shell的效率很高,其命令交互界面和編程交互界面都很好。 * zch:是Linux 最大的Shell之一,由Paul Falstad完成,共有84 個內部命令。如果只是一般的用途,沒有必要安裝這樣的Shell。 大部分的Linux操作系統的預設Shell都是bash,其原因大致如下兩種: * 自由軟件 * 功能強大 Bash是gnu project最成功的產品之一,自推出以來深受廣大Linux/UNIX用戶的喜愛, 且也逐漸成為不少組織的系統標準。 而目前互聯網公司主流操作系統是CentOS,他默認的Shell就是Bash所以我們課程以介紹Bash為主,如果期間談到其他Shell會以注釋方式提示讀者。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看