Ces deux ensembles d'utilitaires, GNU Core Utilities alias Coreutils ainsi que util-linux, regroupent un grand nombre des outils les plus élémentaires et les plus régulièrement utilisés par l'administrateur système de Linux. Leurs fonctions de base permettent aux administrateurs système d'effectuer la plupart des tâches nécessaires à l'administration d'un ordinateur Linux, notamment la gestion et la manipulation des fichiers texte, des répertoires, des flux de données, des supports de stockage, des contrôles de processus, des systèmes de fichiers, et bien plus encore.

Ces outils sont indispensables car, sans eux, il est impossible d'accomplir le moindre travail utile sur un ordinateur Unix ou Linux. Compte tenu de leur importance, examinons-les.

GNU Core Utilities

Pour comprendre les origines des utilitaires de base GNU, nous devons faire un petit voyage dans la machine à remonter le temps jusqu'aux premiers jours d'Unix aux Bell Labs. Unix a été écrit pour que Ken Thompson, Dennis Ritchie, Doug McIlroy et Joe Ossanna puissent poursuivre quelque chose qu'ils avaient commencé alors qu'ils travaillaient sur un grand projet d'ordinateur multitâche et multi-utilisateur appelé Multics. Ce petit quelque chose était un jeu appelé Space Travel. Comme c'est encore le cas aujourd'hui, ce sont toujours les joueurs qui font avancer la technologie de l'informatique. Ce nouveau système d'exploitation était beaucoup plus limité que Multics, puisque seuls deux utilisateurs pouvaient se connecter à la fois. Il fût dans un premier temps appelé Unics. Ce nom a ensuite été changé en Unix.

Au fil du temps, Unix a connu un tel succès que les laboratoires Bell ont commencé à le distribuer aux universités et, plus tard, aux entreprises, moyennant le coût du support et de l'expédition. À l'époque, les logiciels de niveau système étaient partagés entre les organisations et les programmeurs qui s'efforçaient d'atteindre des objectifs communs dans le cadre de l'administration du système.

Finalement, les dirigeants d'AT&T ont décidé qu'ils devaient gagner de l'argent avec Unix et ont commencé à utiliser des licences plus restrictives et plus coûteuses. Cela se passait à une époque où les logiciels devenaient de plus en plus propriétaires, restreints et fermés. Il devenait impossible de partager les logiciels avec d'autres utilisateurs et organisations.

Certaines personnes n'ont pas apprécié cette évolution et l'ont combattue avec les logiciels libres. Richard M. Stallman, alias RMS, était à la tête d'un groupe de rebelles qui tentaient d'écrire un système d'exploitation ouvert et librement disponible qu'ils appelaient le système d'exploitation GNU. Ce groupe a créé les utilitaires GNU mais n'a pas produit de noyau viable.

Lorsque Linus Torvalds a écrit et compilé le noyau Linux pour la première fois, il avait besoin d'un ensemble d'utilitaires système très basiques pour commencer à effectuer un travail marginalement utile. Le noyau ne fournit pas de commandes ni aucun type d'interpréteur de commandes tel que Bash. Il est inutile en soi. Linus a donc utilisé les GNU Core Utilities disponibles gratuitement et les a recompilés pour Linux. Il a ainsi obtenu un système d'exploitation complet, même s'il est assez basique.

Vous pouvez découvrir tous les programmes individuels qui composent les GNU Core Utilities en entrant la commande info coreutils dans la ligne de commande d'un terminal. La liste suivante des utilitaires de base fait partie de cette page d'information. Les utilitaires sont regroupés par fonction pour faciliter la recherche de certains d'entre eux. Dans le terminal, sélectionnez le groupe sur lequel vous souhaitez obtenir plus d'informations et appuyez sur la touche Entrée.

Gnu Core Utilities Coreutils Commandes

Cette liste contient 102 utilitaires. Elle couvre la plupart des fonctions nécessaires à l'exécution des tâches de base sur un hôte Unix ou Linux. Cependant, de nombreux utilitaires de base manquent. Par exemple, les commandes mount et umount ne figurent pas dans cette liste. Ces commandes et beaucoup d'autres qui ne sont pas dans les Coreutils peuvent être trouvées dans la collection util-linux.

Util-linux

Le paquet d'utilitaires util-linux contient de nombreuses autres commandes courantes utilisées par les administrateurs système. Ces utilitaires sont distribués par la Linux Kernel Organization, et la quasi-totalité de ces 107 commandes étaient à l'origine trois collections distinctes :

  • fileutils
  • shellutils
  • textutils

Elles furent ensuite regroupées dans le paquet unique util-linux en 2003.

Util Linux Commandes

Certains de ces utilitaires sont obsolètes et seront probablement retirés de la collection à l'avenir.

GNU Core utilities et Util-linux, des indispensables pour les administrateurs !

Ces deux collections d'utilitaires Linux, les GNU Core Utilities et util-linux, fournissent ensemble les utilitaires de base nécessaires à l'administration d'un système Linux. Au cours de mes recherches, j'ai découvert plusieurs utilitaires intéressants dont je n'avais jamais entendu parler. Beaucoup de ces commandes sont rarement utilisées, mais lorsqu'on en a besoin, elles sont indispensables.

Ces deux collections comptent plus de 200 utilitaires Linux. Bien que Linux dispose de beaucoup plus de commandes, celles-ci sont nécessaires pour gérer les fonctions de base d'un hôte Linux typique. Pour ceux qui recherchent une version plus légère de Coreutils, vous pouvez opter pour l'alternative BusyBox.

Liste complète des commandes GNU Core Utilities et leurs fonctions

Utilitaires de fichiers

Nom Description
chcon Change le contexte de sécurité d'un fichier (SELinux)
chgrp Change le groupe de propriété d'un fichier
chown Change la propriété d'un fichier
chmod Change les permissions d'un fichier ou d'un répertoire
cp Copie un fichier ou un répertoire
dd Copie et convertit un fichier
df Affiche l'espace disque libre sur les systèmes de fichiers
dir Identique à "ls -C -b". (Les fichiers sont par défaut listés en colonnes et triés verticalement.)
dircolors Configure les couleurs pour ls
install Copie des fichiers et définit des attributs
ln Crée un lien vers un fichier
ls Liste les fichiers dans un répertoire
mkdir Crée un répertoire
mkfifo Crée des tubes nommés (FIFOs)
mknod Crée des fichiers spéciaux de bloc ou de caractère
mktemp Crée un fichier ou un répertoire temporaire
mv Déplace ou renomme des fichiers
realpath Retourne le chemin absolu ou relatif résolu d'un fichier
rm Supprime des fichiers, répertoires, nœuds de périphériques et liens symboliques
rmdir Supprime des répertoires vides
shred Écrase un fichier pour cacher son contenu, et éventuellement le supprime
sync Vide les tampons du système de fichiers
touch Change les horodatages des fichiers ; crée un fichier
truncate Réduit ou étend la taille d'un fichier à la taille spécifiée
vdir Identique à "ls -l -b". (Les fichiers sont par défaut listés en format long.)

Utilitaires de texte

Nom Description
b2sum Calcule et vérifie le résumé de message BLAKE2b
base32 Encode ou décode en Base32, et affiche le résultat sur la sortie standard
base64 Encode ou décode en Base64, et affiche le résultat sur la sortie standard
cat Concatène et affiche des fichiers sur la sortie standard
cksum Calcule le contrôle d'intégrité (CRC-32 Ethernet IEEE) et compte les octets dans un fichier. Remplace les autres utilitaires *sum avec l'option -a à partir de la version 9.0.
comm Compare deux fichiers triés ligne par ligne
csplit Divise un fichier en sections déterminées par des lignes de contexte
cut Supprime des sections de chaque ligne des fichiers
expand Convertit les tabulations en espaces
fmt Formatteur de texte simple et optimal
fold Enroule chaque ligne d'entrée pour qu'elle tienne dans la largeur spécifiée
head Affiche la première partie des fichiers
join Joint les lignes de deux fichiers sur un champ commun
md5sum Calcule et vérifie le résumé de message MD5
nl Numérote les lignes des fichiers
numfmt Reformate les nombres
od Affiche les fichiers en octal et autres formats
paste Fusionne les lignes des fichiers
ptx Produit un index permuté du contenu des fichiers
pr Convertit les fichiers texte pour impression
sha1sum Calcule et vérifie le résumé de message SHA-1
sha224sum Calcule et vérifie le résumé de message SHA-224
sha256sum Calcule et vérifie le résumé de message SHA-256
sha384sum Calcule et vérifie le résumé de message SHA-384
sha512sum Calcule et vérifie le résumé de message SHA-512
shuf Génère des permutations aléatoires
sort Trie les lignes des fichiers texte
split Divise un fichier en morceaux
sum Calcule et compte les blocs dans un fichier
tac Concatène et affiche les fichiers en ordre inverse ligne par ligne
tail Affiche la dernière partie des fichiers
tr Traduit ou supprime des caractères
tsort Effectue un tri topologique
unexpand Convertit les espaces en tabulations
uniq Supprime les lignes dupliquées d'un fichier trié
wc Affiche le nombre de bytes, mots et lignes des fichiers

Utilitaires de shell

Nom Description
arch Affiche le nom du matériel de la machine (identique à uname -m)
basename Supprime le préfixe du chemin d'un nom de fichier donné
chroot Change le répertoire racine
date Affiche ou définit la date et l'heure du système
dirname Supprime le suffixe non répertoire du nom de fichier
du Affiche l'utilisation du disque sur les systèmes de fichiers
echo Affiche une ligne de texte spécifiée
env Affiche et modifie les variables d'environnement
expr Évalue des expressions
factor Décompose des nombres en facteurs premiers
false Ne fait rien, mais se termine avec un échec
groups Affiche les groupes auxquels appartient l'utilisateur
hostid Affiche l'identifiant numérique de l'hôte actuel
id Affiche l'UID et le GID réel ou effectif
link Crée un lien vers un fichier
logname Affiche le nom de connexion de l'utilisateur
nice Modifie la priorité de planification
nohup Permet à une commande de continuer à s'exécuter après la déconnexion
nproc Interroge le nombre de processeurs (actifs)
pathchk Vérifie si les noms de fichiers sont valides ou portables
pinky Une version allégée de finger
printenv Affiche les variables d'environnement
printf Formate et affiche des données
pwd Affiche le répertoire de travail actuel
readlink Affiche la valeur d'un lien symbolique
runcon Exécute une commande avec le contexte de sécurité spécifié
seq Affiche une séquence de nombres
sleep Délai pour une durée spécifiée
stat Affiche des informations sur un inode
stdbuf Contrôle le buffering pour les commandes utilisant stdio
stty Change et affiche les paramètres de la ligne de terminal
tee Envoie la sortie vers plusieurs fichiers
test Évalue une expression
timeout Exécute une commande avec une limite de temps
true Ne fait rien, mais se termine avec succès
tty Affiche le nom du terminal
uname Affiche des informations sur le système
unlink Supprime le fichier spécifié en utilisant la fonction unlink
uptime Affiche depuis combien de temps le système fonctionne
users Affiche les noms d'utilisateur des utilisateurs actuellement connectés à l'hôte actuel
who Affiche une liste de tous les utilisateurs actuellement connectés
whoami Affiche l'UID effectif
yes Affiche une chaîne de caractères de manière répétée
[ Synonyme de test ; ce programme permet des expressions comme [ expression ]

FAQ : GNU Core Utilities

🔧 Quelle est la différence entre GNU Core Utilities et util-linux ?

GNU Core Utilities contient 102 utilitaires de base (ls, cp, mv, etc.) tandis qu'util-linux contient 107 commandes système (mount, umount, etc.). Ensemble, ils forment plus de 200 commandes essentielles.

📚 Comment accéder à la documentation complète des Coreutils ?

Utilisez la commande 'info coreutils' dans le terminal pour accéder à la documentation complète avec tous les utilitaires organisés par fonction.

🖥️ AMJ74 peut-il former à l'administration Linux ?

Oui, nous proposons des formations Linux pour maîtriser les GNU Core Utilities et l'administration système. Perfectionnez vos compétences en ligne de commande.