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é.
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 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
Par défaut, htop ressemble à ceci :
Contrairement au haut :
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é
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
5. fd vs trouver
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
Source: habr.com