Maison  >  Article  >  Opération et maintenance  >  Classification des commandes de base de l'explication du fonctionnement du système Linux

Classification des commandes de base de l'explication du fonctionnement du système Linux

巴扎黑
巴扎黑original
2017-07-17 09:33:301405parcourir

Classification des commandes de base de l'explication du fonctionnement du système Linux

1. La notion de commande

  • 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

    2. Alias ​​de commande

    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                 #立即生效

    Commandes internes

  • 3.

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/pwdPATH, 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


4.La table de cache HASH

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

    5. Commande externe

    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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn