Deux ensembles d'utilitaires : GNU Core Utilities et util-linux
— comprennent de nombreux outils parmi les plus élémentaires et les plus régulièrement utilisés par l'administrateur système Linux. Leurs fonctions de base permettent aux administrateurs système d'effectuer de nombreuses tâches nécessaires à l'administration d'un ordinateur Linux, notamment la gestion et la manipulation de fichiers texte, de répertoires, de flux de données, de supports de stockage, de contrôles de processus, de systèmes de fichiers et bien plus encore.
Ces outils sont indispensables car, sans eux, il est impossible d'accomplir un travail utile sur un ordinateur Unix ou Linux. Vu leur importance, examinons-les.
GNU coreutils
Le Terminal Linux
- Les 7 meilleurs émulateurs de terminaux pour Linux
- 10 outils de ligne de commande pour l'analyse de données sous Linux
- Télécharger maintenant :Aide-mémoire SSH
- Aide-mémoire des commandes Linux avancées
- Tutoriels de ligne de commande Linux
Pour comprendre les origines des GNU Core Utilities, nous devons faire un petit voyage dans la machine Wayback jusqu'aux débuts d'Unix aux Bell Labs. Unix a été écrit pour que Ken Thompson, Dennis Ritchie, Doug McIlroy et Joe Ossanna puissent continuer avec quelque chose qu'ils avaient commencé en travaillant sur un grand projet informatique multi-tâches et multi-utilisateurs appelé Multics. Ce petit quelque chose était un jeu appelé Space Travel. Comme cela reste vrai aujourd'hui, il semble toujours que ce sont les joueurs qui font avancer la technologie informatique. Ce nouveau système d'exploitation était beaucoup plus limité que Multics, car seuls deux utilisateurs pouvaient se connecter à la fois, il s'appelait donc Unics. Ce nom a ensuite été changé en Unix.
Au fil du temps, Unix s'est avéré être un tel succès que les Bell Labs ont commencé à le donner essentiellement aux universités et plus tard aux entreprises pour le coût des médias et de l'expédition. À cette époque, les logiciels au niveau du système étaient partagés entre les organisations et les programmeurs alors qu'ils travaillaient pour atteindre des objectifs communs dans le contexte de l'administration du système.
Finalement, les PHB d'AT&T ont décidé qu'ils devaient gagner de l'argent sur Unix et ont commencé à utiliser des licences plus restrictives et 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 des logiciels avec d'autres utilisateurs et organisations.
Certaines personnes n'ont pas aimé cela et l'ont combattu avec des logiciels libres. Richard M. Stallman, alias RMS, dirigeait un groupe de rebelles qui essayaient 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é pour la première fois le noyau Linux, il avait besoin d'un ensemble d'utilitaires système très basiques pour même commencer à effectuer un travail marginalement utile. Le noyau ne fournit pas de commandes ni aucun type de shell de commande tel que Bash. Il est inutile en soi. Ainsi, Linus a utilisé les utilitaires GNU Core disponibles gratuitement et les a recompilés pour Linux. Cela lui a donné un système d'exploitation complet, bien qu'assez basique.
Vous pouvez en savoir plus sur tous les programmes individuels qui composent les utilitaires GNU en entrant la commande info coreutils
sur une ligne de commande de terminal. La liste suivante des utilitaires de base fait partie de cette page d'informations. Les utilitaires sont regroupés par fonction pour en faciliter la recherche; dans le terminal, mettez en surbrillance le groupe sur lequel vous souhaitez plus d'informations et appuyez sur la touche Entrée.
* Output of entire files:: cat tac nl od base32 base64
* Formatting file contents:: fmt pr fold
* Output of parts of files:: head tail split csplit
* Summarizing files:: wc sum cksum b2sum md5sum sha1sum sha2
* Operating on sorted files:: sort shuf uniq comm ptx tsort
* Operating on fields:: cut paste join
* Operating on characters:: tr expand unexpand
* Directory listing:: ls dir vdir dircolors
* Basic operations:: cp dd install mv rm shred
* Special file types:: mkdir rmdir unlink mkfifo mknod ln link readlink
* Changing file attributes:: chgrp chmod chown touch
* Disk usage:: df du stat sync truncate
* Printing text:: echo printf yes
* Conditions:: false true test expr
* Redirection:: tee
* File name manipulation:: dirname basename pathchk mktemp realpath
* Working context:: pwd stty printenv tty
* User information:: id logname whoami groups users who
* System context:: date arch nproc uname hostname hostid uptime
* SELinux context:: chcon runcon
* Modified command invocation:: chroot env nice nohup stdbuf timeout
* Process control:: kill
* Delaying:: sleep
* Numeric operations:: factor numfmt seq
Il y a 102 utilitaires sur cette liste. Il couvre de nombreuses fonctions nécessaires pour effectuer des tâches de base sur un hôte Unix ou Linux. Cependant, de nombreux utilitaires de base manquent. Par exemple, le mount
et umount
les commandes ne figurent pas dans cette liste. Celles-ci et beaucoup d'autres commandes qui ne sont pas dans les coreutils GNU peuvent être trouvées dans le util-linux
collecte.
util-linux
Le util-linux
Le package d'utilitaires contient de nombreuses autres commandes courantes utilisées par les administrateurs système. Ces utilitaires sont distribués par la Linux Kernel Organization, et pratiquement chacune de ces 107 commandes était à l'origine trois collections distinctes—fileutils
, shellutils
, et textutils
—qui ont été combinés dans le seul paquet util-linux
en 2003.
agetty fsck.minix mkfs.bfs setpriv
blkdiscard fsfreeze mkfs.cramfs setsid
blkid fstab mkfs.minix setterm
blockdev fstrim mkswap sfdisk
cal getopt more su
cfdisk hexdump mount sulogin
chcpu hwclock mountpoint swaplabel
chfn ionice namei swapoff
chrt ipcmk newgrp swapon
chsh ipcrm nologin switch_root
colcrt ipcs nsenter tailf
col isosize partx taskset
colrm kill pg tunelp
column last pivot_root ul
ctrlaltdel ldattach prlimit umount
ddpart line raw unshare
delpart logger readprofile utmpdump
dmesg login rename uuidd
eject look renice uuidgen
fallocate losetup reset vipw
fdformat lsblk resizepart wall
fdisk lscpu rev wdctl
findfs lslocks RTC Alarm whereis
findmnt lslogins runuser wipefs
flock mcookie script write
fsck mesg scriptreplay zramctl
fsck.cramfs mkfs setarch
Certains de ces utilitaires sont obsolètes et disparaîtront probablement de la collection à un moment donné dans le futur. Vous devriez vérifier le util-linux
de Wikipedia pour plus d'informations sur de nombreux utilitaires, et les pages de manuel fournissent également des détails sur les commandes.
Résumé
Ces deux collections d'utilitaires Linux, GNU Core Utilities et util-linux
, fournissent ensemble les utilitaires de base requis pour administrer un système Linux. En recherchant cet article, j'ai trouvé plusieurs utilitaires intéressants dont je n'avais jamais entendu parler. Beaucoup de ces commandes sont rarement nécessaires, mais quand vous en avez besoin, elles sont indispensables.
Entre ces deux collections, il existe plus de 200 utilitaires Linux. Alors que Linux a beaucoup plus de commandes, ce sont celles nécessaires pour gérer les fonctions de base d'un hôte Linux typique.