Linux命令執行

Linux命令

Linux命令是對Linux系統進行管理的命令。對于Linux系統來說,無論是中央處理器、內存、磁盤驅動器、鍵盤、鼠標,還是用戶等都是文件,Linux系統管理的命令是它正常運行的核心,與之前的DOS命令類似。linux命令在系統中有兩種類型:內置Shell命令和外部命令。

  • 命令格式

COMMAND [OPTIONS…] [ARGUMENTS…]
OPTIONS 選擇 包括長選項和短選項 長選項:–all 短選項:-a
ARGUMENTS 參數 命令作用的對象,不如文件名,用戶名等

一個命令可以有多個選項  比如 ls -a -l /etc
取消命令Ctrl+c
多個命令之間用;隔開
一個命令可以用 \ 分行

  • 內置Shell命令與外部命令

  • 內置Shell命令

shell自帶的命令稱為內置Shell命令,可以通過help命令(help本身也是Shell內置命令)來查看Shell內置命令列表;

enable cmd 可以啟用內部命令;

enable -n cmd 可以禁用內部命令;

enable -n 可以查看所有被禁用命令。

禁用內置命令不代表這個命令不可用,如果這個命令同時還是外部命令,那禁用這個命令后,系統會去外部查找這個命令。比如echo這個命令。我們可以使用type來查看這個命令是Shell內置還是外部命令。

Linux命令執行

可見echo是內部命令,這時我們禁用這個命令后在用那個type看看。

Linux命令執行

這時它不再是內部命令而變成了外部命令。

  • 外部命令

在文件系統路徑下有對應的可執行程序文件
可使用which -a或者whereis來查看一個命令的路徑

  • Hash緩存表

  • 什么是Hash緩存表?

Hash緩存表是用來緩存用戶執行過的外部命令,當執行一個命令時,系統首先判斷它是內部命令還是外部命令,如果是內部命令直接使用,如果是外部命令,則去查找Hash緩存表,如果有緩存則直接調用,如果沒有則去PATH路徑下查找。

  • hash常見用法

hash 顯示hash緩存的所有命令,包括命中次數
hash -l 顯示hash緩存的所有命令,包括相關詳細信息如路徑,命令類型
hash -p path name 將命令的全路徑取個別名為name
hash -t name 打印緩存中的name路徑
hash -d name 清楚名為name的緩存
hash -r 清除hash表中所有的緩存

  • 別名 alias

使用alias命令可以查看所有的命令別名,alias NAME=”echo”,當用戶執行NAME時相當于執行了echo命令。
直接這樣寫別名是不能永久生效的,需要去配置文件寫,
僅對當前用戶有效:~/.bashrc
對所有用戶有效:/etc/bashrc
配置好后不會立即生效,需要重新登錄或者使用source或者 . 來重新讀取配置文件 比如 . /etc/bashrc。
unalias命令可以取消別名 -a 可以取消所有別名
如果別名和原命重名而需要執行原命令時,可用”\command”或者’command’ 或/PATH/command

  • 命令執行優先級

別名(alias)>內置Shell命令>緩存(hash)>外部命令($PATH)

原創文章,作者:657188918,如若轉載,請注明出處:http://www.www58058.com/80585

(0)
657188918657188918
上一篇 2017-07-15
下一篇 2017-07-15

相關推薦

  • Linux網絡協議命令介紹(3)

      在上一章中,我們談到了網絡協議以及TCP傳輸層說明,下面我們來介紹一下序列號和確認好有什么區別之外,以及基本的網絡命令。 1、序列號和確認號有什么區別? 2、網絡功能 3、網絡命令 4、配置文件 1、序列號和確認號有什么區別?   發送方與接收方的發送請求,把SYN設置為1,TCP報文出去都有個號碼,隨機生成稱為序…

    Linux干貨 2016-11-29
  • 為什么新建文件時,所在文件系統還有大量剩余空間,卻提示此文件系統空間已滿??

    一:答疑解惑:    這是因為該文件所在分區的inode號被用盡,雖然分區的剩余容量還有很多。 二:基本原理:   inode為何物block又為何物?以及,inode都有哪些特征?   ①我們知道,在linux文件系統中,文件名只是計算機用來給人看,而計算機本身只識別文件所對應的數字或編號,而這個編號或數字…

    2017-07-22
  • CentOS7的虛擬機安裝

    剛學習linux下CentOS7的操作,熟悉一下CentOS7的安裝,所以寫一下CentOS7的安裝教程,如果那里有寫的不對的話希望得到指正。 我是在VMware下裝的CentOS7 第一步配置硬件 先創建一個虛擬機 這里我選擇的典型模式,新手嘛,新手難度的創建就好,高手難度的等新手難度熟練了再去碰好了,當然這是我的建議… 下一步然后光盤選擇稍后…

    2017-07-15
  • N25期–第十五周作業

    1、 總結sed和awk的詳細用法; 2、刪除/boot/grub/grub.conf文件中所有行的行首的空白字符; # sed ‘s@^[[:space:]]\+@@’ /boot/grub/grub.conf 3、刪除/etc/fstab文件中所有以#開頭,后跟至少一個空白字符的行的行首的#和空白字符; # sed ‘s@^#[[:space:]]*@@…

    Linux干貨 2017-05-08
  • shell 腳本編程基礎

    Shell腳本簡介: Shell腳本是一種特殊的程序,它是用戶與linux系統內核之間的一個接口,shell是一個工具程序,在用戶登錄后系統啟動。它解釋并運行由命令行或腳本文件輸入的命令,從而實現用戶與內核間的交互。 Shell腳本:也就是用各類命令預先放入到一個文件中,方便一次性執行的一個程序文件,主要是方便管理員進行設置或者管理用的,是利用shell的功…

    Linux干貨 2016-08-21
欧美性久久久久