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
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' ......
Alias definierenalias NAME="VALUE"
[root@centos6 ~]#alias aubin=cat [root@centos6 ~]#aubin test hello world
Alias löschen
[root@centos6 ~]#unalias aubin [root@centos6 ~]#aubin test -bash: aubin: command not found
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 #立即生效
Definition Angegeben Benutzer Gültiger Alias
[root@centos6 ~]#cd ~ li [root@centos6 li]#vim .bashrc #编辑用户目录下的.bashrc
Definieren Sie alle Benutzergültige Aliase
[root@centos6 ~]#vim /etc/bashrc alias aubin=cat # <<<-----加入定义别名 [root@centos6 ~]#. /etc/bashrc #立即生效
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
[root@centos6 ~]#enable enable . enable : enable [ enable alias enable bg enable bind ......
Interne Befehle deaktivieren und aktivierenenable
[root@centos6 li]#enable -n cd #禁用内部命令 [root@centos6 li]#enable cd #启用内部命令
Interne Befehle deaktivieren Ungültig
[root@centos6 li]#enable -n pwd [root@centos6 li]#enable -n #查看禁用的内部命令或如下图用help enable -n pwd
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
Verwenden Sie which
, um die Ausführungsdatei des Befehls anzuzeigen
[root@centos6 li]#which pwd /bin/pwd
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/pwd
PATH gefunden wird .
Deaktivierte interne Befehle anzeigen
[root@centos6 li]#enable -n enable -n cd enable -n pwd
oder verwenden Sie den Befehl help
wie oben gezeigt, um
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.
hash
[root@centos6 ~]# hash hits command 3 /usr/bin/cal 1 /usr/bin/yum
[root@centos6 ~]# 查看详细的Hash表 [root@centos6 ~]#hash -l builtin hash -p /bin/dd dd builtin hash -p /usr/bin/yum yum
hash -p path command
[root@centos6 ~]#将cat定义一个别名存在hash表 [root@centos6 ~]#hash -p /bin/cat aubin [root@centos6 ~]#aubin test hello world
hash -t command
[root@centos6 ~]#hash -t aubin /bin/cat
hash -d command
[root@centos6 ~]#hash -d aubin
hash -r
[root@centos6 ~]# hash -r
which
[root@centos6 ~]# which cat #查看命令的路径,以第一个路径为准 /bin/cat [root@centos6 ~]# which -a cat #查看命令所有路径,一个命令可能有多个路径 /bin/cat /usr/local/bin/cat
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.
[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
[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
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!