Mémoriser ces 7 options de ligne de commande Linux fera de vous un pro
Agence web » Actualités du digital » Mémoriser ces 7 options de ligne de commande Linux fera de vous un pro

Mémoriser ces 7 options de ligne de commande Linux fera de vous un pro

Les commandes Linux ont souvent de longues listes d'options qu'elles prennent en charge, dont beaucoup sont des mnémoniques à une seule lettre. Celles-ci peuvent être difficiles à apprendre et à mémoriser, mais leur avantage réside dans leur réutilisation : les options communes sont partagées par différentes commandes.

Les options suivantes sont les plus courantes et sont largement disponibles dans plusieurs commandes. Apprenez-les et vous acquerrez une solide compréhension de la façon d’utiliser de nombreux programmes différents, avec des résultats cohérents.

–help et –version pour les informations vitales

Un indicateur pris en charge par presque toutes les commandes, modernes et anciennes, est –help (-h ou -? est souvent disponible) pour afficher un bref morceau de texte d'aide non interactif. Ceci est généralement appelé « utilisation » car il comprend une ligne récapitulative vous montrant comment utiliser la commande, ainsi que des détails sur ses options : ce qu'elles font et comment elles fonctionnent.

Certaines sorties d'aide, comme celle de ls ci-dessus, peuvent être presque aussi complètes que la page de manuel de la commande !

–help est très bien pris en charge sur Ubuntu et d'autres systèmes Linux modernes. Les outils modernes comme bat, rg (ripgrep) et ncdu prennent en charge à la fois la forme longue et -h pour faire court. La plupart des outils GNU prennent également en charge –help, bien que les commandes comme ls et cd ne prennent pas en charge -h.

ls n'utilise pas -h pour obtenir de l'aide, mais comme raccourci pour –human-readable. Cela l'amène à imprimer des tailles de fichier telles que « 1K » au lieu de « 1024 ».

L'option –version (-V) va de pair avec –help car elle vous aide à découvrir le programme et elle est généralement prise en charge là où se trouve –help. Traditionnellement, l'option –version imprime la version du programme sur lequel vous l'exécutez ; Par exemple:

Cela vous permet de confirmer que vous exécutez la version souhaitée et peut être utile pour le dépannage. Le seul problème avec –version est dans quelle mesure le résultat peut varier d'un outil à l'autre. De nombreux programmes, comme ncdu, top et jq, affichent une seule ligne, dans un format potentiellement analysable :

Pendant ce temps, les programmes GNU tels que find, mkdir et sed affichent une licence et des crédits détaillés à côté de la version du logiciel, sur plusieurs lignes de sortie. L'enregistrement va probablement à Vim, qui répertorie des fonctionnalités spécifiques et indique si elles sont incluses ou non dans cette version particulière, produisant ainsi de nombreux résultats :

–help et –version ne sont pas toujours pris en charge par les commandes, en particulier les plus anciennes ou celles intégrées au shell. Certaines commandes prennent en charge –help, mais pas -h. Sur macOS, cependant, de nombreuses commandes principales ne prennent en charge ni l'une ni l'autre ; l'homme est votre meilleure alternative dans ces cas-là.

–all pour afficher tous les résultats

L'option –all (-a) est souvent disponible si une commande fonctionne avec des fichiers, mais en ignore certains par défaut. L'exemple le plus courant est probablement ls –all, qui affiche les fichiers cachés en plus des fichiers normaux. La commande du rend compte des répertoires par défaut, mais –all lui fait également signaler les fichiers normaux.

Le programme which prend également en charge une option -a, avec une signification légèrement différente. Par défaut, la commande signale le premier chemin d'une commande donnée qui apparaît dans votre variable PATH :

Cependant, en utilisant l'option -a, il signalera chaque programme correspondant :

Certaines commandes poussent ce concept un peu plus loin, avec des options complémentaires. Par exemple, ls prend également en charge une option –almost-all (-A) qui affiche tous les fichiers cachés à l'exception des fichiers spéciaux . et .. entrées.

–forcer à autoriser un comportement destructeur

De nombreuses équipes effectuant des actions potentiellement destructrices feront preuve de prudence dans certaines situations. Par exemple, si vous utilisez rm pour supprimer un fichier protégé en écriture, la commande vous demandera de confirmer :

Cependant, vous pouvez utiliser l'option –force (-f) pour forcer la suppression :

Désormais, la commande ne demande pas de confirmation ni même n'indique que le fichier était protégé en écriture ; il le supprime simplement en silence. D'autres commandes liées aux fichiers, comme cp et mv, qui peuvent écraser des fichiers existants, prennent en charge une option –force (-f) qui offre le même comportement.

Il est important de noter que la force ne signifie pas vraiment « faire tout son possible pour mener à bien cette action » ; cela revient plutôt à « soyez un peu moins prudent que vous ne le seriez normalement ». Par exemple, cp -f annulera toutes les vérifications que cp pourrait effectuer pour les fichiers existants, mais il ne copiera pas du tout un fichier illisible.

–récursif pour descendre dans les sous-répertoires

La récursivité est un sujet fascinant et qui peut être assez difficile à comprendre. Mais dans le contexte des commandes Linux, c'est un peu plus simple, il s'agit généralement de savoir si une commande descend dans des répertoires. Par exemple, par défaut, ls listera les fichiers dans un répertoire, mais pas les sous-répertoires :

Avec l'option –recursive (-R), ls affichera également le contenu de tous les sous-répertoires qu'il rencontre :

Les programmes susceptibles d'être utiles lorsqu'ils sont appliqués à de nombreux fichiers prennent souvent en charge une option –recursive. La commande rm a une forme communément reconnue — rm -rf — qui est très dangereuse : elle supprime de force tous les fichiers (y compris les répertoires) de manière récursive. L'option –recursive de grep est très utile car elle vous permet d'effectuer une recherche de texte dans n'importe quel ensemble de fichiers. La commande prend également en charge -r et -R comme équivalents abrégés.

Il est important de noter que ce paramètre est « tout ou rien ». Par exemple, -R fera que ls continuera à descendre dans les sous-répertoires jusqu'à ce qu'il n'en trouve plus. Cela signifie que votre listing final peut être beaucoup plus long qu'un listing non récursif. Certaines commandes peuvent offrir un moyen de limiter la profondeur de cette récursivité, mais ce n'est généralement pas le cas de rm, grep et ls.

La meilleure façon de limiter la profondeur lorsque vous travaillez avec des fichiers de manière récursive est d'utiliser la commande find. find est récursif par défaut et prend en charge une option –maxdegree qui limite la descente à un nombre fixe de niveaux de répertoire.

–output pour spécifier un nom de fichier alternatif

Certains types de commandes génèrent un fichier plutôt que d’écrire sur la sortie standard. Ces commandes reconnaissent généralement la nécessité de modifier le nom de fichier qu'elles choisissent, elles prennent donc en charge une option –output (-o) qui vous permet d'en spécifier un. L'exemple classique est un compilateur, comme gcc (pour le langage C) :

        gcc -o myprog program.c

Cette commande compile le code source dans program.c et génère un binaire exécutable nommé myprog. Par défaut, le compilateur gcc nomme son fichier de sortie a.out. Cela peut convenir pour des programmes rapides et du développement local, mais pour des programmes plus complexes, il est normal de spécifier une alternative.

–quiet pour moins de sortie et –verbose pour plus

De nombreux programmes produisent une sortie qui peut être formatée de différentes manières, et un moyen simple de le faire consiste à contrôler la quantité de sortie. Les options –quiet (-q) et –verbose (-v) font exactement cela, et elles peuvent être très utiles pour les scripts ou le débogage.

grep utilise –quiet (et le synonyme –silent) pour supprimer toutes les sorties, auquel cas il agit uniquement comme une vérification oui/non d'une correspondance d'expression régulière via son statut de sortie. Les autres outils prenant en charge –quiet incluent sed, diff et Brew, le gestionnaire de paquets.

L'option –verbose est souvent utilisée par les compilateurs ; gcc produit beaucoup d'informations de diagnostic si vous l'exécutez avec –verbose :

curl génère généralement les données de réponse à partir d'une URL, mais l'option –verbose ajoute des détails de connexion et les en-têtes de la réponse et de la demande, donnant un aperçu de la transaction de niveau inférieur.

-v est souvent utilisé comme raccourci pour –version au lieu de –verbose, alors assurez-vous de savoir ce que votre commande prend en charge.

–ignore-case pour le gestionnaire en minuscules et en majuscules identiques

Tout programme impliquant une correspondance de modèles, comme grep ou diff, aura une politique par défaut sur la façon dont il gère les lettres minuscules et majuscules. Il s'agit généralement de traiter la casse comme importante, de sorte que « exit_status » et « EXIT_STATUS » soient traités comme deux mots différents :

Lorsque vous ne vous souciez pas de la casse, utilisez l'option –ignore-case :

D'autres commandes courantes prenant en charge une option –ignore-case incluent sort, uniq et Locate. De nombreuses options du programme de recherche ont des versions insensibles à la casse, comme -iname et -ipath.

★★★★★