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

巴扎黑
Libérer: 2017-07-17 09:33:30
original
1372 Les gens l'ont consulté

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
    Copier après la connexion

    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'
    ......
    Copier après la connexion
  • Définir l'aliasalias NAME="VALUE"

    [root@centos6 ~]#alias aubin=cat
    [root@centos6 ~]#aubin test
    hello world
    Copier après la connexion
  • Supprimer l'alias

    🎜>
    [root@centos6 ~]#unalias aubin
    [root@centos6 ~]#aubin test
    -bash: aubin: command not found
    Copier après la connexion
  • 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                       #立即生效
    Copier après la connexion
  • Définition Utilisateur spécifié Alias ​​valides

    [root@centos6 ~]#cd ~ li
    [root@centos6 li]#vim .bashrc                 #编辑用户目录下的.bashrc
    Copier après la connexion
  • Définir tous les utilisateursalias valides

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

    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
    Copier après la connexion
    [root@centos6 ~]#enable
    enable .
    enable :
    enable [
    enable alias
    enable bg
    enable bind
    ......
    Copier après la connexion
  • Désactiver et activer les commandes internesenable

    [root@centos6 li]#enable -n cd                 #禁用内部命令
    [root@centos6 li]#enable cd                    #启用内部命令
    Copier après la connexion
  • Désactiver les commandes internes Invalide

    [root@centos6 li]#enable -n pwd
    [root@centos6 li]#enable -n                    #查看禁用的内部命令或如下图用help
    enable -n pwd
    Copier après la connexion

    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
    Copier après la connexion

    Utilisez which pour afficher le fichier d'exécution de la commande

    [root@centos6 li]#which pwd
    /bin/pwd
    Copier après la connexion

    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
    Copier après la connexion

    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
    Copier après la connexion
    [root@centos6 ~]# 查看详细的Hash表
    [root@centos6 ~]#hash -l
    builtin hash -p /bin/dd dd
    builtin hash -p /usr/bin/yum yum
    Copier après la connexion
  • 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
    Copier après la connexion
  • Imprimer le chemin de la commande dans la table de hachagehash -t command

    [root@centos6 ~]#hash -t aubin
    /bin/cat
    Copier après la connexion
  • Supprimer la commande spécifiée dans la table de hachagehash -d command

    [root@centos6 ~]#hash -d aubin
    Copier après la connexion
  • Supprimer toutes les commandes de la table de hachagehash -r

    [root@centos6 ~]# hash -r
    Copier après la connexion
  • Afficher le chemin de la commandewhich

    [root@centos6 ~]# which cat            #查看命令的路径,以第一个路径为准
    /bin/cat
    [root@centos6 ~]# which -a cat         #查看命令所有路径,一个命令可能有多个路径
    /bin/cat
    /usr/local/bin/cat
    Copier après la connexion

    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
    Copier après la connexion
    [root@centos6 /]#which cp                      #which列出文件路径会显示别名
    alias cp='cp -i'
        /bin/cp
    [root@centos6 /]#which --skip-alias cp         #列出文件路径而不显示别名
    /bin/cp
    Copier après la connexion
  • 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
    Copier après la connexion
  • 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
    Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!