說說Linux shell外部命令與內建命令

2022-09-19 00:09:08 字數 1302 閱讀 9263

linux

命令有內部命令(內建命令)和外部命令之分,內部命令和外部命令功能基本相同,但也有些細微差別。

內部命令

內部命令不需要使用子程序來執行,它們已經和shell編譯成一體,作為shell工具的組成部分存在。不需要借助外部程式檔案來執行。它們是一些比較簡單的linux系統命令,如exit,history,cd,echo等。

要分割槽是外部命令還是內部命令可以使用type 來檢視,如下圖檢視cd是內部還是外部命令:

命令別名

alias 命令也是乙個內建命令,允許你為常用的命令和引數建立另乙個名稱,從而減少輸入。在系統中已經設定好了一些常用的命令的別名。檢視當前可用的別名使用alias -p如下圖所示:

下面通過alias 命令來建立屬於自己的別名。把ls -li 長列表命令引數改別名為li。

一但定義好了別名就可以隨時在shell中使用,但要注意的是只有在當前程序中才有效。下面演示在子shell中使用別名無效,只有退出子shell才行。

外部命令

外部命令是存在於bash shell之外的程式,它們不是shell程式的一部分,外部命令程式通常位於/bin, /usr/bin, /sbin, /usr/sbin中。 ps就是乙個外部命令,使用type檢視如下所示:

所有外部命令都會被乙個子程序來執行。ps的父程序是bash shell pid 2486,如下所示:

使用type的小技巧

當命令是外部命令時,type還會顯示外部命令所在路徑,如下圖,檢視service和ps的路徑:

根據路徑提示,可以找到命令所在目錄,如找service命令如下所示:

總結:這篇介紹的兩種不同型別的命令:內部命令和外部命令。外部命令會建立出乙個包含全新環境的子程序,而內部命令則不會。

Android開發Linux shell命令

一 shell快捷鍵使用 1 上下箭頭調出歷史命令 2 ctrl a跳到第乙個字元前 3 ctrl u刪除提示符前的所有字元 4 ctrl k刪除提示符後全部字元 5 ctrl e轉到字元尾部 6 ctrl r向前查詢用過的命令 7 命令補齊 8 ctrl c 撤消當前命令列的編輯,另起一行.9 清...

Linux shell 實時監測程序 top命令

前言 當程式執行在系統時,我們稱子為程序。想要監測這些程序,需要用到ps命令。雖然ps命令在收集執行在系統中的資訊時非常有用。但是不足之處在於,ps命令只能顯示某個特定時間點的資訊。而要想實時監測程序狀態,需要用到接下來所講的top命令。實時監測程序 我們前言也說了,ps命令只能顯示某個特定時間點的...

flutter where不是內部或外部命令

flutter 不是內部或外部命令,也不是可執行的程式 或批處理檔案。冷冷清清裡風風火火是我 2019 07 11 00 11 17 3100 收藏 1 展開相信在開發配置環境變數過程中都遇到過以下問題 不是內部或外部命令,也不是可執行的程式,或批處理檔案。或error unable to find...