GNU/Linux >> Tutoriels Linux >  >> Linux

5 alternatives modernes aux outils de ligne de commande Linux essentiels

Dans notre utilisation quotidienne des systèmes Linux/Unix, nous utilisons de nombreux outils en ligne de commande pour effectuer notre travail et pour comprendre et gérer nos systèmes, des outils comme du pour surveiller l'utilisation du disque et top pour afficher les ressources système. Certains de ces outils existent depuis longtemps. Par exemple, top a été publié pour la première fois en 1984, tandis que du la première sortie de date de 1971.

Au fil des ans, ces outils ont été modernisés et portés sur différents systèmes, mais, en général, ils conservent leur idée, leur apparence et leur convivialité d'origine.

Ce sont d'excellents outils et essentiels aux flux de travail de nombreux administrateurs système. Cependant, ces dernières années, la communauté open source a développé des outils alternatifs qui offrent des avantages supplémentaires. Certains ne sont que des régals pour les yeux, mais d'autres améliorent considérablement la convivialité, ce qui en fait un excellent choix à utiliser sur les systèmes modernes. Celles-ci incluent les cinq alternatives suivantes aux outils de ligne de commande Linux standard.

1. ncdu en remplacement de du

L'utilisation du disque NCurses (ncdu ) l'outil fournit des résultats similaires à du mais dans une interface interactive basée sur des malédictions qui se concentre sur les répertoires qui consomment le plus d'espace disque.

ncdu passe un peu de temps à analyser le disque, puis affiche les résultats triés par vos répertoires ou fichiers les plus utilisés, comme ceci :

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

Accédez à chaque entrée à l'aide des touches fléchées. Si vous appuyez sur Entrée sur une entrée de répertoire, ncdu affiche le contenu de ce répertoire :

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

Vous pouvez l'utiliser pour explorer les répertoires et trouver les fichiers qui consomment le plus d'espace disque. Revenir au répertoire précédent en utilisant Gauche touche fléchée. Par défaut, vous pouvez supprimer des fichiers avec ncdu en appuyant sur d clé, et il demande une confirmation avant de supprimer un fichier. Si vous souhaitez désactiver ce comportement pour éviter les accidents, utilisez le -r option 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

Vous pouvez trouver plus d'informations sur cet outil sur le ncdu page Web.

2. htop en remplacement de top

htop est un visualiseur de processus interactif similaire à top mais cela offre une expérience utilisateur plus agréable prête à l'emploi. Par défaut, htop affiche les mêmes métriques que top dans un affichage agréable et coloré.

Par défaut, htop ressemble à ceci :

Contrairement à la valeur par défaut top :

De plus, htop fournit des informations de présentation du système en haut et une barre de commandes en bas pour déclencher des commandes à l'aide des touches de fonction, et vous pouvez la personnaliser en appuyant sur F2 pour accéder à l'écran de configuration. Dans la configuration, vous pouvez modifier ses couleurs, ajouter ou supprimer des statistiques ou modifier les options d'affichage de la barre de présentation.

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

Bien que vous puissiez configurer les versions récentes de top pour obtenir des résultats similaires, htop fournit des configurations par défaut plus saines, ce qui en fait un visualiseur de processus agréable et facile à utiliser.

Pour en savoir plus sur ce projet, consultez le htop page d'accueil.

3. tldr en remplacement de man

Le tldr L'outil de ligne de commande affiche des informations simplifiées sur l'utilisation des commandes, notamment des exemples. Il fonctionne en tant que client pour le projet de pages tldr de la communauté.

Cet outil ne remplace pas man . Les pages de manuel sont toujours la source canonique et complète d'informations pour de nombreux outils. Cependant, dans certains cas, man c'est trop. Parfois, vous n'avez pas besoin de toutes ces informations sur une commande; vous essayez juste de vous souvenir des options de base. Par exemple, la page de manuel pour le curl commande a près de 3 000 lignes. En revanche, le tldr pour curl fait 40 lignes et 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", qui est l'argot Internet pour un résumé d'un texte long. Le nom est approprié pour cet outil car les pages de manuel, bien qu'utiles, sont parfois tout simplement trop longues.

Dans Fedora, le tldr client a été écrit en Python. Vous pouvez l'installer en utilisant dnf . Pour d'autres options client, consultez le projet de pages tldr.

En général, le tldr l'outil nécessite un accès à internet pour consulter les pages tldr. Le client Python de Fedora vous permet de télécharger et de mettre en cache ces pages pour un accès hors ligne.

Pour plus d'informations sur tldr , vous pouvez utiliser tldr tldr .

4. jq en remplacement de sed/grep pour JSON

jq est un processeur JSON en ligne de commande. C'est comme sed ou grep mais spécifiquement conçu pour traiter les données JSON. Si vous êtes un développeur ou un administrateur système qui utilise JSON dans vos tâches quotidiennes, c'est un outil essentiel dans votre boîte à outils.

Le principal avantage de jq sur des outils de traitement de texte génériques comme grep et sed est qu'il comprend la structure de données JSON, ce qui vous permet de créer des requêtes complexes avec une seule expression.

Pour illustrer, imaginez que vous essayez de trouver le nom des 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"
  }
}

Si vous essayez de grep directement pour name , voici le résultat :

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

grep a renvoyé toutes les lignes contenant le mot name . Vous pouvez ajouter quelques options supplémentaires à grep pour le restreindre et, avec quelques manipulations d'expressions régulières, vous pouvez trouver les noms des conteneurs. Pour obtenir le résultat souhaité avec jq , utilisez une expression qui simule la navigation dans la structure de données, comme ceci :

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

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

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

Parce que jq est conscient de la structure des données, il fournit les mêmes résultats même si le format du fichier change légèrement. grep et sed peut fournir des résultats différents avec de petites modifications du format.

jq a de nombreuses fonctionnalités, et les couvrir toutes nécessiterait un autre article. Pour plus d'informations, consultez le jq la page du projet, les pages de manuel ou tldr jq .

5. fd en remplacement de find

fd est une alternative simple et rapide à la find commande. Il ne vise pas à remplacer la fonctionnalité complète find fournit; à la place, il fournit des valeurs par défaut saines qui aident beaucoup dans certains scénarios.

Par exemple, lors de la recherche de fichiers de code source dans un répertoire contenant un référentiel Git, fd exclut automatiquement les fichiers et répertoires cachés, y compris le .git répertoire, ainsi que d'ignorer les modèles du .gitignore dossier. En général, il permet des recherches plus rapides avec des résultats plus pertinents dès le premier essai.

Par défaut, fd exécute une recherche de modèle insensible à la casse dans le répertoire courant avec une sortie colorée. La même recherche en utilisant find vous oblige à fournir des paramètres de ligne de commande supplémentaires. Par exemple, pour rechercher tous les fichiers de démarquage (.md ou .MD ) dans le répertoire courant, le find commande est celle-ci :

$ find . -iname "*.md"

Voici la même recherche avec fd :

$ fd .md

Dans certains cas, fd nécessite des options supplémentaires ; par exemple, si vous souhaitez inclure des fichiers et répertoires cachés, vous devez utiliser l'option -H , alors que ce n'est pas obligatoire dans find .

fd est disponible pour de nombreuses distributions Linux. Installez-le dans Fedora en utilisant les référentiels standard :

$ sudo dnf install fd-find

Pour plus d'informations, consultez le fd Référentiel GitHub.

Excellentes alternatives aux utilitaires éprouvés

Bien que j'utilise encore régulièrement tous les anciens outils essentiels, en particulier lors de la connexion à distance aux serveurs, les outils alternatifs offrent des avantages supplémentaires qui sont précieux dans de nombreux scénarios. Ils m'aident particulièrement à gérer et à travailler sur mes ordinateurs de bureau et portables Linux.

Utilisez-vous d'autres outils qui facilitent votre flux de travail ? Ajoutez-les dans la section des commentaires ci-dessous.


Linux
  1. 4 alternatives à cron sous Linux

  2. Mes 5 outils d'administration système Linux préférés

  3. Rendre les certificats CA disponibles pour les outils de ligne de commande Linux

  4. Introduction à la commande alternatives sous Linux

  5. Historique de la ligne de commande sous Linux

TrueCrypt sur les distributions Linux modernes

Guide d'installation de VMware Tools sur Linux

Installez les outils essentiels de construction sur Ubuntu 22.04 ou 20.04 LTS Linux

Linux - Schéma du noyau Linux Vs. Outils de performances ?

Exemples essentiels de la commande ps sous Linux

Les 10 meilleurs outils de guitare Linux :la boîte à outils essentielle du guitariste