Apprenez les bases de la coquille Zsh

Apprenez les bases de la coquille Zsh

Objectif

Installez Zsh avec Oh My Zsh et apprenez les fonctionnalités de base.

Distribution

Zsh est disponible dans les référentiels de presque toutes les distributions.

Exigences

Une installation Linux fonctionnelle avec des privilèges racine.

Difficulté

Facile

Conventions

  • # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
  • $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Introduction

Bash n'est pas mauvais. Cela fait le travail très bien, mais avez-vous déjà considéré ce que ce serait si Bash avait des fonctionnalités supplémentaires pour le rendre plus pratique pour travailler avec? C'est plus ou moins ce qu'est Zsh.

Il comprend toutes les fonctionnalités que vous attendez de Bash, mais il a également de très beaux ajouts pour vous faciliter la vie. En fait, vous serez étonné de voir à quel point ils facilitent le travail dans la ligne de commande.

Installer Zsh

Tout d'abord, vous devrez installer Zsh. C'est incroyablement populaire, vous n'aurez donc aucun problème à le trouver dans les référentiels de votre distribution.

Ubuntu / Debian

$ sudo apt install zsh

Feutre

# dnf -y installer zsh

Centos

# yum -y installer zsh

Ouverte

# Zypper dans Zsh

Arch Linux

# Pacman -s Zsh

Gentoo

# émerge --ask zsh

Vous avez probablement l'idée. Il est possible d'utiliser Zsh en le tapant simplement comme une commande en bash. Ce terminal particulier passera temporairement à Zsh. Il est préférable de simplement changer de façon permanente,. Cela ne vous coûtera rien, et vous pouvez faire tout ce que vous feriez normalement de la même manière. De plus, vous pouvez changer exactement la même manière, si vous voulez vraiment.

$ shsh -s / bin / zsh

Vous voudrez peut-être redémarrer ou fermer tous vos terminaux pour que le changement prenne effet.



Installez oh-my-zsh

Maintenant que ZSH a installé et activé en tant que coquille par défaut, c'est une * très * bonne idée de prendre un module complémentaire pour Zsh, appelé oh-my-zsh. C'est un paquet de thème et de plugins qui améliorent les fonctionnalités existantes de ZSH. Le ne ralentira pas ou ne gêne pas, alors prenez-le et installez-le.

$ sh -c "$ (curl -fssl https: // brut.githubusercontent.com / robbyrussell / oh-my-zsh / maître / outils / installer.sh) "

Si vous souhaitez en savoir plus avant l'installation, consultez le projet https: // github.com / robbyrussell / oh-my-zsh.

Le fichier de configuration

Tout comme Bash a .bashrc, Zsh a .zshrc. C'est le fichier unique qui contient les options de configuration du shell, et vous pouvez l'utiliser pour définir des alias et personnaliser le comportement d'exécution. Pour l'instant, vous avez en fait un bel ensemble de défauts de défaut grâce à Oh-My-Zsh, qui a configuré le fichier pendant son installation.

Thèmes

Zsh prend en charge le thème l'invite. Il est livré avec quelques thèmes intégrés, mais ils sont loin d'être aussi bons que ceux qui viennent avec oh-my-zsh. Vous pouvez jeter un œil à ce à quoi ils ressemblent sur le https: // github.com / robbyrussell / oh-my-zsh / wiki / thèmes Oh-my-zsh wiki.

Pour changer votre thème, ouvrez .zshrc et trouver la ligne ci-dessous. Changez le nom du thème à celui que vous voulez essayer.

Zsh_theme = "Robbyrussell"

Plugins

Oh-my-zsh a également apporté avec lui une montagne de plugins. Il faudrait trop longtemps pour les couvrir tous ici, alors consultez le https: // github.com / robbyrussell / oh-my-zsh / wiki / plugins Oh-my-zsh wiki pour toute la liste. Peu importe les autres que vous choisissez, permettant extrait et z est une bonne idée. Encore une fois, vos plugins sont réglés avec une ligne .zshrc.

plugins = (extrait git z)

Achèvement de l'onglet

Bash a l'achèvement de l'onglet, mais il est au mieux faible. Zsh prend l'adhésion à un nouveau niveau. Essayez de taper LS suivi du nom d'un répertoire. Après le nom, appuyez sur Tab deux fois en succession rapide. Zsh affichera automatiquement les fichiers et dossiers du répertoire que vous avez nommé. Vous pouvez naviguer dans ces répertoires à l'aide des touches de flèche. Appuyez sur Entrée sur celui que vous souhaitez voir et exécutez la commande.

La même chose fonctionne aussi avec d'autres commandes. Essayez-le avec CD.

Ce ne sont pas seulement les répertoires que Zsh peut compléter avec l'onglet. Cela fonctionne aussi avec les commandes. Essayez de taper mk et appuyer deux fois sur l'onglet. Vous obtiendrez le même type de menu avec différentes commandes qui commencent par mk.

Sténose du répertoire

Détestez-vous taper de longs chemins de répertoire? Zsh a aussi une solution pour ça. Il prend en charge sa propre version de raccourci qui vous permet de taper uniquement les deux premières lettres de chaque répertoire du chemin. Il les correspondra au chemin complet du mieux que possible. S'il trouve plusieurs résultats, il les affichera pour que vous choisissiez.

Essayez d'entrer $ ls / u / sh / ico dans l'onglet Terminal et pressant. Zsh l'étendra au chemin complet vers le répertoire des icônes partagées.

Alias

Ceci est une caractéristique d'Oh-My-Zsh, pas la coquille elle-même, mais c'est toujours vraiment pratique. Oh-My-Zsh est livré avec une pile d'excellents alias pour tout Form Navigant les répertoires vers des programmes communs comme Git et Systemd. Encore une fois, il y a plus qu'il y a de temps pour aller ici, mais voici quelques éclairs.

CD… /… =… CD… /… /… =… mkdir -p = md rmdir = rd git add = ga git add --all = Gaa git branche = gb git commit -m = gcmsg git Checkout = gco git till origin currentBranch = ggpull git push origine currentBranch = ggpush systemctl start = sc-start systemctl stop = sc-stop systemctl status = sc-status systemctl active = sc-enable 

Si vous souhaitez consulter toute la liste, encore une fois https: // github.com / robbyrussell / oh-my-zsh / wiki / cheatsheet Wiki est votre meilleur pari.



Z

Z En fait, ne fait pas partie de Zsh ou Oh-My-Zsh, il est juste activé en tant que plugin par ce dernier. Même encore, il s'intègre facilement avec le même style d'utilisation que Zsh permet. Z est un script qui garde une trace des répertoires fréquemment utilisés et récents, vous pouvez donc y accéder avec une seule œuvre ou combinaison de caractères.

Par exemple, si vous aviez un dossier à / Home / User / Pictures / Photography / Canon / 2017 / Pics, Et vous l'utilisez tout le temps, vous pouvez utiliser Z Pour raccourcir radicalement. Avec Z Vous utiliseriez la commande Linux suivante pour entrer ce répertoire.

$ z photos

Ouais, c'est si ridiculement facile.

Kill Process Search

Cela peut être pénible de tuer un processus insensible. Tout d'abord, vous devez utiliser ps Pour trouver le processus d'offense. Ensuite, vous devez utiliser tuer et le numéro de processus sélectionné. ZSH rationalise ce processus. Tapez tuer suivi du nom, ou une partie du nom du processus ou du programme que vous souhaitez tuer. Ensuite, utilisez l'onglet pour dire à Zsh de découvrir l'ID de processus.

Utilisez celui-ci avec un certain degré de prudence, cependant. Dites que vous voulez tuer un Firefox insensible, mais vous avez Firejail en cours d'exécution avec un autre programme. Dactylographie tuer le feu peut ne pas vous procurer ce que vous recherchez, tapant Tuez Firefox sera probablement. Ce n'est pas vraiment une bonne idée de jouer avec celui-ci comme racine. Tu ne veux vraiment pas entrer quelque chose comme tuer sys et ramener le pid 1.

Historique spécifique à la commande

Parfois, regarder en arrière à travers votre histoire de commandement est une douleur géante. Vous avez besoin de cette commande unique que vous avez écrite il y a 20 lignes parce que vous n'êtes pas entièrement sûr des commutateurs que vous avez utilisés et que vous ne pouvez pas le trouver malgré toutes les raisons. Eh bien, ZSH prend en charge l'histoire spécifique au commandement. Donc, si vous savez que la commande que vous avez utilisée était du, tapez du puis commencez à appuyer sur la flèche vers le haut. Vous ne verrez que vos utilisations récentes de la commande DU.

Recherche de commutation

Bien que les pages d'homme soient super, ils ne sont pas très pratiques lorsque vous cherchez juste à écrire une commande ponctuelle très rapidement. De plus, il y a toujours beaucoup plus là-bas qu'une référence de base des commutateurs disponibles. Zsh a une fonctionnalité impressionnante qui vous permet de rechercher des commutateurs lorsque vous écrivez votre commande. Commencez la commande, écrivez le tableau de bord associé au commutateur, puis appuyez sur l'onglet. Zsh affichera les options disponibles pour vous. La plupart du temps, il vous demandera si vous voulez qu'il affiche tous les éléments, appuyez sur y confirmer.

Global

Avez-vous déjà utilisé un personnage générique pour rechercher quelque chose du terminal?

$ ls -l *.PNG

C'est une forme de globe. Le globbing est essentiellement des expressions régulières pour la coquille. Alors que Bash le soutient, Zsh étend ses capacités de globbing bien au-delà de Bash.

Essayez de taper cette commande dans votre /maison Répertoire utilisant Zsh.

$ ls ** / *

Ouais, c'est beaucoup de déchets dans ton terminal. Cette commande répertorie en fait tout dans votre répertoire actuel ainsi que toutes les sous-répertoires. Vous pouvez également l'utiliser pour trouver des types de fichiers spécifiques.

$ ls ** / *.SMS

C'est tout .SMS Fichiers dans votre /maison annuaire.

Vous pouvez également spécifier un nom de fichier complet. Essayez de l'utiliser pour trouver tout Réadmettre Fichiers dans votre /maison annuaire.

$ ls ** / readme.*

Vous pouvez également rechercher des mots ou des phrases dans les noms de fichiers.

## commence par lire $ ls ** / (lire) *.* ## se termine par lire $ ls ** / * (lire).* ## Contient à lire n'importe où $ ls ** / * (lire) *.* 

C'est une façon vraiment gênante d'énumérer les fichiers. Il existe quelques moyens très faciles de spécifier les fichiers et les dossiers.

# Fichiers uniquement $ ls ** / * (.) # Dossiers seulement $ ls ** / * (/) 

Vous pouvez également spécifier l'un des nombreux caractères.

# Tous les fichiers qui commencent par un $ ls ** / [a] * (.) # Tous les fichiers qui commencent par un ou un $ ls ** / [aa] * (.) # Tous les fichiers contenant le nombre $ ls ** / * [1] * (.) # Tous les fichiers qui se terminent par une voyelle $ ls ** / * [aeiouy] (.) 


Si vous souhaitez exclure un personnage ou des personnages, vous pouvez aussi le faire.

# Les fichiers qui ne commencent pas par un ou un $ ls ** / [^ aa] (.) 

Vous pouvez également rechercher des gammes de lettres.

# Les fichiers qui se terminent par un nombre $ ls ** / * (.) 

Qualifications globales

Il existe d'autres options que vous pouvez utiliser pour trier et filtrer les résultats de votre recherche. Ceux-ci s'appellent les qualifications Glob, et ils rendent la recherche dans vos fichiers morts simples.

Tout d'abord, vous pouvez limiter la taille du fichier avec L.

$ ls -lahs ** / * (.LM + 250) 

L'exemple ci-dessus affiche uniquement les fichiers de fichiers supérieurs à 250 Mo de commande de taille.

Donc, L restreint par taille. C'est jumelé avec k, m, et g Pour spécifier des unités de taille. Ensuite, il existe un nombre positif ou négatif pour définir un point de coupure et déterminer si les résultats seront au-dessus ou en dessous de ce point.

Découvrez quelques autres.

# Liste tous les fichiers sous 1 Go par taille $ ls -lahs ** / * (.Lg-1) # Liste tous les fichiers sur 10 Mo par taille $ ls -lahs ** / * (.LM + 10) # Liste tous les fichiers qui commencent par un moins de 100 Mo par taille $ ls -lahs ** / [a] * (.LM-100) 

Il y a aussi des qualifications à filtrer par modification et accès. Ils sont m et un respectivement. Ils peuvent être jumelés avec s, m, H, d, w, et M. Ceux-ci représentent des secondes, des minutes, des heures, des jours, des semaines et des mois.

Pour répertorier tous les fichiers modifiés dans le cours de la semaine dernière, essayez ceci.

$ ls -lah ** / * (.MW-1)

Le numéro dans l'instruction signifie le nombre de l'unité à regarder en arrière. Cela trouverait tous les fichiers modifiés au cours des 3 derniers jours.

$ ls -lah ** / * (.MD-3)

Il y a d'autres qualifications moins courantes à explorer, et vous pouvez absolument les enchaîner pour restreindre vos recherches encore plus.

Correction automatique

Cette dernière fonctionnalité est vraiment sympa. Tout le monde a trompé quelque chose et a dû tout retaper à partir de zéro. C'est tout simplement ennuyeux. Zsh essaie d'aider. Si Zsh détecte un mot qui ressemble à une version trompeuse d'une commande réelle, cela vous demandera si vous voulez le corriger et exécuter la commande, vous évitant la peine d'avoir à tout retaper.

Donnez-lui une chance en créant un répertoire, dans le mauvais sens.

$ mdkir

Zsh à la rescousse!

Réflexions de clôture

Il y a, zsh dans toute sa gloire. Ce n'est pas quelque chose que vous pouvez lire ici et savoir immédiatement. C'est un outil que vous pouvez ramasser dès maintenant et utiliser exactement comme vous pourriez dénigrer. Ensuite, vous pouvez commencer à essayer différentes fonctionnalités et les intégrer lentement dans vos habitudes habituelles.

Une fois que vous commencez à vous habituer à Zsh, vous vous rendrez compte à quel point vous aimez et comptez-vous sur. Ce n'est rien de vraiment révolutionnaire, mais il fournit toutes sortes de commodités que vous souhaiterez probablement penser ou avoir il y a des années.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Choses à installer sur Ubuntu 22.04
  • Commandes Linux: les 20 meilleures commandes les plus importantes que vous devez…
  • Commandes Linux de base
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Installez Arch Linux dans VMware Workstation
  • Téléchargement Linux
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Meilleure distribution Linux pour les développeurs