shell的學習(一)shell的基本概念

2022-09-14 03:27:14 字數 1096 閱讀 1501

linux系統的shell介於系統核心與使用者之間,相當於系統與使用者間的橋梁,負責解析輸入的命令和輸出的二進位製碼。另外,shell也屬於一種程式語言,為使用者提供操作機器的互動介面,使使用者輸入的命令能夠傳送到核心執行並把處理結果反饋回來。

1.shell的發展型別

在linux系列系統下,其內建多種型別及功能不同的shell,而在centos下內建的shell並不多,可在/etc/shells檔案下找到centos所支援的shell,具體如下:

[root@system ~]# cat /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologin

/bin/tcsh

/bin/ccsh

2.shell的作用概述

系統啟動後,shell在使用者登入前就被系統初始化,並在使用者登入系統後產生一些新的子shell,因此只要使用者登入就可以執行操作,而不需要開啟shell。當然,在圖形介面下開啟乙個終端視窗,實際上就是開啟乙個子shell。

對於計算機,它只能識別0和1的機器碼。但在使用計算機時輸入的並非是機器碼,而是由一些字母或字母和數字組成的指令。這些指令在通過shell後就被翻譯成0和1所組成的一串機器碼,然後傳送到核心中執行,並把執行結果輸出。

事實上,shell是命令語言、命令解釋程式及程式語言的統稱。簡單地說,shell是linux系統核心層與使用者層之間的橋梁,為使用者提供使用作業系統資源的介面。

linux系統下的每個shell程式被稱為乙個指令碼,通過它可以將系統呼叫、公共程式、工具以及編譯過的二進位制程式粘合在一起並建立應用。

3.shell的工作原理

在linux系統下的shell是使用者與系統核心交流的介面,負責將使用者執行的命令翻譯成機器碼後送到系統的核心執行並將執行結果返回。shell命令語言解釋程式是linux系統為使用者提供的最重要的系統程式,但shell並不屬於系統核心的組成部分,而是在系統核心之外,並以使用者態的方式執行。在整個使用者空間中,shell位於使用者層的下面,並與核心空間的核心相接。實際上,shell是系統在初啟後為使用者啟動的乙個獨立的程序。

shell指令碼學習一(shell的父子程序)

登陸某個虛擬控制器終端或在gui中執行終端 器時所啟動的預設的互動shell就是乙個父shell.etc passwd檔案中,第七個字段列出了使用者的預設shell.bash是root使用者登陸時的預設shell,此時bash就是乙個父shell 登陸系統時使用ps forest展示程序的巢狀結構,...

Shell學習之Shell特性 一

這個不說了,我們在輸入命令的時候,按tab鍵補全。history 歷史命令記錄 上下鍵 切換歷史命令 number 執行對應number的歷史命令 string 重新執行一遍含有string的最近的歷史命令 執行上一條命令 alias 檢視臨時別名 alias 別名 命令 定義別名 unalias ...

shell學習之 shell呼叫shell

2008 05 06 14 43 18 分類 linux 標籤 字型大小 大中小訂閱 fork是最普通的,就是直接在指令碼裡面用 directory script.sh來呼叫script.sh這個指令碼.執行的時候開乙個sub shell執行呼叫的指令碼,sub shell執行的時候,parent ...