Erläuterung der grundlegenden Befehlsklassifizierung des Linux-Systembetriebs

巴扎黑
Freigeben: 2017-07-17 09:33:30
Original
1394 Leute haben es durchsucht

Erläuterung der grundlegenden Befehlsklassifizierung des Linux-Systembetriebs

1. Das Konzept des Befehls

  • Ausführungsprozess des Befehls

    Wenn das System einen externen Befehl ausführt Zum ersten Mal ist die Hash-Cache-Tabelle leer. Das System sucht zunächst nach dem Befehl im PTAH-Pfad. Anschließend wird der Pfad zum Hasa-Cache hinzugefügt und dann direkt ausgeführt aus dem Hash-Pfad. Wenn er nicht vorhanden ist, wird er direkt aus dem Pfad unter PATH ausgeführt, und die Hash-Tabelle kann die Aufrufrate des Befehls verbessern.

  • Befehlspriorität

    Alias ​​---------------------- ---- ----------------Alias ​​​​
      eingebaut----------------------- --------- -Interner Befehl
        hash---------------------------------------Cache-Tabelle
          $PATH-- -------- ----Ausführbare Programme oder Skripte (externe Befehle)

  • Interne Befehle und externe Befehle

    Intern Befehle sind diejenigen, die mit der Shell geliefert werden
    Externe Befehle werden standardmäßig bei der Installation des Systems installiert und haben entsprechende Pfade im Dateisystem

  • Überprüfen Sie, ob der Befehl ist ein interner Befehl oder ein externer Befehl type [commnd]

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

    2. Alias ​​​​des Befehls

    Der benannte Alias ​​ist nur im aktuellen Prozess gültig
    Wenn Sie möchten, dass es dauerhaft gültig ist, muss es in der Konfigurationsdatei definiert werden
    Nur für aktuellen Benutzer: ~/.bashrc
    Gültig für alle Benutzer: /etc/bashrc

  • Alle Aliase im Prozess anzeigenalias

    [root@centos6 ~]#alias
    alias cp='cp -i'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    ......
    Nach dem Login kopieren
  • Alias ​​definierenalias NAME="VALUE"

    [root@centos6 ~]#alias aubin=cat
    [root@centos6 ~]#aubin test
    hello world
    Nach dem Login kopieren
  • Alias ​​löschen

    [root@centos6 ~]#unalias aubin
    [root@centos6 ~]#aubin test
    -bash: aubin: command not found
    Nach dem Login kopieren
  • Paar definierenAktueller Benutzer Permanenter Alias ​​

    [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                       #立即生效
    Nach dem Login kopieren
  • Definition Angegeben Benutzer Gültiger Alias ​​

    [root@centos6 ~]#cd ~ li
    [root@centos6 li]#vim .bashrc                 #编辑用户目录下的.bashrc
    Nach dem Login kopieren
  • Definieren Sie alle Benutzergültige Aliase

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

    3. Interne Befehle

Shell-Programm findet heraus, wo der Befehl eingegeben werden muss. Das entsprechende ausführbare Programm oder Code wird von der Shell analysiert und an den Kernel übermittelt, um Ressourcen zuzuweisen und auszuführen.

  • Alle internen Befehle anzeigen

    [root@centos6 ~]#help
    Nach dem Login kopieren
    [root@centos6 ~]#enable
    enable .
    enable :
    enable [
    enable alias
    enable bg
    enable bind
    ......
    Nach dem Login kopieren
  • Interne Befehle deaktivieren und aktivierenenable

    [root@centos6 li]#enable -n cd                 #禁用内部命令
    [root@centos6 li]#enable cd                    #启用内部命令
    Nach dem Login kopieren
  • Interne Befehle deaktivieren Ungültig

    [root@centos6 li]#enable -n pwd
    [root@centos6 li]#enable -n                    #查看禁用的内部命令或如下图用help
    enable -n pwd
    Nach dem Login kopieren

    Sie können auch help die deaktivierten Befehle überprüfen [*, bevor der Befehl den Befehl darstellt wurde verwendet]
    黄色方框 中命令前的*代表命令已禁用
    Sie können es weiterhin verwenden, nachdem Sie den internen Befehl deaktiviert haben enable -n pwd

    [root@centos6 li]#pwd
    /home/li
    Nach dem Login kopieren

    Verwenden Sie which, um die Ausführungsdatei des Befehls anzuzeigen

    [root@centos6 li]#which pwd
    /bin/pwd
    Nach dem Login kopieren

    Wenn der interne Befehl deaktiviert ist, durchsuchen Sie die Hash-Tabelle weiter und (PATH) entsprechend der Bash-Priorität, bis die ausführbare Datei von in)/bin/pwdPATH gefunden wird .

  • Deaktivierte interne Befehle anzeigen

    [root@centos6 li]#enable -n
    enable -n cd
    enable -n pwd
    Nach dem Login kopieren

    oder verwenden Sie den Befehl help wie oben gezeigt, um


4.HASH-Cache-Tabelle

wird zum Anzeigen und Löschen der Hash-Tabelle verwendet. Bei der Ausführung des Befehls fragt das System zunächst die Hash-Tabelle ab.

  • Befehlscache anzeigen

    hash

    [root@centos6 ~]# hash
      hits  command
       3    /usr/bin/cal
       1    /usr/bin/yum
    Nach dem Login kopieren
    [root@centos6 ~]# 查看详细的Hash表
    [root@centos6 ~]#hash -l
    builtin hash -p /bin/dd dd
    builtin hash -p /usr/bin/yum yum
    Nach dem Login kopieren
  • Inhalt zur Hash-Tabelle hinzufügen

    hash -p path command

    [root@centos6 ~]#将cat定义一个别名存在hash表
    [root@centos6 ~]#hash -p /bin/cat aubin  
    [root@centos6 ~]#aubin test
    hello world
    Nach dem Login kopieren
  • Drucken Sie den Pfad des Befehls in der Hash-Tabelle aus

    hash -t command

    [root@centos6 ~]#hash -t aubin
    /bin/cat
    Nach dem Login kopieren
  • Löschen Sie den angegebenen Befehl in der Hash-Tabelle

    hash -d command

    [root@centos6 ~]#hash -d aubin
    Nach dem Login kopieren
  • Alle Befehle in der Hash-Tabelle löschen

    hash -r

    [root@centos6 ~]# hash -r
    Nach dem Login kopieren
  • Pfad des Befehls anzeigen

    which

    [root@centos6 ~]# which cat            #查看命令的路径,以第一个路径为准
    /bin/cat
    [root@centos6 ~]# which -a cat         #查看命令所有路径,一个命令可能有多个路径
    /bin/cat
    /usr/local/bin/cat
    Nach dem Login kopieren

    5. Externer Befehl

    Ein externer Befehl ist eine ausführbare Datei. Wenn ein externer Befehl ausgeführt wird, führt das System die entsprechende ausführbare Datei aus das Dateiverzeichnis.

  • Listen Sie den Pfad des Befehls auf

    [root@centos6 /]#which echo                    #列出命令的路径
    /bin/echo
    Nach dem Login kopieren
    [root@centos6 /]#which cp                      #which列出文件路径会显示别名
    alias cp='cp -i'
        /bin/cp
    [root@centos6 /]#which --skip-alias cp         #列出文件路径而不显示别名
    /bin/cp
    Nach dem Login kopieren
  • Listen Sie alle Pfade des Befehls auf, über die mehrere Bash verfügen Derselbe Befehl, der Befehl hat mehrere Pfade.

    [root@centos6 /]#which -a echo              
    /bin/echo
    Nach dem Login kopieren
  • Listen Sie die Pfade zu Befehlen und Hilfehandbüchern auf

    [root@centos6 /]#whereis echo
    echo: /bin/echo /usr/share/man/man1/echo.1.gz /usr/share/man/man1p/echo.1p.gz
    Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonErläuterung der grundlegenden Befehlsklassifizierung des Linux-Systembetriebs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage