Maison > Article > Opération et maintenance > Classification des commandes de base de l'explication du fonctionnement du système Linux
Processus d'exécution de la commande
Lorsque le système exécute une commande externe pour la première fois, la table du cache Hash est vide. Le système recherchera d'abord la commande à partir du chemin PTAH. Après l'avoir trouvé, le chemin sera ajouté au cache Hasa. Lorsque la commande sera à nouveau exécutée, elle sera exécutée directement. à partir du chemin de hachage. S'il existe, il sera exécuté directement. S'il n'existe pas, il sera exécuté directement à partir du chemin sous PATH, et la table de hachage peut améliorer le taux d'appel de la commande.
Priorité de commande
alias ---------------------- ---- ----------------Alias
intégré----------------------- --------- -Commande interne
hash-------------------------Table de cache
$PATH-- -------- ----Programmes ou scripts exécutables (commandes externes)
Commandes internes et commandes externes
Internes les commandes sont celles fournies avec le shell
Les commandes externes sont installées par défaut lors de l'installation du système et ont des chemins correspondants dans le système de fichiers
Vérifiez si la commande est une commande interne ou une commande externe type [commnd]
[root@centos6 ~]# type cat #判断cat命令,外部命令显示文件路径 cat is /bin/cat [root@centos6 ~]# type cd #判断cd命令 cd is a shell builtin
Les alias nommés ne sont valides que dans le processus en cours
Si vous souhaitez qu'ils soient permanents, ils doivent être définis dans le fichier de configuration
Uniquement pour l'utilisateur actuel : ~/.bashrc
Valable pour tous les utilisateurs : /etc/bashrc
Afficher tous les alias dans le processusalias
[root@centos6 ~]#alias alias cp='cp -i' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' ......
Définir l'aliasalias NAME="VALUE"
[root@centos6 ~]#alias aubin=cat [root@centos6 ~]#aubin test hello world
Supprimer l'alias
🎜>[root@centos6 ~]#unalias aubin [root@centos6 ~]#aubin test -bash: aubin: command not found
Définir la paire Utilisateur actuel Alias permanent
[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 #立即生效
Définition Utilisateur spécifié Alias valides
[root@centos6 ~]#cd ~ li [root@centos6 li]#vim .bashrc #编辑用户目录下的.bashrc
Définir tous les utilisateursalias valides
[root@centos6 ~]#vim /etc/bashrc alias aubin=cat # <<<-----加入定义别名 [root@centos6 ~]#. /etc/bashrc #立即生效
le programme shell trouve où taper la commande Le programme ou code exécutable correspondant est analysé par le shell et soumis au noyau pour allouer des ressources et l'exécuter.
Afficher toutes les commandes internes
[root@centos6 ~]#help
[root@centos6 ~]#enable enable . enable : enable [ enable alias enable bg enable bind ......
Désactiver et activer les commandes internesenable
[root@centos6 li]#enable -n cd #禁用内部命令 [root@centos6 li]#enable cd #启用内部命令
Désactiver les commandes internes Invalide
[root@centos6 li]#enable -n pwd [root@centos6 li]#enable -n #查看禁用的内部命令或如下图用help enable -n pwd
Vous pouvez également help
vérifier les commandes désactivées [*
avant que la commande représente La commande a été utilisé]
Vous pouvez toujours l'utiliser après avoir désactivé la commande interne enable -n pwd
[root@centos6 li]#pwd /home/li
Utilisez which
pour afficher le fichier d'exécution de la commande
[root@centos6 li]#which pwd /bin/pwd
Lorsque la commande interne est désactivée, continuez à rechercher la table de hachage et (PATH) selon la priorité bash jusqu'à ce que le fichier exécutable de soit trouvé dans)/bin/pwd
PATH, exécutez-le. .
Afficher les commandes internes désactivées
[root@centos6 li]#enable -n enable -n cd enable -n pwd
ou utilisez la commande help
comme indiqué ci-dessus pour afficher
est utilisée pour afficher et effacer la table de hachage Lors de l'exécution de la commande, le système interrogera d'abord la table de hachage.
Afficher le cache de commandeshash
[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
Ajouter du contenu à la table de hachagehash -p path command
[root@centos6 ~]#将cat定义一个别名存在hash表 [root@centos6 ~]#hash -p /bin/cat aubin [root@centos6 ~]#aubin test hello world
Imprimer le chemin de la commande dans la table de hachagehash -t command
[root@centos6 ~]#hash -t aubin /bin/cat
Supprimer la commande spécifiée dans la table de hachagehash -d command
[root@centos6 ~]#hash -d aubin
Supprimer toutes les commandes de la table de hachagehash -r
[root@centos6 ~]# hash -r
Afficher le chemin de la commandewhich
[root@centos6 ~]# which cat #查看命令的路径,以第一个路径为准 /bin/cat [root@centos6 ~]# which -a cat #查看命令所有路径,一个命令可能有多个路径 /bin/cat /usr/local/bin/cat
Une commande externe est un fichier exécutable Lorsqu'une commande externe est exécutée, le système exécutera le fichier exécutable correspondant dans. le répertoire des fichiers.
Liste le chemin de la commande
[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
Liste tous les chemins de la commande, plusieurs bash ont la même commande, la commande a plusieurs chemins.
[root@centos6 /]#which -a echo /bin/echo
Répertoriez les chemins d'accès aux commandes et aux manuels d'aide
[root@centos6 /]#whereis echo echo: /bin/echo /usr/share/man/man1/echo.1.gz /usr/share/man/man1p/echo.1p.gz
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!