Recherche de site Web

Comprendre les différentes classifications des commandes Shell et leur utilisation sous Linux


Lorsqu'il s'agit d'acquérir un contrôle absolu sur votre système Linux, rien n'est comparable à l'interface de ligne de commande (CLI). Pour devenir un utilisateur expérimenté de Linux, il faut comprendre les différents types de commandes shell et les manières appropriées de les utiliser à partir du terminal.

Sous Linux, il existe plusieurs types de commandes, et pour un nouvel utilisateur Linux, connaître la signification des différentes commandes permet une utilisation efficace et précise. Par conséquent, dans cet article, nous passerons en revue les différentes classifications des commandes shell sous Linux.

Lecture suggérée : 5 trucs et astuces intéressants en ligne de commande sous Linux – Partie 1

Une chose importante à noter est que l’interface de ligne de commande est différente du shell, elle vous fournit uniquement un moyen d’accéder au shell. Le shell, également programmable, permet alors de communiquer avec le noyau à l'aide de commandes.

Différentes classifications de commandes Linux relèvent des classifications suivantes :

1. Exécutables du programme (commandes du système de fichiers)

Lorsque vous exécutez une commande, Linux recherche dans les répertoires stockés dans la variable d'environnement ` PATH de gauche à droite l'exécutable de cette commande spécifique.

Vous pouvez afficher les répertoires dans le ` PATH comme suit :

echo $PATH

/home/aaronkilik/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Dans l'ordre ci-dessus, le répertoire /home/aaronkilik/bin sera recherché en premier suivi de /usr/local/sbin et ainsi de suite, l'ordre est significatif dans la recherche processus.

Exemples de commandes du système de fichiers dans le répertoire /usr/bin :

ll /bin/
Exemple de sortie
total 16284
drwxr-xr-x  2 root root    4096 Jul 31 16:30 ./
drwxr-xr-x 23 root root    4096 Jul 31 16:29 ../
-rwxr-xr-x  1 root root    6456 Apr 14 18:53 archdetect*
-rwxr-xr-x  1 root root 1037440 May 17 16:15 bash*
-rwxr-xr-x  1 root root  520992 Jan 20  2016 btrfs*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfs-calc-size*
lrwxrwxrwx  1 root root       5 Jul 31 16:19 btrfsck -> btrfs*
-rwxr-xr-x  1 root root  278376 Jan 20  2016 btrfs-convert*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfs-debug-tree*
-rwxr-xr-x  1 root root  245368 Jan 20  2016 btrfs-find-root*
-rwxr-xr-x  1 root root  270136 Jan 20  2016 btrfs-image*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfs-map-logical*
-rwxr-xr-x  1 root root  245368 Jan 20  2016 btrfs-select-super*
-rwxr-xr-x  1 root root  253816 Jan 20  2016 btrfs-show-super*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfstune*
-rwxr-xr-x  1 root root  245368 Jan 20  2016 btrfs-zero-log*
-rwxr-xr-x  1 root root   31288 May 20  2015 bunzip2*
-rwxr-xr-x  1 root root 1964536 Aug 19  2015 busybox*
-rwxr-xr-x  1 root root   31288 May 20  2015 bzcat*
lrwxrwxrwx  1 root root       6 Jul 31 16:19 bzcmp -> bzdiff*
-rwxr-xr-x  1 root root    2140 May 20  2015 bzdiff*
lrwxrwxrwx  1 root root       6 Jul 31 16:19 bzegrep -> bzgrep*
-rwxr-xr-x  1 root root    4877 May 20  2015 bzexe*
lrwxrwxrwx  1 root root       6 Jul 31 16:19 bzfgrep -> bzgrep*
-rwxr-xr-x  1 root root    3642 May 20  2015 bzgrep*

2. Alias Linux

Ce sont des commandes définies par l'utilisateur, elles sont créées à l'aide de la commande intégrée du shell alias et contiennent d'autres commandes shell avec des options et des arguments. L’idée est essentiellement d’utiliser des noms nouveaux et courts pour les commandes longues.

Lecture suggérée : 10 utilisations étonnantes et mystérieuses du (!) Symbole ou opérateur dans les commandes Linux

La syntaxe de création d'un alias est la suivante :

alias newcommand='command -options'

Pour répertorier tous les alias sur votre système, exécutez la commande ci-dessous :

alias -p

alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'

Pour créer un nouvel alias sous Linux, parcourez quelques exemples ci-dessous.

alias update='sudo apt update'
alias upgrade='sudo apt dist-upgrade'
alias -p | grep 'up'

Cependant, les alias que nous avons créés ci-dessus ne fonctionnent que temporairement, au redémarrage du système, ils ne fonctionneront plus après le prochain démarrage. Vous pouvez définir des alias permanents dans votre fichier .bashrc comme indiqué ci-dessous.

Après les avoir ajoutés, exécutez la commande ci-dessous pour l'activer.

source ~/.bashrc

3. Mots réservés au shell Linux

Dans la programmation shell, des mots tels que if, then, fi, pour, pendant >, case, esac, else, jusqu'à et bien d'autres sont des mots réservés par Shell. Comme la description l’indique, ils ont une signification spécialisée pour la coquille.

Vous pouvez lister tous les mots-clés du shell Linux à l'aide de la commande type comme indiqué :

type if then fi for while case esac else until
if is a shell keyword
then is a shell keyword
fi is a shell keyword
for is a shell keyword
while is a shell keyword
case is a shell keyword
esac is a shell keyword
else is a shell keyword
until is a shell keyword

Lecture suggérée : 10 opérateurs de chaînage Linux utiles avec des exemples pratiques

4. Fonctions du shell Linux

Une fonction shell est un groupe de commandes exécutées collectivement dans le shell actuel. Les fonctions aident à effectuer une tâche spécifique dans un script shell. La forme conventionnelle d’écriture de fonctions shell dans un script est la suivante :

function_name() {
command1
command2
…….
}

Alternativement,

function function_name {
command1
command2
…….
}

Voyons comment écrire des fonctions shell dans un script nommé shell_functions.sh.

#!/bin/bash 

#write a shell function to update and upgrade installed packages 
upgrade_system(){
        sudo apt update;
        sudo apt dist-upgrade;
}

#execute function
upgrade_system

Au lieu d'exécuter les deux commandes : sudo apt update et sudo apt dist-upgrade depuis la ligne de commande, nous avons écrit une simple fonction shell pour exécuter les deux commandes en une seule fois. commande, upgrade_system dans un script.

Lecture suggérée : 5 scripts Shell pour les débutants Linux pour apprendre la programmation Shell

Enregistrez le fichier et rendez ensuite le script exécutable. Enfin, exécutez-le comme ci-dessous :

chmod +x shell_functions.sh
./shell_functions.sh

5. Commandes intégrées du shell Linux

Ce sont des commandes Linux intégrées au shell, vous ne pouvez donc pas les trouver dans le système de fichiers. Ils incluent pwd, cd, bg, alias, historique, type, source, read, exit et bien d'autres.

Vous pouvez lister ou vérifier les commandes intégrées de Linux à l'aide de la commande type comme indiqué :

type pwd
pwd is a shell builtin
$ type cd
cd is a shell builtin
$ type bg
bg is a shell builtin
$ type alias
alias is a shell builtin
$ type history
history is a shell builtin

Découvrez certaines utilisations des commandes intégrées à Linux :

  1. 15 exemples de commandes 'pwd' sous Linux
  2. 15 exemples de commandes 'cd' sous Linux
  3. Apprenez la puissance de la commande « historique » de Linux

Conclusion

En tant qu'utilisateur Linux, il est toujours important de connaître le type de commande que vous exécutez. Je pense qu'avec l'explication précise et simple à comprendre ci-dessus comprenant quelques illustrations pertinentes, vous avez probablement une bonne compréhension des différentes catégories de commandes Linux.

Vous pouvez également nous contacter via la section commentaires ci-dessous pour toute question ou idée supplémentaire que vous souhaiteriez nous proposer.