5 alternatives modernes aux anciens outils de ligne de commande Linux

En utilisant des alternatives plus modernes aux côtés d’anciens outils de ligne de commande, vous pouvez vous amuser davantage et même améliorer votre productivité.

5 alternatives modernes aux anciens outils de ligne de commande Linux

Dans notre travail quotidien sous Linux/Unix, nous utilisons de nombreux outils de ligne de commande, par exemple pour surveiller l'utilisation du disque et les ressources système. Certains de ces outils existent depuis longtemps. Par exemple, top est apparu en 1984 et la première version de du remonte à 1971.

Au fil des années, ces outils ont été modernisés et portés sur différents systèmes, mais en général ils ne se sont pas éloignés de leurs premières versions, leur apparence et leur convivialité n'ont pas non plus beaucoup changé.

Ce sont d’excellents outils dont de nombreux administrateurs système ont besoin. Cependant, la communauté a développé des outils alternatifs qui offrent des avantages supplémentaires. Certains d’entre eux ont simplement une belle interface moderne, tandis que d’autres améliorent considérablement la convivialité. Dans cette traduction, nous parlerons de cinq alternatives aux outils de ligne de commande Linux standard.

1. ncdu contre du

Utilisation du disque NCurses (ncdu) est similaire à du, mais avec une interface interactive basée sur la bibliothèque Curses. ncdu affiche la structure de répertoires qui occupe la majeure partie de votre espace disque.

ncdu analyse le disque puis affiche les résultats triés par répertoires ou fichiers les plus fréquemment utilisés, par exemple :

ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help
--- /home/rgerardi ------------------------------------------------------------
   96.7 GiB [##########] /libvirt
   33.9 GiB [###       ] /.crc
    7.0 GiB [          ] /Projects
.   4.7 GiB [          ] /Downloads
.   3.9 GiB [          ] /.local
    2.5 GiB [          ] /.minishift
    2.4 GiB [          ] /.vagrant.d
.   1.9 GiB [          ] /.config
.   1.8 GiB [          ] /.cache
    1.7 GiB [          ] /Videos
    1.1 GiB [          ] /go
  692.6 MiB [          ] /Documents
. 591.5 MiB [          ] /tmp
  139.2 MiB [          ] /.var
  104.4 MiB [          ] /.oh-my-zsh
   82.0 MiB [          ] /scripts
   55.8 MiB [          ] /.mozilla
   54.6 MiB [          ] /.kube
   41.8 MiB [          ] /.vim
   31.5 MiB [          ] /.ansible
   31.3 MiB [          ] /.gem
   26.5 MiB [          ] /.VIM_UNDO_FILES
   15.3 MiB [          ] /Personal
    2.6 MiB [          ]  .ansible_module_generated
    1.4 MiB [          ] /backgrounds
  944.0 KiB [          ] /Pictures
  644.0 KiB [          ]  .zsh_history
  536.0 KiB [          ] /.ansible_async
 Total disk usage: 159.4 GiB  Apparent size: 280.8 GiB  Items: 561540

Vous pouvez parcourir les entrées à l'aide des touches fléchées. Si vous appuyez sur Entrée, ncdu affichera le contenu du répertoire sélectionné :

--- /home/rgerardi/libvirt ----------------------------------------------------
                         /..
   91.3 GiB [##########] /images
    5.3 GiB [          ] /media

Vous pouvez utiliser cet outil pour, par exemple, déterminer quels fichiers occupent le plus d'espace disque. Vous pouvez accéder au répertoire précédent en appuyant sur la touche fléchée gauche. Avec ncdu, vous pouvez supprimer des fichiers en appuyant sur la touche d. Il demande une confirmation avant de supprimer. Si vous souhaitez désactiver la fonction de suppression pour éviter la perte accidentelle de fichiers précieux, utilisez l'option -r pour activer le mode d'accès en lecture seule : ncdu -r.

ncdu est disponible pour de nombreuses plates-formes et distributions Linux. Par exemple, vous pouvez utiliser dnf pour l'installer sur Fedora directement depuis les dépôts officiels :

$ sudo dnf install ncdu

2. htop contre haut

Haut est un visualiseur de processus interactif similaire à top, mais prêt à l'emploi, il offre une expérience utilisateur agréable. Par défaut, htop affiche les mêmes informations que top, mais de manière plus visuelle et colorée.

Par défaut, htop ressemble à ceci :

5 alternatives modernes aux anciens outils de ligne de commande Linux
Contrairement au haut :

5 alternatives modernes aux anciens outils de ligne de commande Linux
De plus, htop affiche des informations générales sur le système en haut et un panneau pour exécuter des commandes à l'aide des touches de fonction en bas. Vous pouvez le configurer en appuyant sur F2 pour ouvrir l'écran de configuration. Dans Paramètres, vous pouvez modifier les couleurs, ajouter ou supprimer des métriques ou modifier les options d'affichage du panneau de présentation.

Bien que vous puissiez obtenir une convivialité similaire en modifiant les paramètres des dernières versions de top, htop fournit des configurations par défaut pratiques, ce qui le rend plus pratique et plus facile à utiliser.

3. tldr contre homme

L'outil de ligne de commande tldr affiche des informations d'aide simplifiées sur les commandes, principalement des exemples. Il a été développé par la communauté projet de pages tldr.

Il convient de noter que tldr ne remplace pas man. Il s’agit toujours de l’outil de sortie de pages de manuel canonique et le plus complet. Cependant, dans certains cas, l’homme est redondant. Lorsque vous n'avez pas besoin d'informations complètes sur une commande, vous essayez simplement de vous souvenir de ses utilisations de base. Par exemple, la page de manuel de la commande curl contient près de 3000 40 lignes. La page tldr pour curl fait XNUMX lignes. Son fragment ressemble à ceci :


$ tldr curl

# curl
  Transfers data from or to a server.
  Supports most protocols, including HTTP, FTP, and POP3.
  More information: <https://curl.haxx.se>.

- Download the contents of an URL to a file:

  curl http://example.com -o filename

- Download a file, saving the output under the filename indicated by the URL:

  curl -O http://example.com/filename

- Download a file, following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer:

  curl -O -L -C - http://example.com/filename

- Send form-encoded data (POST request of type `application/x-www-form-urlencoded`):

  curl -d 'name=bob' http://example.com/form                                                                                            
- Send a request with an extra header, using a custom HTTP method:

  curl -H 'X-My-Header: 123' -X PUT http://example.com                                                                                  
- Send data in JSON format, specifying the appropriate content-type header:

  curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234

... TRUNCATED OUTPUT

TLDR signifie « trop long ; n'a pas lu » : c'est-à-dire qu'un texte a été ignoré en raison de sa verbosité excessive. Le nom est approprié pour cet outil car les pages de manuel, bien qu'utiles, peuvent parfois être trop longues.

Pour Fedora, tldr a été écrit en Python. Vous pouvez l'installer à l'aide du gestionnaire dnf. En règle générale, l’outil nécessite un accès Internet pour fonctionner. Mais le client Python de Fedora permet de télécharger et de mettre en cache ces pages pour un accès hors ligne.

4.jq contre sed/grep

jq est un processeur JSON pour la ligne de commande. Il est similaire à sed ou grep, mais est spécifiquement conçu pour fonctionner avec des données JSON. Si vous êtes un développeur ou un administrateur système qui utilise JSON dans les tâches quotidiennes, cet outil est fait pour vous.

Le principal avantage de jq par rapport aux outils de traitement de texte standard tels que grep et sed est qu'il comprend la structure des données JSON, vous permettant ainsi de créer des requêtes complexes dans une seule expression.

Par exemple, vous essayez de rechercher des noms de conteneurs dans ce fichier JSON :

{
  "apiVersion": "v1",
  "kind": "Pod",
  "metadata": {
    "labels": {
      "app": "myapp"
    },
    "name": "myapp",
    "namespace": "project1"
  },
  "spec": {
    "containers": [
      {
        "command": [
          "sleep",
          "3000"
        ],
        "image": "busybox",
        "imagePullPolicy": "IfNotPresent",
        "name": "busybox"
      },
      {
        "name": "nginx",
        "image": "nginx",
        "resources": {},
        "imagePullPolicy": "IfNotPresent"
      }
    ],
    "restartPolicy": "Never"
  }
}

Exécutez grep pour trouver le nom de la chaîne :

$ grep name k8s-pod.json
        "name": "myapp",
        "namespace": "project1"
                "name": "busybox"
                "name": "nginx",

grep a renvoyé toutes les lignes contenant le nom du mot. Vous pouvez ajouter quelques options supplémentaires à grep pour le restreindre et utiliser des manipulations d'expressions régulières pour trouver les noms des conteneurs.

Pour obtenir le même résultat en utilisant jq, écrivez simplement :

$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"

Cette commande vous donnera les noms des deux conteneurs. Si vous recherchez uniquement le nom du deuxième conteneur, ajoutez l'index de l'élément du tableau à l'expression :

$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"

Puisque jq connaît la structure des données, il produit les mêmes résultats même si le format de fichier change légèrement. grep et sed peuvent ne pas fonctionner correctement dans ce cas.

jq a de nombreuses fonctions, mais un autre article est nécessaire pour les décrire. pour plus d'information veuillez contacter page du projet jq ou à tldr.

5. fd vs trouver

fd est une alternative simplifiée à l'utilitaire de recherche. Fd n'est pas destiné à le remplacer complètement : il a les paramètres les plus courants installés par défaut, définissant l'approche générale du travail avec les fichiers.

Par exemple, lors de la recherche de fichiers dans un répertoire de référentiel Git, fd exclut automatiquement les fichiers et sous-répertoires cachés, y compris le répertoire .git, et ignore également les caractères génériques du fichier .gitignore. Dans l’ensemble, il accélère les recherches en renvoyant des résultats plus pertinents dès le premier essai.

Par défaut, fd effectue une recherche insensible à la casse dans le répertoire courant, avec une sortie couleur. La même recherche à l'aide de la commande find nécessite la saisie de paramètres supplémentaires sur la ligne de commande. Par exemple, pour rechercher tous les fichiers .md (ou .MD) dans le répertoire actuel, vous écrivez une commande find comme celle-ci :

$ find . -iname "*.md"

Pour fd, cela ressemble à ceci :

$ fd .md

Mais dans certains cas, fd nécessite également des options supplémentaires : par exemple, si vous souhaitez inclure des fichiers et des répertoires cachés, vous devez utiliser l'option -H, bien que cela ne soit généralement pas requis lors de la recherche.

fd est disponible pour de nombreuses distributions Linux. Dans Fedora, il peut être installé comme ceci :

$ sudo dnf install fd-find

Vous ne devez rien abandonner

Utilisez-vous les nouveaux outils de ligne de commande Linux ? Ou est-ce que vous vous asseyez exclusivement sur les anciens ? Mais vous avez probablement un combo, n'est-ce pas ? Veuillez partager votre expérience dans les commentaires.

Comme la publicité

Beaucoup de nos clients ont déjà apprécié les avantages serveurs épiques!
Il serveurs virtuels avec processeurs AMD EPYC, Fréquence du cœur du processeur jusqu'à 3.4 GHz. La configuration maximale vous permettra de vous amuser - 128 cœurs CPU, 512 Go de RAM, 4000 Go NVMe. Dépêchez-vous de commander !

5 alternatives modernes aux anciens outils de ligne de commande Linux

Source: habr.com

Ajouter un commentaire