新聞中心

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、網(wǎng)站制作、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、于都ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的于都網(wǎng)站制作公司
例如,用于進(jìn)入或者切換目錄的 cd 命令,雖然我們一直在使用它,但如果不加以注意很難意識(shí)到它與普通命令的性質(zhì)是不一樣的:該命令并不是某個(gè)外部文件,只要在 Shell 中你就一定可以運(yùn)行這個(gè)命令。
可以使用 type 來確定一個(gè)命令是否是內(nèi)建命令:
[root@localhost ~]# type cd
cd is a Shell builtin
[root@localhost ~]# type ifconfig
ifconfig is /sbin/ifconfig
由此可見,cd 是一個(gè) Shell 內(nèi)建命令,而 ifconfig 是一個(gè)外部文件,它的位置是
/sbin/ifconfig。
還記得系統(tǒng)變量 $PATH 嗎?$PATH 變量包含的目錄中幾乎聚集了系統(tǒng)中絕大多數(shù)的可執(zhí)行命令,它們都是外部命令。
通常來說,內(nèi)建命令會(huì)比外部命令執(zhí)行得更快,執(zhí)行外部命令時(shí)不但會(huì)觸發(fā)磁盤 I/O,還需要 fork 出一個(gè)單獨(dú)的進(jìn)程來執(zhí)行,執(zhí)行完成后再退出。而執(zhí)行內(nèi)建命令相當(dāng)于調(diào)用當(dāng)前 Shell 進(jìn)程的一個(gè)函數(shù)。
下表列出了 Bash Shell 中直接可用的內(nèi)建命令。
| 命令 | 說明 |
|---|---|
| : | 擴(kuò)展參數(shù)列表,執(zhí)行重定向操作 |
| . | 讀取并執(zhí)行指定文件中的命令(在當(dāng)前 shell 環(huán)境中) |
| alias | 為指定命令定義一個(gè)別名 |
| bg | 將作業(yè)以后臺(tái)模式運(yùn)行 |
| bind | 將鍵盤序列綁定到一個(gè) readline 函數(shù)或宏 |
| break | 退出 for、while、select 或 until 循環(huán) |
| builtin | 執(zhí)行指定的 shell 內(nèi)建命令 |
| caller | 返回活動(dòng)子函數(shù)調(diào)用的上下文 |
| cd | 將當(dāng)前目錄切換為指定的目錄 |
| command | 執(zhí)行指定的命令,無需進(jìn)行通常的 shell 查找 |
| compgen | 為指定單詞生成可能的補(bǔ)全匹配 |
| complete | 顯示指定的單詞是如何補(bǔ)全的 |
| compopt | 修改指定單詞的補(bǔ)全選項(xiàng) |
| continue | 繼續(xù)執(zhí)行 for、while、select 或 until 循環(huán)的下一次迭代 |
| declare | 聲明一個(gè)變量或變量類型。 |
| dirs | 顯示當(dāng)前存儲(chǔ)目錄的列表 |
| disown | 從進(jìn)程作業(yè)表中刪除指定的作業(yè) |
| echo | 將指定字符串輸出到 STDOUT |
| enable | 啟用或禁用指定的內(nèi)建shell命令 |
| eval | 將指定的參數(shù)拼接成一個(gè)命令,然后執(zhí)行該命令 |
| exec | 用指定命令替換 shell 進(jìn)程 |
| exit | 強(qiáng)制 shell 以指定的退出狀態(tài)碼退出 |
| export | 設(shè)置子 shell 進(jìn)程可用的變量 |
| fc | 從歷史記錄中選擇命令列表 |
| fg | 將作業(yè)以前臺(tái)模式運(yùn)行 |
| getopts | 分析指定的位置參數(shù) |
| hash | 查找并記住指定命令的全路徑名 |
| help | 顯示幫助文件 |
| history | 顯示命令歷史記錄 |
| jobs | 列出活動(dòng)作業(yè) |
| kill | 向指定的進(jìn)程 ID(PID) 發(fā)送一個(gè)系統(tǒng)信號(hào) |
| let | 計(jì)算一個(gè)數(shù)學(xué)表達(dá)式中的每個(gè)參數(shù) |
| local | 在函數(shù)中創(chuàng)建一個(gè)作用域受限的變量 |
| logout | 退出登錄 shell |
| mapfile | 從 STDIN 讀取數(shù)據(jù)行,并將其加入索引數(shù)組 |
| popd | 從目錄棧中刪除記錄 |
| printf | 使用格式化字符串顯示文本 |
| pushd | 向目錄棧添加一個(gè)目錄 |
| pwd | 顯示當(dāng)前工作目錄的路徑名 |
| read | 從 STDIN 讀取一行數(shù)據(jù)并將其賦給一個(gè)變量 |
| readarray | 從 STDIN 讀取數(shù)據(jù)行并將其放入索引數(shù)組 |
| readonly | 從 STDIN 讀取一行數(shù)據(jù)并將其賦給一個(gè)不可修改的變量 |
| return | 強(qiáng)制函數(shù)以某個(gè)值退出,這個(gè)值可以被調(diào)用腳本提取 |
| set | 設(shè)置并顯示環(huán)境變量的值和 shell 屬性 |
| shift | 將位置參數(shù)依次向下降一個(gè)位置 |
| shopt | 打開/關(guān)閉控制 shell 可選行為的變量值 |
| source | 讀取并執(zhí)行指定文件中的命令(在當(dāng)前 shell 環(huán)境中) |
| suspend | 暫停 Shell 的執(zhí)行,直到收到一個(gè) SIGCONT 信號(hào) |
| test | 基于指定條件返回退出狀態(tài)碼 0 或 1 |
| times | 顯示累計(jì)的用戶和系統(tǒng)時(shí)間 |
| trap | 如果收到了指定的系統(tǒng)信號(hào),執(zhí)行指定的命令 |
| type | 顯示指定的單詞如果作為命令將會(huì)如何被解釋 |
| typeset | 聲明一個(gè)變量或變量類型。 |
| ulimit | 為系統(tǒng)用戶設(shè)置指定的資源的上限 |
| umask | 為新建的文件和目錄設(shè)置默認(rèn)權(quán)限 |
| unalias | 刪除指定的別名 |
| unset | 刪除指定的環(huán)境變量或 shell 屬性 |
| wait | 等待指定的進(jìn)程完成,并返回退出狀態(tài)碼 |
接下來的幾節(jié)我們將重點(diǎn)講解幾個(gè)常用的 Shell 內(nèi)置命令。
本文題目:Shell內(nèi)建命令(內(nèi)置命令)
瀏覽地址:http://m.5511xx.com/article/dhposos.html


咨詢
建站咨詢
