8 fonctionnalités de terminal « cachées » qui donnent à Linux l'impression d'être un système d'exploitation pour utilisateurs expérimentés
Agence web » Actualités du digital » 8 fonctionnalités de terminal « cachées » qui donnent à Linux l'impression d'être un système d'exploitation pour utilisateurs expérimentés

8 fonctionnalités de terminal « cachées » qui donnent à Linux l'impression d'être un système d'exploitation pour utilisateurs expérimentés

Avec le shell de ligne de commande, Linux fournit d'innombrables outils et programmes pour exercer le pouvoir sur votre système. Mais bon nombre de ces fonctionnalités sont cachées sous la surface, attendant que vous les découvriez.

Les fonctionnalités suivantes vous aideront à tirer le meilleur parti de Linux et elles sont toutes disponibles pour une utilisation locale ou sur des serveurs distants.

Complétion des tabulations pour moins de saisie

La complétion des onglets est l'une de ces fonctionnalités que nous tenons tous pour acquises. Cela semble être une fonctionnalité de base tellement évidente, mais essayez d'utiliser un terminal sans elle, et vous maudirez l'omission. Si vous avez déjà utilisé DOS ou n’importe quelle ligne de commande sans terminer, la douleur sera réelle.

Unix a toujours eu une excellente complétion des tabulations, et c'est une fonctionnalité essentielle maintenant que les noms de fichiers sont plus longs et plus difficiles à saisir dans leur intégralité. Appuyez simplement sur Tab et votre shell complétera une commande ou un nom de fichier, à condition que le préfixe que vous avez déjà tapé soit sans ambiguïté. Sinon, vous obtiendrez une liste de commandes/noms de fichiers ambigus, ce qui est utile en soi.

Mais la complétion des onglets Linux est bien plus puissante que la version rudimentaire que tout le monde apprend dès le premier jour. Prenez la commande git, par exemple :

Dans ce cas, vous pouvez voir une liste complète des sous-commandes prises en charge simplement en tapant git et en appuyant sur Tab. Git a une complétion encore plus puissante et peut utiliser le contexte pour déduire un nom de fichier que vous devez transmettre pour valider, par exemple.

En tant qu'utilisateur expérimenté, vous travaillerez beaucoup avec des fichiers dans le terminal, le gain d'efficacité qu'offre la complétion des onglets est donc inestimable.

Historique des commandes interactif

Un autre grand gain d’efficacité est l’utilisation efficace de l’historique des commandes. Là encore, le cas le plus simple est largement utilisé, mais des fonctionnalités plus avancées attendent d’être testées.

Presse En haut dans un terminal, et vous passerez en revue les commandes précédentes, avec Vers le bas se déplaçant dans la direction opposée. Appuyez sur Entrée et vous réexécuterez la commande actuellement affichée ; cette fonctionnalité à elle seule vous fera gagner beaucoup de temps.

La vraie star ici, cependant, est Ctrl + r. Appuyez sur ce raccourci et vous lancerez une recherche interactive puissante :

Au fur et à mesure que vous tapez, la commande correspondante la plus récente de votre historique apparaîtra. Vous pouvez continuer à taper pour affiner la correspondance ou appuyer sur Ctrl + r pour passer au match précédent. Ctrl+s se déplace dans la direction opposée.

Si vous vous retrouvez souvent à taper histoire | bonjour…envisagez plutôt d'utiliser cette recherche interactive.

Redirection d'entrée et de sortie

Au cœur de Linux se trouve un concept appelé « philosophie Unix ». Cet ensemble de principes aide à expliquer pourquoi certaines commandes ne produisent pas de résultat lorsque vous les exécutez et pourquoi Linux expose des éléments tels que les processus et les périphériques matériels sous forme de fichiers.

L'une des fonctionnalités les plus centrales de la philosophie Unix est la redirection : transmettre des données sous forme de flux de texte entre les programmes. Lorsque vous exécutez une commande, vous fournissez généralement une entrée à partir de votre clavier, ce qui générera une sortie qui apparaîtra sur votre écran. Mais ces deux éléments peuvent être joints aux données d’un autre programme ou d’un fichier :

$ < database.py grep -E '^s*defs+' | wc -l > numlines

La commande ci-dessus redirige le base de données.py fichier à grep, en recherchant le modèle donné. Il redirige ensuite la sortie vers wc, qui compte le nombre de lignes (c'est-à-dire le nombre de correspondances). Enfin, il redirige la sortie vers un fichier nommé numlines.

Contrôle total des processus

Ce qui se passe sur votre ordinateur peut souvent sembler magique, que vous utilisiez Windows, macOS ou Linux. Mais, en fin de compte, il s'agit simplement d'exécuter du code de programme, et l'unité standard d'un tel code est le processus.

La ligne de commande offre une visibilité incroyable sur les processus, avec des outils tels que ps, top et le système de fichiers /proc.

En utilisant ps, par exemple, vous pouvez découvrir les processus que vous avez lancés et afficher tous les processus en cours d'exécution. Vous pouvez utiliser ps -e f pour afficher la hiérarchie des processus, qui peut expliquer quels processus ont démarré quels sous-processus. L'identifiant unique (PID) permet de manipuler directement un processus, en utilisant la commande kill pour arrêter son exécution, par exemple.

Le travail est étroitement lié au concept de processus. Il s'agit de la vue qu'a votre shell d'un processus démarré de manière interactive. À l'aide des tâches, vous pouvez contrôler les tâches exécutées simultanément, suspendre les tâches de longue durée et mettre au premier plan les processus avec lesquels vous devrez peut-être interagir.

Multitâche avec Windows

Bien que tmux soit un choix supérieur, screen, son prédécesseur, est plus largement disponible, c'est donc une bonne idée de le maîtriser, même si vous passez ensuite à l'alternative.

L'écran GNU a deux fonctionnalités principales très différentes, mais fortement liées :

  • Il vous permet de travailler sur une machine distante, de vous déconnecter, puis de reprendre la même session plus tard, avec les mêmes programmes exécutés qu'auparavant.

  • Il vous permet d'exécuter plusieurs sessions shell dans une seule fenêtre de terminal, se rapprochant d'une disposition de fenêtrage.

Tous les utilisateurs bénéficieront de la première fonctionnalité, mais les utilisateurs expérimentés tirent vraiment le meilleur parti des volets divisés, en organisant des tâches similaires en groupes dans lesquels ils peuvent facilement naviguer.

Prise en charge de la souris dans les TUI

Évitez l'embarras et le mépris des utilisateurs de Windows avec cette astuce simple ! Saisissez simplement votre souris et commencez à naviguer dans les interfaces textuelles comme s’il s’agissait d’interfaces graphiques depuis le début.

Le programme de publication TUI en est un excellent exemple ; branchez une souris et vous pourrez cliquer sur des boutons, des onglets et d'autres widgets interactifs afin de pouvoir l'utiliser sans même avoir à toucher le clavier.

OK, cela peut sembler un peu bizarre d'utiliser une souris dans votre terminal, mais le simple fait que vous puissiez le faire est assez impressionnant. Et vous aurez certainement l'impression d'avoir plus de puissance à portée de main. Certains programmes, comme Lazygit, reconnaissent même la molette de défilement pour déplacer les listes de haut en bas.

Il est facile de manquer les mises à jour de Linux qui arrivent après que vous l'avez initialement appris, en particulier les fonctionnalités de ligne de commande, car vous pourriez vous attendre à ce qu'elles soient plus stables. Les liens hypertextes ne sont pas nouveaux, mais les shells ne les ont pas toujours pris en charge par défaut.

Sur un système Linux récent, vous devriez pouvoir cliquer sur une URL dans votre terminal pour l'ouvrir dans votre navigateur. En fonction de votre environnement, vous pouvez voir une indication indiquant que l'URL est cliquable, comme le soulignement ondulé que mon terminal Kitty affiche au survol :

Les terminaux modernes, notamment GNOME Terminal, iTerm2 et kitty, prennent en charge les hyperliens plus avancés à l'aide d'une séquence d'échappement spécifique. Pour les tester dans votre propre terminal, exécutez cette commande :

printf 'e)8;;http://example.come\This is a linke)8;;e\n'

Vous devriez voir le texte « Ceci est un lien » affiché sous forme de lien hypertexte cliquable dans votre terminal :

Si vous souhaitez inclure une prise en charge de liens hypertextes sophistiqués dans vos propres scripts, vous pouvez trouver des détails sur la syntaxe dans cet aperçu. Mais vous pouvez toujours vous sentir comme un utilisateur expérimenté sans générer vos propres liens, car les programmes continuent d'ajouter la prise en charge de ce format dans leur sortie.

Une commande pour tout arrêter

Comment éteindre votre ordinateur ? Les amateurs appuient sur le bouton d'alimentation, tandis que les utilisateurs avertis éteignent poliment à l'aide d'un menu dans leur interface graphique. Mais les vrais utilisateurs expérimentés s’éloignent rarement de la ligne de commande :

Oui, vous pouvez arrêter votre système en exécutant une seule commande. Même si une grande puissance s'accompagne de grandes responsabilités, il est certainement utile d'arrêter votre machine simplement en tapant :

shutdown now

Vous ne choisirez peut-être pas souvent d'arrêter en utilisant la ligne de commande, mais lorsque vous le ferez, vous vous sentirez probablement plus comme un utilisateur expérimenté que jamais !

Vous pouvez utiliser le shutdown commande pour redémarrer, planifier un arrêt futur ou même simplement mettre la machine en veille. Il est donc assez flexible et particulièrement utile pour les systèmes multi-utilisateurs, où il peut envoyer un message à tous les utilisateurs connectés, leur demandant de sauvegarder leur travail.

★★★★★