GNU/Linux >> Tutoriels Linux >  >> Linux

Une introduction aux utilitaires GNU Core

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.


Linux
  1. Faites des calculs dans le shell Linux avec GNU bc

  2. Introduction aux outils automatiques GNU

  3. Une introduction à l'éditeur vi

  4. Une introduction au fichier Linux /etc/fstab

  5. Core dumpé, mais le fichier core n'est pas dans le répertoire courant ?

Introduction à l'utilitaire Linux goto shell

Une introduction à l'émulateur de terminal DomTerm pour Linux

Introduction au système de fichiers Linux

Une introduction au registre des conteneurs de Quay

Plusieurs formes de somme dans les utilitaires de base ?

Comment copier le tampon de copie GNU Screen dans le presse-papiers ?