Dans ce chapitre, vous allez apprendre à travailler avec les commandes Linux.
Objectifs : Dans ce chapitre, les futurs administrateurs Linux vont apprendre comment :
se déplacer dans l’arborescence du système ; créer un fichier texte, afficher son contenu et le modifier ; utiliser les commandes les plus utiles de Linux.
Les systèmes Linux actuels possèdent des utilitaires graphiques dédiés au travail d’un administrateur. Toutefois, il est important d’être capable d’utiliser l’interface en mode ligne de commandes et cela pour plusieurs raisons :
La majorité des commandes du système sont communes à toutes les distributions Linux, ce qui n’est pas le cas des outils graphiques.
Il peut arriver que le système ne démarre plus correctement mais qu’un interpréteur de commandes de secours reste accessible.
L’administration à distance se fait en ligne de commandes avec un terminal SSH.
Afin de préserver les ressources du serveur, l’interface graphique n’est soit pas installée, soit lancée à la demande.
L’administration se fait par des scripts.
L’apprentissage de ces commandes permet à l’administrateur de se connecter à un terminal Linux, de gérer ses ressources, ses fichiers, d’identifier la station, le terminal et les utilisateurs connectés, etc.
L’utilisateur du système Linux est défini, dans le fichier /etc/passwd, par :
un nom de connexion, plus communément appelé « login », ne contenant pas d’espace ;
un identifiant numérique : UID (User Identifier) ;
un identifiant de groupe : GID (Group Identifier) ;
un interpréteur de commandes, un shell, qui peut être différent d’un utilisateur à l’autre ;
un répertoire de connexion, le home directory.
Dans d’autres fichiers par :
un mot de passe, qui sera chiffré avant d’être stocké (/etc/shadow) ;
une invite de commande, ou prompt de connexion, qui sera symbolisée par un # pour les administrateurs et un $ pour les autres utilisateurs (/etc/profile).
En fonction de la politique de sécurité mise en œuvre sur le système, le mot de passe devra comporter un certain nombre de caractères et respecter des exigences de complexité.
Parmi les interpréteurs de commandes existants, le Bourne-Again Shell (/bin/bash) est celui qui est le plus fréquemment utilisé. Il est affecté par défaut aux nouveaux utilisateurs. Pour diverses raisons, des utilisateurs avancés de Linux choisiront des interpréteurs de commandes alternatifs parmi le Korn Shell (ksh), le C Shell (csh), etc.
Le répertoire de connexion de l’utilisateur est par convention stocké dans le répertoire /home du poste de travail. Il contiendra les données personnelles de l’utilisateur et les fichiers de configuration de ses applications. Par défaut, à la connexion, le répertoire de connexion est sélectionné comme répertoire courant.
Une installation type poste de travail (avec interface graphique) démarre cette interface sur le terminal 1. Linux étant multi-utilisateurs, il est possible de connecter plusieurs utilisateurs plusieurs fois, sur des terminaux physiques (TTY) ou virtuels (PTS) différents. Les terminaux virtuels sont disponibles au sein d’un environnement graphique. Un utilisateur bascule d’un terminal physique à l’autre à l’aide des touches Alt + Fx depuis la ligne de commandes ou à l’aide des touches CTRL + Alt + Fx.
Une fois que l’utilisateur est connecté sur une console, le shell affiche l’invite de commandes (prompt). Il se comporte ensuite comme une boucle infinie, à chaque saisie d’instruction :
affichage de l’invite de commande ;
lecture de la commande ;
analyse de la syntaxe ;
substitution des caractères spéciaux ;
exécution de la commande ;
affichage de l’invite de commande ;
etc.
La séquence de touche CTRL + C permet d’interrompre une commande en cours d’exécution.
L’utilisation d’une commande respecte généralement cette séquence :
commande[option(s)][arguments(s)]
Le nom de la commande est souvent en minuscules.
Un espace sépare chaque élément.
Les options courtes commencent par un tiret (-l), alors que les options longues commencent par deux tirets (--list). Un double tiret (--) indique la fin de la liste d’options.
Il est possible de regrouper certaines options courtes :
$ls-l-i-a
est équivalent à :
$ls-lia
Il peut bien entendu y avoir plusieurs arguments après une option :
$ls-lia/etc/home/var
Dans la littérature, le terme « option » est équivalent au terme « paramètre », plus utilisé dans le domaine de la programmation. Le côté optionnel d’une option ou d’un argument est symbolisé en le mettant entre crochets [ et ]. Lorsque plusieurs options sont possibles, une barre verticale appelée « pipe » les sépare [a|e|i].
Il est impossible pour un administrateur, quel que soit son niveau, de connaître toutes les commandes et options dans les moindres détails. Un manuel est généralement disponible pour toutes les commandes installées.
Une fois trouvée par apropos ou whatis, la lecture du manuel se fait par man (« le man est ton ami »). Cet ensemble de manuels est divisé en 8 sections, regroupant les informations par thèmes, la section par défaut étant la section 1 :
Programmes ou commandes exécutables ;
Les appels système (fonctions fournies par le noyau) ;
Les appels de bibliothèque (fonctions fournies par les bibliothèques) ;
Fichiers spéciaux (généralement situés dans /dev) ;
Formats de fichiers et conventions (fichiers de configuration comme /etc/passwd) ;
Jeux (tels que les applications basées sur des jeux de rôles) ;
Divers (e.g. man(7) ) ;
Commandes d'administration système (généralement uniquement pour root) ;
Routines du noyau (non-standard).
Des informations sur chaque section sont accessibles en saisissant man x intro, où x est le numéro de section.
La commande :
manpasswd
informera l’administrateur sur la commande passwd, ses options, etc. Alors qu’un :
$man5passwd
l’informera sur les fichiers en relations avec la commande.
Toutes les pages des manuels ne sont pas traduites de l'anglais. Cependant, les pages des manuels en anglais sont généralement très précises et fournissent toutes les informations dont vous avez besoin. La syntaxe utilisée et le découpage peuvent dérouter l’administrateur débutant, mais avec de la pratique, il y retrouvera rapidement l’information qu’il recherche.
La navigation dans le manuel se fait avec les flèches ↑ et ↓. Le manuel se quitte en appuyant sur la touche q.
La commande clear permet d’effacer le contenu de l’écran du terminal. En réalité, pour être plus précis, elle permet de décaler l’affichage de sorte que l’invite de commandes se retrouve en haut de l’écran sur la première ligne.
Dans un terminal, l’affichage sera définitivement masqué tandis que dans une interface graphique, un ascenseur permettra de remonter dans l’historique du terminal virtuel.
Pour diverses raisons, le développeur du script peut être amené à utiliser des séquences spéciales (commençant par un caractère \). Dans ce cas, l’option -e sera stipulée, permettant l’interprétation des séquences.
Parmi les séquences fréquemment utilisées, nous citerons :
La commande id est utilisée pour afficher des informations sur les utilisateurs et les groupes. Par défaut, aucun paramètre utilisateur n'est ajouté, et les informations de l'utilisateur et du groupe actuellement connecté sont affichées.
Les options -g, -G, -n et -u affichent respectivement le GID du groupe principal, les GID des groupes secondaires, les noms au lieu des identifiants numériques et l’UID de l’utilisateur.
La commande whoami affiche le login de l’utilisateur courant.
La commande who seule affiche le nom des utilisateurs connectés :
Linux étant multi-utilisateurs, il est probable que plusieurs sessions soient ouvertes sur la même station, que ce soit physiquement ou à travers le réseau. Il est intéressant de savoir quels utilisateurs sont connectés, ne serait-ce que pour communiquer avec eux par l’envoi de messages.
tty : représente un terminal.
pts/: représente une console virtuelle sous environnement graphique, le nombre suivant représentant le numéro de la console virtuelle (0, 1, 2, ...).
L’option -r affiche en plus le niveau d’exécution (voir chapitre « démarrage »).
Sous Linux, l’arborescence des fichiers se présente sous la forme d’un arbre inversé, appelé arborescence hiérarchique unique, dont la racine est le répertoire /.
Le répertoire courant est le répertoire où se trouve l’utilisateur.
Le répertoire de connexion est le répertoire de travail associé à l’utilisateur. Les répertoires de connexion sont, en standard, stockés dans le répertoire /home.
À la connexion de l’utilisateur, le répertoire courant est le répertoire de connexion.
Un chemin absolu référence un fichier depuis la racine en parcourant l’arborescence complète jusqu’au niveau du fichier :
/home/groupA/alice/file
Le chemin relatif référence ce même fichier en parcourant l’arborescence complète depuis le répertoire courant :
../alice/file
Dans l’exemple précèdent, les « .. » font référence au répertoire parent du répertoire actuel.
Un répertoire, même s’il est vide, contiendra obligatoirement au minimum deux références :
. : référence sur lui-même.
.. : référence le répertoire parent du répertoire actuel.
Un chemin relatif peut ainsi commencer par ./ ou par ../. Lorsque le chemin relatif fait référence à un sous dossier ou à un fichier du répertoire courant, alors le ./ est souvent omis. Mentionner le premier ./ de l’arborescence ne sera réellement requis que pour lancer un fichier exécutable.
Les erreurs dans les chemins peuvent être la cause de nombreux problèmes : création de dossier ou de fichiers aux mauvais endroits, suppressions involontaires, etc. Il est donc fortement recommandé d’utiliser l’auto-complétion lors des saisies de chemin.
Dans l’exemple ci-dessus, nous cherchons à donner l’emplacement du fichier myfile depuis le répertoire de bob.
Par un chemin absolu, le répertoire courant importe peu. Nous commençons par la racine, pour descendre successivement dans les répertoires home, groupA, alice et enfin le fichier myfile : /home/groupA/alice/myfile.
Par un chemin relatif, notre point de départ étant le répertoire courant bob, nous remontons d’un niveau par .. (soit dans le répertoire groupA), puis nous descendons dans le répertoire alice, et enfin le fichier myfile : ../alice/myfile.
La commande pwd (Print Working Directory) affiche le chemin absolu du répertoire courant.
$pwd
/home/rockstar
Utiliser un chemin relatif pour référencer un fichier ou un répertoire, ou utilisez la commande cd pour vous déplacer dans un autre répertoire. Vous devez connaître son emplacement dans l'arborescence des fichiers.
Selon le type de shell et les différents paramètres de son fichier de configuration, l'invite de terminal (également appelée l'invite de commande) affichera le chemin absolu ou relatif du répertoire courant.
Comme vous pouvez le constater dans le dernier exemple ci-dessus, la commande cd sans argument permet de repositionner le répertoire courant sur le répertoire de connexion (home directory).
Nombre de sous-répertoires (. et .. inclus). Pour un fichier, il représente le nombre de liens physiques et 1 représente lui-même.
rockstar
Utilisateur propriétaire.
rockstar
Groupe propriétaire.
4096
Pour les fichiers, il affiche la taille du fichier. Pour les répertoires, il montre la valeur fixe de 4096 octets occupée par le nom du fichier. Pour calculer la taille totale d'un répertoire, utilisez du -sh rockstar/
25 oct. 08:10
Date de dernière modification.
rockstar
Nom du fichier (ou du répertoire).
Note
Des alias sont fréquemment positionnés au sein des distributions courantes.
C’est le cas de l’alias ll :
alias ll='ls -l --color=auto'
La commande ls dispose de nombreuses options dont voici quelques exemples avancés d’utilisations :
Lister les fichiers de /etc par ordre de dernière modification :
Par défaut, la commande ls n’affiche pas le dernier slash d’un dossier. Dans certains cas, comme pour des scripts par exemple, il est utile de les afficher :
La commande touch modifie l’horodatage d’un fichier ou crée un fichier vide si le fichier n’existe pas.
touch[-tdate]file
Exemple :
$touch/home/rockstar/myfile
Option
Information
-t date
Modifie la date de dernière modification du fichier avec la date précisée.
Date au format : [AAAA]MMJJhhmm[ss]
Astuce
La commande touch est utilisée en priorité pour créer un fichier vide, mais elle peut avoir un intérêt dans le cadre de sauvegarde incrémentale ou différentielle par exemple. En effet, le fait d’exécuter un touch sur un fichier aura pour seul effet de forcer sa sauvegarde lors de la sauvegarde suivante.
La commande rm supprime un fichier ou un répertoire.
rm[-f][-r]file[file][...]
Danger
Toute suppression de fichier ou de répertoire est définitive.
Options
Information
-f
Ne demande pas de confirmation de la suppression.
-i
Demande de confirmation de la suppression.
-r
Supprime récursivement un répertoire et ses sous-répertoires.
Note
La commande rm en elle-même ne demande pas de confirmation lors de la suppression de fichiers. Cependant avec une distribution RedHat/CentOS, rm demande une confirmation de suppression car la commande rm y est un alias de la commande rm -i. Ne soyez pas surpris sur une autre distribution, type Debian par exemple, de ne pas obtenir de demande de confirmation.
La suppression d’un dossier à l’aide de la commande rm, que ce dossier soit vide ou non, nécessitera l’ajout de l’option -r.
La fin des options est signalée au shell par un double tiret --.
Dans l’exemple :
$>-dur-dur# Pour créer un fichier vide appelé -dur-dur
-dur-dur
[CTRL+C]Pourinterromprelacréationdufichier
$rm-f---dur-dur
Le nom du fichier -dur-dur commence par un -. Sans l’usage du -- le shell aurait interprété le -d de -dur-dur comme une option.
En utilisant la touche ENTREE, le déplacement se fait ligne par ligne. En utilisant la touche ESPACE, le déplacement se fait page par page. /texte permet de chercher l’occurrence dans le fichier.
La commande less affiche le contenu d’un ou de plusieurs fichiers. La commande less est interactive et possède des commandes d’utilisation qui lui sont propres.
lessfile1[files]
Les commandes propres à less sont :
Commande
Action
h
Aide.
↑↓→←
Monter, descendre d’une ligne ou pour aller à droite ou à gauche.
Entrée
Descendre d’une ligne.
Espace
Descendre d’une page.
PgUp et PgDn
Monter ou descendre d’une page.
gg et G
Se placer en début de fichier ou en fin de fichier.
La commande tac fait quasiment l’inverse de la commande cat. Elle affiche le contenu d’un fichier en commençant par la fin (ce qui est particulièrement intéressant pour la lecture des logs !).
Exemple : Afficher un fichier de logs en affichant en premier la dernière ligne :
Avec l'option -f les informations de changement du fichier seront toujours affichées à moins que l'utilisateur ne quitte l'état de surveillance avec CTRL + C. Cette option est très fréquemment utilisée pour suivre les fichiers journaux (les logs) en temps réel.
Sans l’option -n, la commande tail affiche les 10 dernières lignes du fichier.
Elle permet d’ordonner, ranger dans un ordre donné, le résultat d’une commande ou le contenu d’un fichier, selon un ordre numérique, alphabétique, par ordre de grandeur (Ko, Mo, Go) ou dans l’ordre inverse.
Spécifiez les colonnes à séparer. Vous pouvez spécifier plusieurs colonnes
-n
Demande un tri numérique
-o file
Enregistre le tri dans le fichier précisé
-t
Spécifiez un délimiteur, qui exige que le contenu du fichier correspondant soit régulièrement délimité par le contenu des colonnes, sinon ils ne peuvent pas être triés correctement
-r
Inverser l'ordre du résultat. Utilisé en conjonction avec l'option -n pour trier dans l'ordre de la plus grande à la plus petite
- u
Supprimer les doublons après le tri. Équivalent à sort file | uniq
La commande sort ne trie le fichier qu’à l’affichage écran. Le fichier n’est pas modifié par le tri. Pour enregistrer le tri, il faut utiliser l’option -o ou une redirection de sortie >.
Par défaut, le tri des nombres se fait selon leur caractère. Ainsi, « 110 » sera avant « 20 », qui sera lui-même avant « 3 ». Il faut préciser l’option -n pour que les blocs caractères numériques soient bien triés par leur valeur.
La commande sort permet d’inverser l’ordre des résultats, avec l’option -r :
Dans cet exemple, la commande sort rangera cette fois-ci le contenu du fichier /etc/passwd du plus grand uid au plus petit.
Quelques exemples avancés d’utilisation de la commande sort :
Mélanger les valeurs
La commande sort permet également de mélanger les valeurs avec l’option -R :
$sort-R/etc/passwd
Trier des adresses IP
Un administrateur système est rapidement confronté au traitement des adresses IP issues des logs de ses services comme SMTP, VSFTP ou Apache. Ces adresses sont typiquement extraites avec la commande cut.
Il est possible d’utiliser l’option -exec de la commande find pour exécuter une commande à chaque ligne de résultat :
$find/tmp-name*.txt-execrm-f{}\;
La commande précédente recherche tous les fichiers du répertoire /tmp nommés *.txt et les supprime.
Comprendre l'option -exec
Dans l'exemple ci-dessus, la commande find construira une chaîne représentant la commande à exécuter.
Si la commande find trouve trois fichiers nommés log1.txt, log2.txt et log3.txt, alors la commande find va construire la chaîne en remplaçant dans la chaîne rm -f {} \; les accolades par un des résultats de la recherche, et cela autant de fois qu’il y a de résultats.
Le caractère ; est un caractère spécial du shell qui doit être protégé par un \ pour éviter son interprétation prématurée par la commande find (et non plus dans le -exec).
Tip
$ find /tmp -name *.txt -delete fait la même chose.
Ignore la casse de la chaîne de caractères recherchée.
-v
Exclut les lignes contenant la chaîne de caractère.
-w
Recherche exactement le mot.
La commande grep retourne la ligne complète comprenant la chaîne de caractères recherchée.
* Le caractère spécial ^ permet de rechercher une chaîne de caractères placée en début de ligne.
* Le caractère spécial $ permet de rechercher une chaîne de caractères placée en fin de ligne.
$grep-w"^root"/etc/passwd
Note
Cette commande est très puissante et il est fortement conseillé de consulter son manuel. Elle a de nombreux dérivés.
Il est possible de rechercher une chaîne de caractères dans une arborescence de fichiers avec l’option -R.
Les méta-caractères se substituent à un ou plusieurs caractères (voire à une absence de caractère) lors d’une recherche. Ces méta-caractères sont également connus sous le nom de caractères jokers.
Ils peuvent être combinés.
Le caractère * remplace une chaîne composée de plusieurs caractères quelconques. Le caractère * peut également représenter une absence de caractère.
Les méta-caractères permettent des recherches plus complexes en remplaçant tout ou partie d’un mot. Il suffit de remplacer les inconnues par ces caractères spéciaux.
Le caractère ? remplace un unique caractère, quel qu’il soit.
Prendre soin de toujours encadrer les mots contenant des méta-caractères par des " pour éviter qu’ils soient remplacés par le nom des fichiers qui répondraient aux critères.
Avertissement
Il ne faut pas confondre les méta-caractères du shell et ceux des expressions régulières. La commande grep utilise les méta-caractères des expressions régulières.
Sur les systèmes UNIX et Linux, les flux standards sont aux nombres de trois. Ils permettent aux programmes, via la bibliothèque stdio.h de faire entrer ou sortir des informations.
Ces flux sont appelés canal X ou descripteur X de fichier.
Par défaut :
le clavier est le périphérique d’entrée pour le canal 0, appelé stdin ;
l’écran est le périphérique de sortie pour les canaux 1 et 2, appelés stdout et stderr.
stderr reçoit les flux d’erreurs renvoyés par une commande. Les autres flux sont dirigés vers stdout.
Ces flux pointent vers des fichiers périphériques, mais comme tout est fichier sous UNIX/Linux, les flux d’entrées/sorties peuvent facilement être détournés vers d’autres fichiers. Ce principe fait toute la force du shell.
Il est possible de rediriger le flux d’entrée depuis un autre fichier avec le caractère inférieur < ou <<. La commande lira le fichier au lieu du clavier :
$ftp-inserverftp<<ftp-commands.txt
Note
Seules les commandes demandant une saisie au clavier pourront gérer la redirection d’entrée.
La redirection d’entrée peut également être utilisée pour simuler une interactivité avec l’utilisateur. La commande lira le flux d’entrée jusqu’à rencontrer le mot clef défini après la redirection d’entrée.
Cette fonctionnalité est utilisée pour scripter des commandes interactives :
$ftp-inserverftp<< ENDuser alice passwordput filebyeEND
Le mot clef END peut être remplacé par n’importe quel mot.
$ftp-inserverftp<< STOPuser alice passwordput filebyeSTOP
Le shell quitte la commande ftp lorsqu’il reçoit une ligne ne contenant que le mot clef.
Warning
Le mot clé de fin, ici END ou STOP, pour terminer la commande doit être le seul mot de la ligne et doit être au début de la ligne.
La redirection de l’entrée standard est peu utilisée car la plupart des commandes acceptent un nom de fichier en argument.
La commande wc pourrait s’utiliser ainsi :
$wc-l.bash_profile
27.bash_profile# the number of lines is followed by the file name
$wc-l<.bash_profile
27# returns only the number of lines
Les sorties standards peuvent être redirigées vers d’autres fichiers grâce aux caractères > or >>.
La redirection simple > écrase le contenu du fichier de sortie :
$date+%F>date_file
Lorsque le caractère >> est utilisé, il indique que le résultat de sortie de la commande est ajouté au contenu du fichier.
$date+%F>>date_file
Dans les deux cas, le fichier est automatiquement créé lorsqu’il n’existe pas.
La sortie d’erreur standard peut être également redirigée vers un autre fichier. Cette fois-ci, il faudra préciser le numéro du canal (qui peut être omis pour les canaux 0 et 1) :
Redirection des 2 sorties vers un fichier unique :
$ls-R/>>log_file2>&1
Redirection de stderr vers un "puits sans fond" (/dev/null) :
$ls-R/2>>/dev/null
Lorsque les 2 flux de sortie sont redirigés, aucune information n’est affichée à l’écran. Pour utiliser à la fois la redirection de sortie et conserver l’affichage, il faudra utiliser la commande tee.
Un tube (pipe en anglais) est un mécanisme permettant de relier la sortie standard d’une première commande vers l’entrée standard d’une seconde.
Cette communication est monodirectionnelle et se fait grâce au symbole |. Le symbole pipe | est obtenu en appuyant simultanément sur les touches AltGR + 6.
Toutes les données envoyées par la commande à gauche du tube à travers le canal de sortie standard sont envoyées au canal d’entrée standard de la commande placée à droite.
Les commandes particulièrement utilisées après un pipe sont des filtres.
Exemples :
N'afficher que le début :
$ls-lia/|head
N'afficher que la fin :
$ls-lia/|tail
Trier le résultat :
$ls-lia/|sort
Compter le nombre de mots / caractères :
$ls-lia/|wc
Chercher une chaîne de caractères dans le résultat :
Utiliser les alias est un moyen pour demander au shell de se souvenir d’une commande particulière avec ses options et lui donner un nom.
Par exemple :
$ll
remplacera la commande :
$ls-l
La commande alias liste les alias de la session en cours. Des alias sont positionnés par défaut sur les distributions Linux. Ici, les alias d’un serveur Rocky :
Les alias ne sont définis que de façon temporaire, le temps de la session utilisateur.
Pour une utilisation permanente, il faut les créer dans le fichier :
.bashrc du répertoire de connexion de l’utilisateur ;
/etc/bashrc pour tous les utilisateurs.
Avertissement
Une attention particulière doit être portée lors de l’usage d’alias qui peuvent potentiellement s’avérer dangereux ! Par exemple, un alias mis en place à l’insu de l’administrateur :
aliascd='rm -Rf'
La commande unalias permet de supprimer les alias.
Pour supprimer un seul alias :
$unaliasll
Pour supprimer tous les alias:
$unalias-a
Pour désactiver un alias temporairement, la combinaison est \<alias name>.
Par exemple, si nous faisons :
$typels
il pourrait nous retourner :
lsestunaliasde«ls-rt»
Maintenant que nous savons que c'est le cas, nous pouvons voir les résultats de l'utilisation de l'alias ou le désactiver une fois avec le \ en exécutant les commandes suivantes :
$lsfile*# order by time
file3.txtfile2.txtfile1.txt
$\lsfile*# order by name
file1.txtfile2.txtfile3.txt
Colorise le résultat de la commande grep : alias grep='grep --color=auto'
fonction mcd
Il est fréquent de créer un dossier puis de se déplacer dedans : mcd() { mkdir -p "$1"; cd "$1"; }
fonction cls
Se déplacer dans un dossier et lister son contenu : cls() { cd "$1"; ls; }
fonction backup
Créer une copie de sauvegarde d’un fichier : backup() { cp "$1"{,.bak}; }
fonction extract
Extrait tout type d’archive :
extract(){if[-f$1];thencase$1in*.tar.bz2)tarxjf$1;;*.tar.gz)tarxzf$1;;*.bz2)bunzip2$1;;*.rar)unrare$1;;*.gz)gunzip$1;;*.tar)tarxf$1;;*.tbz2)tarxjf$1;;*.tgz)tarxzf$1;;*.zip)unzip$1;;*.Z)uncompress$1;;*.7z)7zx$1;;*)echo"'$1' cannot be extracted via extract()";;esacelseecho"'$1' is not a valid file"fi}
Si alias cmount renvoie le résultat suivant : alias cmount="mount | column -t"
Alors nous pouvons utiliser cmount pour afficher tous les montages système dans des colonnes comme ceci : [root]# cmount
qui retournera les système de fichiers montés comme ceci :