Alias

L’utilisation du terminal sous Linux peut être plus rapide et plus productive qu’une interface graphique, en particulier lors d’opérations répétées. Pour en tirer le meilleur parti, il est utile de connaître quelques secrets de la coque..

Vous trouvez-vous souvent en train de taper dans les mêmes options de commande, encore et encore? Avez-vous parfois de la difficulté à vous rappeler les bonnes options? Êtes-vous simplement paresseux et souhaitez-vous éviter de taper autant que possible? Si vous avez répondu oui à l'une de ces questions, les alias sont pour vous..

Vous avez déjà des alias de shell configurés. Pour les lister, tapez:

alias

qui renverra des entrées comme celle-ci (d'Ubuntu):

alias ll = "ls -alF"
alias ls = "ls --color = auto"

Le premier de ces exemples est simple: si vous tapez ll, ça court ls -A. La seconde est plus intelligente, car le pseudonyme est identique au nom de la commande, de sorte que l'ancien comportement de ls disparaît et qu'il est toujours exécuté avec le --couleur = auto option.

Si vous utilisez toujours certaines options avec des commandes particulières, des alias comme celui-ci font de ces options les valeurs par défaut..

L'alias est développé avant que le reste de la ligne de commande ne soit interprété, ainsi:

ll X Y Z

devient

ls -alF X Y Z

Ces alias ne sont pas toujours faciles à retenir, mais n'ayez crainte, vous pouvez créer vos propres alias en utilisant exactement la même syntaxe que dans le résultat de la commande alias:

alias myalias = "somecommand --option1 --option2"

Creuser une commande à son propre nom est une astuce intéressante, mais que se passe-t-il si vous devez ensuite utiliser la commande d'origine? Ne vous inquiétez pas, les développeurs ont pensé à cela. Préfixez la commande avec une barre oblique inverse et votre alias sera ignoré:

\ ls documents

Précédent Page 1 sur 6 Suivant Précédent Page 1 sur 6 Suivant

Profils

Vous pouvez personnaliser votre expérience de terminal avec des alias et des invites personnalisées, mais pour les rendre encore plus pratiques, vous avez besoin d'un moyen de les appliquer automatiquement lorsque vous ouvrez un terminal..

Cela peut être fait via votre profil, qui est un fichier contenant des commandes qui sont lues et exécutées chaque fois que vous ouvrez une session shell.

Il y a plusieurs endroits qui sont lus, le premier est / etc / profile, qui contient les paramètres de profil globaux. Ceci à son tour exécute tous les fichiers dans /etc/profile.d, ce qui facilite l'ajout de paramètres globaux sans toucher au profil par défaut.

Ensuite, le profil de l'utilisateur est lu depuis l'un des /.bash_profile, /.bash_login et /.profil. Seul le premier de ces fichiers existant est exécuté, et les paramètres définis ici remplacent ceux du profil global si la même chose est définie dans les deux..

Le profil est simplement un ensemble de commandes shell, une par ligne, qui sont exécutées au démarrage du shell. Ceux-ci peuvent configurer des alias, des variables d'environnement ou définir l'invite de commande. Une utilisation typique des variables d’environnement consiste à modifier l’éditeur de texte par défaut en nano:

EDITOR = / usr / bin / nano

Précédent Page 2 sur 6 Suivant Précédent Page 2 sur 6 Suivant

Complétion de mots

Si vous n'êtes pas un dactylographe tactile particulièrement confiant, vous en aurez vite marre de taper les noms de commande et de fichier dans leur intégralité, puis de traiter les messages d'erreur résultant d'orthographes erronées. Heureusement, le shell offre un moyen à la fois de sauvegarder la saisie et d’éviter des erreurs appelées achèvement de la tabulation..

Le nom est assez explicite: il utilise la touche de tabulation pour compléter le mot que vous tapez. S'il s'agit du premier mot d'une ligne, il s'agira d'une commande. Les correspondances apparaissent dans le chemin de commande, par exemple, en tapant chm et frapper l'onglet se terminera à chmod.

Utilisé après la commande, l'onglet se termine sur les noms de fichiers, donc au lieu de taper:

cat /pathto/somelongdirectory/someevenlongerfilename.txt

vous pouvez utiliser:

cat / pa [appuyez sur TAB] som [appuyez sur TAB] som [appuyez sur TAB]

N'est-ce pas plus facile? Lorsque plusieurs fichiers correspondent, la touche Tab complète jusqu'à ce qu'elle devienne ambiguë. Une nouvelle pression sur Tab vous permet d'afficher une liste d'options que vous pouvez parcourir avec Tab, ou ajouter une ou deux autres lettres et appuyer à nouveau sur Tab. Il est en fait beaucoup plus facile à utiliser que décrire - essayez-le simplement.

Précédent Page 3 sur 6 Suivant Précédent Page 3 sur 6 Suivant

Wildcards

Il arrive que vous souhaitiez inclure plus d'un fichier dans une commande mais que vous ne souhaitiez pas tous les taper. Le shell Linux a quelques opérateurs "génériques" pour vous aider. Le plus utilisé est l'étoile, qui remplace les chaînes de caractères..

Alors * correspond à chaque fichier du répertoire en cours (qu’il soit différent des shells MS-DOS où * ne correspond pas . et vous devez utiliser *. * faire correspondre un fichier avec une extension).

Vous pouvez aussi utiliser * faire correspondre une partie d'un nom de fichier: *.SMS correspond à tous les fichiers qui se terminent par .txt, et un * .txt correspond uniquement à ceux qui commencent également par un.

Cette correspondance est effectuée par le shell. Il étend les correspondances à une liste de fichiers avant de les transmettre à la commande, qui ne voit jamais le caractère générique ou sait même que vous en avez utilisé un..

Cela peut être une distinction importante, surtout si vous voulez passer un test * au programme que vous exécutez. Par exemple, disons que vous utilisez scp copier des fichiers à partir d’un ordinateur distant et exécuter les opérations suivantes:

scp user @ othercomputer: Documents / *. txt Documents /

Vous pouvez vous attendre à ce que cela copie tous les fichiers .txt du répertoire Documents de l'autre ordinateur dans le même répertoire, mais ce ne sera pas le cas. La coquille élargit la *.SMS pour correspondre à tous les fichiers .txt sur le système local, de sorte que vous ne copiez que les fichiers que vous avez déjà.

Dans un tel cas, vous devez dire au shell de ne pas développer la * en le faisant précéder d'une barre oblique inversée, connue sous le nom de lui échapper:

scp user @ othercomputer: Documents / \ *. txt Documents /

Maintenant ça passe Documents / * .txt inchangé à l'ordinateur distant et laisse son shell gérer l'expansion.

Il y a aussi un deuxième caractère générique. Tandis que * correspond à un nombre quelconque de caractères, y compris aucun, ? correspond exactement à un. Alors ab? .txt correspond à abc.txt et ab1.txt mais pas à ab.txt ni à abcd.txt, alors que ab * .txt correspondrait à tous.

Précédent Page 4 sur 6 Suivant Précédent Page 4 sur 6 Suivant

Substitution de commande

Il existe une fonctionnalité puissante dans les shells appelée substitution de commande. Cela vous permet d’incorporer le résultat d’une commande dans une autre.

Par exemple, supposons qu’il existe une commande appelée foo sur votre système et disons que vous voulez savoir de quel type de programme il s’agit: compilé, Python ou même un script shell. le lequel commande vous donne le chemin d'accès à un programme, et fichier rapporte le type d'un fichier. Vous pouvez utiliser:

quel foo

obtenir / usr / local / bin / foo et alors

fichier / usr / local / bin / foo

pour obtenir le type de fichier, mais même avec copier-coller, c’est beaucoup de travail et il est facile d’être mal typé. Alternativement, vous pouvez faire:

fichier $ (quel foo)
/ usr / local / bin / foo: un script / usr / bin / perl, un exécutable texte ASCII

Qu'est-ce qui se passe, c'est que le shell exécute tout $ (…) et substitue le résultat de celui-ci dans la ligne de commande avant de l'exécuter. Vous pouvez également utiliser des backticks pour cela:

fichier 'quel foo'

C’est plus rapide à taper mais moins lisible, surtout lorsqu’il est posté sur un forum où la police du lecteur peut faire ' et ' ressemble. Avec le premier format, il n'y a pas une telle confusion.

Précédent Page 5 sur 6 Suivant Précédent Page 5 sur 6 Suivant

Économies de terminal: répétez

L'un des grands avantages du shell est qu'il est simple de répéter des commandes, quelle que soit leur complexité, avec quelques pressions de touche. Dans sa forme la plus simple, vous pouvez appuyer sur la touche Haut pour afficher les commandes précédentes, puis sur Entrée pour exécuter la commande choisie à nouveau..

Vous pouvez également modifier la commande avant de l'exécuter, si vous le souhaitez. C'est bien si vous voulez utiliser l'une des dernières commandes que vous avez exécutées, mais la plupart des shells conservent un historique des 500 dernières commandes auxquelles vous pouvez accéder à nouveau..

Pour éviter d'user la touche de la flèche vers le haut de votre clavier (et vos yeux), appuyez sur Ctrl-R, puis tapez une partie de la commande. Le terminal vous montrera la commande la plus récente qui correspond à ce que vous tapez, mise à jour à chaque pression de touche..

Si vous avez exécuté plusieurs commandes très similaires, vous n'avez pas besoin de continuer à taper - il suffit de saisir quelques caractères et d'appuyer à nouveau sur Ctrl-R pour voir la correspondance précédente. Continuez jusqu'à ce que vous trouviez celui que vous voulez. (Ne vous inquiétez pas. C’est l’une de ces choses qui prend beaucoup plus de temps à décrire qu’à réellement le faire.)

Vous pouvez éditer la commande avant de l'exécuter. Le terme de recherche que vous saisissez ne doit pas obligatoirement être la commande elle-même - toute partie de la ligne de commande doit correspondre, vous pouvez donc commencer par le nom du fichier..

Vous pouvez également accéder directement aux commandes de l'historique. le ! le personnage dit à la coquille que vous vous référez à son histoire. !! est un raccourci pour la commande précédente en !-n signifie 'exécuter la commande exécuter n il y a des commandes '(donc !! est le même que !-1). !xyz lance la dernière commande commençant par xyz, et !?xyz fait de même pour la dernière commande contenant xyz (à peu près comme Ctrl-R).

  • Format Linux a fourni cet article à TechRadar. Chaque numéro du magazine contient une analyse des nouvelles, des fonctionnalités détaillées sur des sujets essentiels de Linux, des guides de codage, des projets Raspberry Pi et Maker, etc. Abonnez-vous à la version imprimée ou numérique du format Linux ici
Précédent Page 6 sur 6 Suivant Précédent Page 6 sur 6 Suivant
Actions