首頁  >  文章  >  運維  >  LInux系統操作講解之基礎指令分類

LInux系統操作講解之基礎指令分類

巴扎黑
巴扎黑原創
2017-07-17 09:33:301403瀏覽

LInux系統操作講解之基礎指令分類

1. 指令的概念

  • 指令的執行過程

    系統第一次執行外部指令時Hash快取表為空,系統會先從PTAH路徑下尋找指令,找到後會將路徑加入Hasa快取中,當再次執行此指令時會直接從Hash的路徑下執行,如果有直接執行,如果不存在將繼續從PATH下的路徑繼續查找,Hash表可以提高指令的呼叫速率。

  • 指令的優先權

    alias --------------------- ----------------別名
      builtin------------------------------------- -內部指令
        hash-------------------------快取表
          $PATH----------- ----可執行程式或腳本(外部指令)

  • 內部指令與外部指令

    ##內部指令是shell自帶的

    外部命令是安裝系統時預設安裝的,並且在檔案系統下有對應的路徑

  • #查看命令是內部命令還是外部命令

    type [commnd ]

    [root@centos6 ~]# type cat                  #判断cat命令,外部命令显示文件路径
    cat is /bin/cat
    [root@centos6 ~]# type cd                   #判断cd命令
    cd is a shell builtin

    2.指令的別名

    命名別名只在目前行程中有效

    如果想永久有效,要定義在設定檔中
      僅對目前使用者:~/.bashrc
      對所有使用者有效:/etc/bashrc

  • 查看流程中所有的別名

    alias

    [root@centos6 ~]#alias
    alias cp='cp -i'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    ......
  • 定義別名

    alias NAME="VALUE"

    [root@centos6 ~]#alias aubin=cat
    [root@centos6 ~]#aubin test
    hello world
  • 刪除別名

    [root@centos6 ~]#unalias aubin
    [root@centos6 ~]#aubin test
    -bash: aubin: command not found
  • 定義對

    目前使用者永久生效的別名

    [root@centos6 ~]#vim .bashrc 
    # .bashrc
    # User specific aliases and functions
    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'
    alias aubin=cat                                # <<<-----此处定义别名
    # Source global definitions
    if [ -f /etc/bashrc ]; then
        . /etc/bashrc
    fi
    [root@centos6 ~]#. .bash                       #立即生效
  • #定義

    指定使用者生效的別名

    [root@centos6 ~]#cd ~ li
    [root@centos6 li]#vim .bashrc                 #编辑用户目录下的.bashrc
  • 定義

    所有使用者生效的別名

    [root@centos6 ~]#vim /etc/bashrc
    alias aubin=cat                                # <<<-----加入定义别名
    [root@centos6 ~]#. /etc/bashrc                 #立即生效

    #3.內部指令

## shell程式找到鍵入命令所對應的可執行程式或程式碼,由shell分析後提交給核心分配資源並將其運行。

    查看所有的內部指令
  • [root@centos6 ~]#help
    [root@centos6 ~]#enable
    enable .
    enable :
    enable [
    enable alias
    enable bg
    enable bind
    ......

  • #內部指令的停用與啟用
  • enable

    <pre class="brush:php;toolbar:false">[root@centos6 li]#enable -n cd                 #禁用内部命令 [root@centos6 li]#enable cd                    #启用内部命令</pre>

  • 停用內部指令
  • 失效

    [root@centos6 li]#enable -n pwd
    [root@centos6 li]#enable -n                    #查看禁用的内部命令或如下图用help
    enable -n pwd
    也可以

    help

    查已經被停用的指令【指令前的*代表指令已經用】
    停用內部指令黄色方框 中命令前的*代表命令已禁用enable -n pwd
    後依然可以使用<pre class="brush:php;toolbar:false">[root@centos6 li]#pwd /home/li</pre>使用

    which

    檢視指令的執行檔<pre class="brush:php;toolbar:false">[root@centos6 li]#which pwd /bin/pwd</pre>當內部指令停用後,依照bash優先權繼續搜尋Hash表、

    \(PATH。直到在\)

    PATH中發現/bin/pwd的可執行檔則將其運行。

  • 查看禁用的內部命令
  • [root@centos6 li]#enable -n
    enable -n cd
    enable -n pwd

    或如上圖所示使用

    help

    命令查看

4.HASH快取表

用來顯示和清除雜湊表,執行指令的時候,系統會先查詢雜湊表。

    查看指令的快取
  • hash

    <pre class="brush:php;toolbar:false">[root@centos6 ~]# hash   hits  command    3    /usr/bin/cal    1    /usr/bin/yum</pre> <pre class="brush:php;toolbar:false">[root@centos6 ~]# 查看详细的Hash表 [root@centos6 ~]#hash -l builtin hash -p /bin/dd dd builtin hash -p /usr/bin/yum yum</pre>

  • 在Hash表中增加內容
  • hash - p path command

    <pre class="brush:php;toolbar:false">[root@centos6 ~]#将cat定义一个别名存在hash表 [root@centos6 ~]#hash -p /bin/cat aubin   [root@centos6 ~]#aubin test hello world</pre>

  • 列印Hash表中指令的路徑
  • hash -t command

    <pre class="brush:php;toolbar:false">[root@centos6 ~]#hash -t aubin /bin/cat</pre>

  • #刪除Hash表中指定指令
  • hash -d command

    <pre class="brush:php;toolbar:false">[root@centos6 ~]#hash -d aubin</pre>

  • #刪除Hash表中所有指令
  • hash -r

    <pre class="brush:php;toolbar:false">[root@centos6 ~]# hash -r</pre>

  • 查看命令的路徑
  • which

    <pre class="brush:php;toolbar:false">[root@centos6 ~]# which cat            #查看命令的路径,以第一个路径为准 /bin/cat [root@centos6 ~]# which -a cat         #查看命令所有路径,一个命令可能有多个路径 /bin/cat /usr/local/bin/cat</pre>

    #5.外部命令

    外部命令就是可執行文件,當執行外部指令時,系統會去執行在檔案目錄下對應的可執行檔。

  • 列出指令的路徑
  • [root@centos6 /]#which echo                    #列出命令的路径
    /bin/echo
    [root@centos6 /]#which cp                      #which列出文件路径会显示别名
    alias cp='cp -i'
        /bin/cp
    [root@centos6 /]#which --skip-alias cp         #列出文件路径而不显示别名
    /bin/cp

  • #列出指令所有路徑,多個bash有相同指令時,則指令有多個路徑。
  • [root@centos6 /]#which -a echo              
    /bin/echo

  • 列出指令與說明手冊的路徑
  • [root@centos6 /]#whereis echo
    echo: /bin/echo /usr/share/man/man1/echo.1.gz /usr/share/man/man1p/echo.1p.gz

以上是LInux系統操作講解之基礎指令分類的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn