導航:首頁 > 程序命令 > 內建命令shell

內建命令shell

發布時間:2023-09-23 16:02:08

linux下的shell是什麼

什麼是shell
shell是用戶和Linux
操作系統
之間的
介面
。Linux中有多種shell,其中預設使用的是Bash。本章講述了shell的工作原理,shell的種類,shell的一般操作及Bash的
特性

什麼是shell
Linux系統的shell作為操作系統的
外殼
,為用戶提供使用操作系統的介面。它是
命令語言
、命令
解釋程序

程序設計語言
的統稱。
shell是用戶和
Linux內核
之間的介面
程序
,如果把Linux內核想像成一個
球體
的中心,shell就是圍繞
內核
的外層。當從shell或其他程序向Linux傳遞命令時,內核會做出相應的反應。
shell是一個命令語言
解釋器
,它擁有自己內建的shell命令集,shell也能被系統中其他
應用程序
所調用。用戶在提示符下輸入的命令都由shell先解釋然後傳給Linux核心。
Shell是一種具備
特殊功能
的程序,
它是介於使用者和
UNIX/linux
操作系統之核心
程序(kernel)間的一個介面。為什麼我們說
shell
是一種介於系統核心程序與使用者
間的中介者呢?讀過操作系統概論的讀者們都知道操作系統是一個
系統資源
的管理者與分
配者,當您有需求時,您得向系統提出;從操作系統的角度來看,它也必須防止使用者因
為錯誤的操作而造成系統的傷害?眾所周知,對
計算機
下命令得透過命令(command)

是程序(program);程序有編譯器(compiler)將程序轉為
二進制代碼
,可是命令呢?
其實shell
也是一支程序,它由
輸入設備
讀取命令,再將其轉為計算機可以了解的機械碼,
然後執行它。
各種操作系統都有它自己的
shell,以
DOS
為例,它的
shell
就是
command.com文
件。如同
DOS
下有
NDOS,4DOS,DRDOS
等不同的命令解譯程序可以取代標準的
command.com
,UNIX
下除了
Bourne
shell(/bin/sh)
外還有
C
shell(/bin/csh)、
Korn
shell(/bin/ksh)、Bourne
again
shell(/bin/bash)、Tenex
C
shell(tcsh)
等其它的
shell。UNIX/linux將
shell
獨立於核心程序之外,
使得它就如同一般的應用
程序,
可以在不影響操作系統本身的情況下進行修改、更新版本或是添加新的功能。
有一些命令,比如改變工作目錄命令cd,是包含在shell
內部
的。還有一些命令,例如
拷貝
命令cp和移動命令rm,是存在於
文件系統
中某個目錄下的單獨的程序。對用戶而言,不必關心一個命令是建立在shell內部還是一個單獨的程序。
shell首先檢查命令是否是
內部命令
,若不是再檢查是否是一個應用程序(這里的應用程序可以是Linux本身的
實用程序
,如ls和rm,也可以是購買的商業程序,如xv,或者是
自由軟體
,如emacs)。然後shell在搜索
路徑
里尋找這些應用程序(搜索路徑就是一個能找到可執行程序的目錄列表)。如果鍵入的命令不是一個內部命令並且在路徑里沒有找到這個
可執行文件
,將會顯示一條錯誤信息。如果能夠成功找到命令,該內部命令或應用程序將被分解為
系統調用
並傳給Linux內核。
shell的另一個重要特性是它自身就是一個解釋型的程序設計語言,shell程序設計語言支持絕大多數在
高級語言
中能見到的程序
元素
,如
函數

變數

數組
和程序控制結構。shell
編程語言
簡單易學,任何在提示符中能鍵入的命令都能放到一個可執行的shell程序中。
當普通用戶成功登錄,系統將執行一個稱為shell的程序。正是shell進程提供了命令行提示符。作為默認值(TurboLinux系統默認的shell是BASH),對普通用戶用「$」作提示符,對超級用戶(root)用「#」作提示符。
一旦出現了shell提示符,就可以鍵入
命令名稱
及命令所需要的
參數
。shell將執行這些命令。如果一條命令花費了很長的時間來運行,或者在屏幕上產生了大量的輸出,可以從
鍵盤
上按ctrl+c發出中斷
信號
來中斷它(在正常結束之前,中止它的執行)。
當用戶准備結束登錄對話進程時,可以鍵入logout命令、exit命令或文件結束符(EOF)(按ctrl+d實現),結束登錄。

㈡ shell腳本中的$*,$@和$#分別是什麼意思

shell腳本中的$*,$@和$#分別是什麼意思?

舉例說:
腳本名稱叫test.sh 入參三個: 1 2 3
運行test.sh 1 2 3後
$*為"1 2 3"(一起被引號包住)
$@為"1" "2" "3"(分別被包住)
$#為3(參數數量)凱姿毀

shell腳本中wc是什麼意思?

wc(wordcount)
功能說明:計算字數。
語法:wc[-clw][--help][--version][文件...]
補充說明:利用wc指令我們可以計算文件的Byte數、字數、或是列數,若不指定文件名稱、或是所給予的文件名為「-」,則wc指盯備令會從標准輸入設備讀取數據。
參數:
-c或--bytes或--chars只顯示Bytes數。
-l或--lines只顯示列數。
-w或--words只顯示字數。
--help在線幫助。
--version顯示版本信息。

shell腳本中的DIR=${3:0:12}是什麼意思?

取調用腳本時第三個參數的前12個字元組成的子串
$3表示第三個參數,${3:0:12}表示從第三個參數第0個字元開始取12個字元

shell腳本中的$<是什麼意思?謝謝!

看你問了幾次類似的問題,乾脆總結一下吧。
這些都是makefile的內建命令,含義如下:
$@ target
$% file name of an archive member
$< first prerequisite
$? prerequisites newer than target
$^ prerequisites
$+ similar to $^, including plicates
$* stem of the target filename

shell腳本中 是什麼意思

  1. 是一個轉義字元就像 是表示換行, 表示一個製表符,說白一點就是在文本框里輸入信息時敲了下Tab鍵

  2. 下面是這些字元及其含義:
    Backspace
    c顯示後冊消不換行
    f在終端上屏幕的開始處顯示
    換行
    回車
    製表符
    v垂直製表符
    反斜框
    nnn 用1,2或3位8進制整數表示一個ASCII碼字元

  3. 例子:

    echo-e"a b"
    輸出的就是ab,a與b中間的空位就是水平製表(製表符)。

  4. 推薦參考書籍:Shell腳本學習指南

&2在shell腳本中是什麼意思

在Unix/Linux裡面執行的程式列印到銀幕上有兩個不同的路涇,一個是stdout(standard output),另一個是stderr(standard error)。這兩者雖然平時都同樣的顯示在屏幕上,但是如果你想把他們存入文件檔案里時,他們可以單獨的存入不同的文檔,例如:
# 把 programA 執行結果的 stdout 存入 A.out 文檔
# 也把所有的 stderr 存入 A.err 文檔裡面:
$ programA >A.out 2>A.err
# 在上面這個例子里,2 代表的是程序 programA 它的 stderr 輸出路徑
# 下面這個例子里,是把 stderr 匯流到 stdout 裡面:
programA >A.out2 2>&1
# 上面執行的結果是 both stderr 和 stdout 通通存檔到 A.out2 文檔

shell腳本中這段是什麼意思?, shell腳本中.$1語句是什麼意思

$+數字 一般是位置參數的用法。
如果運行腳本的時候帶參數,那麼可以在腳本里通過 $1 獲取第一個參數,$2 獲取第二個參數......依此類推,一共可以直接獲取9個參數(稱為位置參數)。$0用於獲取腳本名稱。
. $1中的點是執行的意思。
例如在liunx中。
執行sh腳本就可以直接使用 「. +文件名」的方式

linux的shell腳本中的set是什麼意思?怎麼理解

set命令作用主要是顯示系統中已經存在的shell變數,以及設置shell變數的新變數值。使用set更改shell特性時,符號"+"和"-"的作用分別是打開和關閉指定的模式。set命令不能夠定義新的shell變數。如果要定義新的變數,可以使用declare命令以變數名=值的格式進行定義即可。使用:set(選項)(參數)
例如:
declare mylove='Visual C++' #定義新環境變數
再使用set命令將新定義的變數輸出為環境變數,輸入如下命令: set -a mylove
標示已修改的變數,以供輸出至環境變數。
-b:使被中止的後台程序立刻回報執行狀態
-C:轉向所產生的文件無法覆蓋已存在的文件
-d:Shell預設會用雜湊表記憶使用過的指令,以加速指令的執行。使用-d參數可取消。
-e:若指令傳回值不等於0,則立即退出shell。
-f:取消使用通配符。
-h:自動記錄函數的所在位置。
-H Shell:可利用"!"加<指令編號>的方式來執行history中記錄的指令。
-k:指令所給的參數都會被視為此指令的環境變數。
-l:記錄for循環的變數名稱。
-m:使用監視模式。
-n:只讀取指令,而不實際執行。
-p:啟動優先順序模式。
-P:啟動-P參數後,執行指令時,會以實際的文件或目錄來取代符號連接。
-t:執行完隨後的指令,即退出shell。
-u:當執行時使用到未定義過的變數,則顯示錯誤信息。
-v:顯示shell所讀取的輸入值。
-x:執行指令後,會先顯示該指令及所下的參數。

shell腳本中make clean命令是什麼意思?

清除掉上一次編譯留下的中間文件及結果,然後重新編譯。

㈢ pwd命令怎麼使用

什麼是pwd?
『pwd『 代表的是『Print Working Directory』(列印當前目錄)。如它的名字那樣,『pwd』會列印出當前工作目錄,或簡單的來說就是當前用戶所位於的目錄。它會列印出以根目錄 (/)為起點的完整目錄名(絕對目錄)。這條命令是一條shell內建命令,並且在大多數shell中都可以使用,如bash、Bourne shell,ksh、zsh等等。
名稱: pwd - print name ofcurrent/working directory 輸入當前工作路徑

pwd命令來查看"當前工作目錄"的完整路徑。簡單得說,每當你在終端進行操作時,你都會有一個當前工作目錄。
在不太確定當前位置時,就會使用pwd來判定當前目錄在文件系統內的確切位置。

命令格式:pwd [-P|L]
命令功能:查看"當前工作目錄"的完整路徑

用法舉例:
1.查看默認工作目錄的完整路徑: pwd
2.目錄連接鏈接時,顯示出實際路徑: pwd -P
[hser0401@dev-l002782 /]$ cd /etc/init.d
[hser0401@dev-l002782 init.d]$ pwd
/etc/init.d
[hser0401@dev-l002782 init.d]$ pwd -P
/etc/rc.d/init.d
pwd: 顯示連接路徑
pwd -P: 顯示實際路徑

3./bin/pwd [選項]
選項:
-L 目錄連接鏈接時,輸出連接路徑
-P 輸出物理路徑
[hser0401@dev-l002782 init.d]$ /bin/pwd
/etc/rc.d/init.d
[hser0401@dev-l002782 init.d]$ /bin/pwd -P
/etc/rc.d/init.d
[hser0401@dev-l002782 init.d]$ /bin/pwd -L
/etc/init.d
[hser0401@dev-l002782 init.d]$ pwd
/etc/init.d

/bin/pwd和/bin/pwd -P: 顯示實際路徑
pwd和/bin/pwd -L: 顯示連接路徑

㈣ 如何運行shell命令

1、shell的內建命令,用戶可以直接輸入命令名稱執行。比如pwd、cd等命令。用戶可以通過type命令來判斷命令是內建命令還是外部命令。

㈤ shell——內建命令

外部命令有時候也被稱為文件系統命令,是存在bash shell之外的程序。它們並不是shell程序的一部分。外部命令通常位於/bin, /usr/bin, /sbin /usr/sbin中,而內建命令都是和shell編譯成一體的程序,作為shell工具的組成部分存在。不需要藉助外部程序文件來運行。
可以通過type命令查看命令是否是內建命令或者外部命令,如

當外部命令被執行時,會創建一個子進程。這種操作被稱為衍生(forking)。外部命令ps很方便顯示出它的父進程以及自己所對應的衍生子進程。而內建命令不需要打開程序文件,內建命令的執行速度要更快,效率更高。

注意:有些命令有多種實現。例如echo和pwd既有內建命令也有外部命令。

有兩個比較好用的內建命令history 和 alias
shell會自動記錄shell運行的歷史記錄,history命令可以查看,使用 ! 和數字可以調用相應編號的歷史命令
alias命令可以給較長的命令取別名,方便使用。

閱讀全文

與內建命令shell相關的資料

熱點內容
如何關閉手機dhcp伺服器 瀏覽:979
php免費ide 瀏覽:200
程序員詞句 瀏覽:976
伺服器如何禁止某個ip段 瀏覽:329
便簽手機文件夾 瀏覽:768
gameloft的java游戲 瀏覽:110
神佑釋放怎麼轉伺服器 瀏覽:735
洋蔥app軟體怎麼登錄 瀏覽:788
兩相電空氣壓縮機 瀏覽:396
基於51單片機的智能語音密碼鎖設計 瀏覽:845
mac如何用ssh登錄伺服器 瀏覽:446
appstore怎麼設置 瀏覽:954
在哪個app買韓國女裝 瀏覽:111
php寫入文件換行 瀏覽:749
dsp實現fft演算法 瀏覽:485
棋牌源碼轉讓交易手續費 瀏覽:293
雲上伺服器貴州 瀏覽:647
qq三國怎麼使用雲伺服器 瀏覽:303
一鍵加密字體怎麼設置 瀏覽:145
majority演算法 瀏覽:822