En utilisant des alternatives modernes en plus des anciens outils de ligne de commande, on peut en tirer plus de plaisir et même améliorer la productivité.

Dans notre travail quotidien sur Linux / Unix, nous utilisons de nombreux outils de ligne de commande - par exemple, du pour surveiller l'utilisation du disque et des ressources système. Certains de ces outils existent depuis longtemps. Par exemple, top a été créé en 1984, et la première version de du date de 1971.
Au fil des ans, ces outils ont été modernisés et portés sur différents systèmes, mais dans l'ensemble, ils n'ont pas beaucoup évolué par rapport à leurs premières versions, leur apparence et leur convivialité n'ayant également pas 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 interface moderne et attractive, tandis que d'autres améliorent considérablement l'expérience utilisateur. Dans cette traduction, nous parlerons de cinq alternatives aux outils de ligne de commande standard de Linux.
1. ncdu vs du
NCurses Disk Usage () ressemble à du, mais avec une interface interactive basée sur la bibliothèque curses. ncdu affiche la structure des répertoires qui occupent la majeure partie de votre espace disque.
ncdu analyse le disque, puis affiche les résultats triés par les répertoires ou fichiers les plus utilisés, par exemple :
ncdu 1.14.2 ~ Utilisez les flèches pour naviguer, appuyez sur ? pour obtenir de l'aide
--- /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
Utilisation totale du disque : 159.4 GiB Taille apparente : 280.8 GiB Éléments : 561540Vous pouvez naviguer entre les enregistrements à l'aide des flèches. 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 [ ] /mediaVous pouvez utiliser cet outil pour, par exemple, déterminer quels fichiers utilisent le plus d'espace disque. Vous pouvez revenir au répertoire précédent en appuyant sur la flèche gauche. Avec ncdu, vous pouvez supprimer des fichiers en appuyant sur la touche d. Avant de supprimer, il demande confirmation. Si vous souhaitez désactiver la fonction de suppression pour éviter de perdre accidentellement des fichiers précieux, utilisez l'option -r pour activer le mode lecture seule : ncdu -r.
ncdu est disponible pour de nombreuses plateformes et distributions Linux. Par exemple, vous pouvez utiliser dnf pour l'installer sur Fedora directement à partir des dépôts officiels :
$ sudo dnf install ncdu2. htop vs top
est un outil interactif pour visualiser les processus, similaire à top, mais offrant dès le départ une meilleure expérience utilisateur. Par défaut, htop affiche les mêmes informations que top, mais de manière plus graphique et colorée.
Par défaut, htop apparaît ainsi :

Contrairement à top :

De plus, en haut de htop, un aperçu des informations système est affiché, et en bas, un panneau pour exécuter des commandes à l'aide des touches fonction. Vous pouvez le configurer en appuyant sur F2 pour ouvrir l'écran de configuration. Dans les paramètres, vous pouvez changer les couleurs, ajouter ou supprimer des métriques ou modifier les options d'affichage du panneau d'aperçu.
Bien qu'en jouant avec les paramètres des dernières versions de top, on puisse également obtenir une convivialité similaire, htop propose des configurations par défaut pratiques, ce qui le rend plus facile à utiliser.
3. tldr vs man
L'outil en 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é .
Il est important de noter que tldr n'est pas un substitut à man. Il reste l'outil canonique et le plus complet pour afficher les pages de documentation. Cependant, dans certains cas, man peut être excessif. Lorsque vous n'avez pas besoin d'informations exhaustives sur une commande, vous essayez simplement de vous souvenir des options de base de son utilisation. Par exemple, la page man pour la commande curl contient presque 3000 lignes. La page tldr pour curl ne fait que 40 lignes. Son extrait ressemble à ceci :
$ tldr curl
# curl
Transfère des données depuis ou vers un serveur.
Prend en charge la plupart des protocoles, y compris HTTP, FTP et POP3.
Plus d'informations : .
- Téléchargez le contenu d'une URL dans un fichier :
curl http://example.com -o filename
- Téléchargez un fichier, en sauvegardant la sortie sous le nom de fichier indiqué par l'URL :
curl -O http://example.com/filename
- Téléchargez un fichier, en suivant les redirections [L]ocation et en [C]ontinuant (reprenant) un transfert de fichier précédent :
curl -O -L -C - http://example.com/filename
- Envoyez des données encodées en formulaire (requête POST de type `application/x-www-form-urlencoded`) :
curl -d 'name=bob' http://example.com/form
- Envoyez une requête avec un en-tête supplémentaire, en utilisant une méthode HTTP personnalisée :
curl -H 'X-My-Header: 123' -X PUT http://example.com
- Envoyez des données au format JSON, en spécifiant l'en-tête de type de contenu approprié :
curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234
... SORTIE TRONQUÉETLDR signifie « trop long ; pas lu » : c'est-à-dire qu'un certain texte a été ignoré à cause de son excessive verbosité. Le nom convient bien à cet outil, car les pages man, bien que utiles, peuvent parfois être trop longues.
Pour Fedora, tldr a été écrit en Python. Vous pouvez l'installer via le gestionnaire dnf. Il est généralement nécessaire d'avoir accès à Internet pour faire fonctionner l'outil. Cependant, le client Python sur Fedora permet de télécharger et de mettre en cache ces pages pour un accès hors ligne.
4. jq vs sed/grep
jq est un processeur JSON en ligne de commande. Il est similaire à sed ou grep, mais spécialement conçu pour travailler avec des données au format JSON. Si vous êtes développeur ou administrateur système qui utilise JSON dans vos tâches quotidiennes, cet outil est fait pour vous.
Le principal avantage de jq par rapport aux outils de traitement de texte standards, tels que grep et sed, est qu'il comprend la structure des données JSON, ce qui permet de formuler des requêtes complexes en une seule expression.
Par exemple, vous essayez de trouver les noms 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"
}
}Exécutez grep pour rechercher la ligne name :
$ 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 paramètres supplémentaires à grep pour le restreindre et, avec quelques manipulations d'expressions régulières, trouver les noms des conteneurs.
Pour obtenir le même résultat avec jq, il suffit d'écrire :
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"Cette commande vous donnera les noms des deux conteneurs. Si vous ne cherchez que le nom du deuxième conteneur, ajoutez l'index de l'élément du tableau dans l'expression :
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"Étant donné que jq connaît la structure des données, il fournit les mêmes résultats même si le format du fichier est légèrement modifié. grep et sed peuvent ne pas fonctionner correctement dans ce cas.
jq a beaucoup de fonctionnalités, mais il faudrait un autre article pour les décrire. Pour plus d'informations, consultez la jq ou le tldr.
5. fd vs find
est une alternative simplifiée à l'outil find. Fd n'est pas destiné à le remplacer entièrement : il est livré par défaut avec les paramètres les plus courants qui définissent une approche générale de la gestion des fichiers.
Par exemple, lors de la recherche de fichiers dans un répertoire Git, fd exclut automatiquement les fichiers et sous-répertoires cachés, y compris le répertoire .git, et ignore également les modèles du fichier .gitignore. En général, il accélère la recherche en fournissant des résultats plus pertinents dès la première tentative.
Par défaut, fd effectue une recherche sans tenir compte de la casse dans le répertoire actuel avec une sortie coloriée. La même recherche avec la commande find nécessite l'entrée de paramètres supplémentaires dans la ligne de commande. Par exemple, pour trouver tous les fichiers .md (ou .MD) dans le répertoire actuel, vous devez écrire la commande find suivante :
$ find . -iname "*.md"Pour fd, cela ressemble à :
$ fd .mdMais dans certains cas, fd peut également nécessiter des paramètres supplémentaires : par exemple, si vous souhaitez inclure des fichiers et répertoires cachés, vous devez utiliser l'option -H, bien que cela ne soit généralement pas nécessaire lors de la recherche.
fd est disponible pour de nombreuses distributions Linux. Dans Fedora, vous pouvez l'installer comme suit :
$ sudo dnf install fd-findIl n'est pas nécessaire de renoncer à quelque chose
Utilisez-vous de nouveaux outils en ligne de commande Linux ? Ou restez-vous exclusivement avec les anciens ? Mais il est probable que vous ayez un mélange, n'est-ce pas ? Merci de partager votre expérience dans les commentaires.
En tant que publicité
De nombreux clients ont déjà profité des avantages serveurs épiques!
C'est , fréquence du cœur CPU jusqu'à 3,4 GHz. La configuration maximale permettra de libérer tout son potentiel - 128 cœurs CPU, 512 Go de RAM, 4000 Go NVMe. N'attendez pas pour commander !
Source : habr.com
