Erfahren Sie die Grundlagen der ZSH -Schale

Erfahren Sie die Grundlagen der ZSH -Schale

Zielsetzung

Installieren Sie ZSH mit Oh My ZSH und lernen Sie die grundlegenden Funktionen kennen.

Verteilungen

ZSH ist in den Repositorys fast jeder Verteilung erhältlich.

Anforderungen

Eine funktionierende Linux -Installation mit Root -Privilegien.

Schwierigkeit

Einfach

Konventionen

  • # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl
  • $ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

Einführung

Bash ist nicht schlecht. Es erbringt die Arbeit gut, aber haben Sie jemals darüber nachgedacht, wie es wäre, wenn Bash einige zusätzliche Funktionen hätte, um es bequemer zu machen, damit sie arbeiten können? Das ist mehr oder weniger, was ZSH ist.

Es enthält alle Funktionen, die Sie von Bash erwarten würden, aber es gibt auch einige wirklich nette Ergänzungen, um Ihr Leben zu erleichtern. Tatsächlich werden Sie erstaunt sein, wie viel einfacher sie in der Befehlszeile arbeiten.

ZSH installieren

Zuerst müssen Sie ZSH installieren. Es ist unglaublich beliebt, daher haben Sie kein Problem damit, es in den Repositorys Ihrer Verteilung zu finden.

Ubuntu/Debian

$ sudo apt installieren ZSH

Fedora

# DNF -y install ZSH

Centos

# yum -y -y install ZSH

OpenSuse

# Zypper in ZSH

Arch Linux

# Pacman -S ZSH

Gentoo

# auftauchen -ask zsh

Sie bekommen wahrscheinlich die Idee. Es ist möglich, ZSH zu verwenden, indem Sie es einfach als Befehl in Bash eingeben. Dieser bestimmte Terminal wechselt vorübergehend auf ZSH. Es ist jedoch am besten, nur dauerhaft zu wechseln. Es kostet Sie nichts und Sie können alles tun, was Sie normalerweise genauso tun würden. Außerdem können Sie genau auf die gleiche Weise zurückschalten, wenn Sie es wirklich wollen.

$ chsh -s /bin /zsh

Möglicherweise möchten Sie alle Ihre Terminals neu loginieren oder schließen, damit die Änderung wirksam wird.



Installieren Sie oh-my-zsh

Jetzt, da Sie ZSH als Standardhülle installiert und aktiviert haben. Es ist ein Bündel von Themen und Plugins, die die vorhandene Funktionalität von ZSH verbessern. Das wird es nicht verlangsamen oder in den Weg stehen, also schnappen Sie sich das und installieren Sie es.

$ sh -c "$ (curl -fssl https: // raw.GithubuSercontent.com/robbyrussell/oh-my-zsh/master/tools/installieren.Sch)"

Wenn Sie vor der Installation mehr darüber lesen möchten, lesen Sie die Projekte des Projekts https: // github.com/robbyrussell/oh-my-zsh.

Die Konfigurationsdatei

Genau wie Bash hat .bashrc, ZSH hat .ZSHRC. Dies ist die einzelne Datei, die die Konfigurationsoptionen für die Shell enthält, und Sie können sie verwenden, um Aliase festzulegen und das Laufzeitverhalten anzupassen. Ab sofort haben Sie dank OH-my-Zsh tatsächlich eine schöne Standardeinstellungen, die die Datei während der Installation einrichten.

Themen

ZSH unterstützt das Thema der Eingabeaufforderung. Es kommt mit ein paar eingebauten Themen, aber sie sind bei weitem nicht so gut wie die, die mit Oh-my-zsh kommen. Sie können einen Blick darauf werfen, wie sie auf dem aussehen https: // github.com/Robbyrussell/oh-my-zsh/wiki/Themen Oh-my-zsh wiki.

Um Ihr Thema zu ändern, öffnen Sie .ZSHRC und finden Sie die Linie unten. Ändern Sie den Themennamen auf denjenigen, den Sie ausprobieren möchten.

ZSH_THEME = "Robbyrussell"

Plugins

Oh-my-zsh hat auch einen Berg Plugins mitgebracht. Es würde viel zu lange dauern, um sie alle hier abzudecken. Schauen Sie sich also das an https: // github.com/Robbyrussell/oh-my-zsh/wiki/plugins Oh-my-zsh Wiki für die gesamte Liste. Unabhängig davon, welche anderen Sie auswählen, um zu aktivieren Extrakt Und z ist eine gute Idee. Wieder werden Ihre Plugins mit einer Linie in eingestellt .ZSHRC.

Plugins = (Git Extract z)

Registerkartenabschluss

Bash hat die Registerkartenabschluss, aber es ist bestenfalls schwach. ZSH übernimmt die Registerkartenverlauf auf ein neues Niveau. Versuchen Sie, einzugeben ls gefolgt vom Namen eines Verzeichnisses. Drücken Sie nach dem Namen die Registerkarte zweimal in kurzer Folge. ZSH zeigt automatisch die Dateien und Ordner in dem von Ihnen benannten Verzeichnis an. Sie können mit den Pfeiltasten durch diese Verzeichnisse navigieren. Drücken Sie die Eingabetaste auf dem, den Sie sehen möchten, und führen Sie den Befehl aus.

Das gleiche funktioniert auch mit anderen Befehlen. Probieren Sie es aus CD.

Es sind nicht nur Verzeichnisse, die ZSH mit der Registerkarte vervollständigen kann. Es funktioniert auch mit Befehlen. Versuchen Sie, einzugeben mk und zweimal der Registerkarte. Sie erhalten den gleichen Menü mit verschiedenen Befehlen, die mit beginnen mk.

Verzeichnis Kurzschrift

Hassen Sie es, lange Verzeichniswege zu tippen?? ZSH hat auch eine Lösung dafür. Es unterstützt seine eigene Version von ShortHand, mit der Sie nur die ersten paar Buchstaben jedes Verzeichnisses im Pfad eingeben können. Es passt sie so gut wie möglich auf den vollen Weg. Wenn es mehrere Ergebnisse findet, werden sie für Sie angezeigt, die Sie auswählen können.

Versuchen Sie, einzugeben $ ls/u/sh/ico in das Terminal- und Drücken -Registerkarte. ZSH erweitert es auf den vollständigen Pfad zum Shared Icons -Verzeichnis.

Aliase

Dies ist ein Merkmal von Oh-my-Zsh, nicht der Schale selbst, aber es ist immer noch sehr bequem. Oh-my-Zsh hat einen Haufen exzellenter Aliase für alles, was zu gemeinsamen Programmen wie Git und Systemd navigierte. Auch hier gibt es mehr als Zeit, hier zu gehen, aber hier sind einige schwierige Lichtverhältnisse.

CD… /… =… CD… /… /… =… Mkdir -p = MD rmdir = rd git add = git add -alle = gaa git agrg = gb git commit -m = gcmsg git checkout = gco git pull origin currentbranch = ggpull git drücken Ursprungsstrombranch = ggpush systemctl start = sc-start systemctl stop = sc-stop systemctl status = sc-status systemctl enable = sc-enable 

Wenn Sie sich die gesamte Liste ansehen möchten, die erneut die https: // github.com/Robbyrussell/oh-my-zsh/wiki/Cheatsheet Wiki ist die beste Wahl.



Z

Z Eigentlich ist nicht Teil von ZSH oder oh-my-zsh, es ist nur von letzterem als Plugin aktiviert. Trotzdem passt es leicht zu dem gleichen Verwendungsstil, den ZSH erlaubt. Z ist ein Skript, das häufig verwendete und neuere Verzeichnisse im Auge behält, sodass Sie mit einer einzigen Arbeit oder einer Kombination von Zeichen auf sie zugreifen können.

Zum Beispiel, wenn Sie einen Ordner bei hatten /Home/Benutzer/Bilder/Fotografie/Canon/2017/Bilder, Und Sie verwenden es die ganze Zeit, Sie können verwenden Z das drastisch zu verkürzen. Mit Z Sie würden den folgenden Linux -Befehl verwenden, um dieses Verzeichnis einzugeben.

$ z Bilder

Ja, es ist so lächerlich einfach.

Process -Suche töten

Es kann ein Schmerz sein, einen nicht reagierenden Prozess zu töten. Zuerst müssen Sie verwenden ps Um den beleidigenden Prozess zu finden. Dann müssen Sie verwenden töten und die ausgewählte Prozessnummer. ZSH rationalisiert diesen Prozess. Eintippen töten gefolgt vom Namen oder Teil des Namens des Prozesses oder Programms, den Sie töten möchten. Verwenden Sie dann die Registerkarte, um ZSH die Prozess -ID zu ermitteln.

Verwenden Sie diesen jedoch mit einem gewissen Grad an Vorsicht. Sagen Sie, Sie möchten ein nicht reagierendes Firefox töten, aber Sie haben FireJail mit einem anderen Programm laufen. Typisierung Feuer töten Sie können Ihnen möglicherweise nicht das bekommen, was Sie suchen, tippen Töte Firefox werde wahrscheinlich. Es ist auch wirklich keine gute Idee, mit diesem als Wurzel herumzuspielen. Sie wollen wirklich nicht so etwas wie eintreten wie Töte Systeme und PID 1 herunterbringen.

Befehlspezifischer Verlauf

Manchmal ist es ein riesiger Schmerz, durch Ihre Befehlsgeschichte zurückzublicken. Sie brauchen diesen Befehl, den Sie vor 20 Zeilen geschrieben haben, weil Sie sich nicht ganz sicher sind, welche Switches Sie verwendet haben. Nun, ZSH unterstützt die Befehlsspezifische Geschichte. Also, wenn Sie wissen, dass der von Ihnen verwendete Befehl war Du, eintippen Du und dann beginnen. Sie werden nur Ihre jüngsten Verwendungen des DU -Befehls sehen.

Suche suche

Während Mannseiten großartig sind, sind sie nicht so bequem, wenn Sie nur einen einmaligen Befehl schreiben möchten. Außerdem gibt es immer viel mehr als eine grundlegende Referenz der verfügbaren Schalter. ZSH hat eine großartige Funktion, mit der Sie nach Schalter suchen können, während Sie Ihren Befehl schreiben. Beginnen Sie den Befehl, schreiben Sie den dem Switch zugeordneten Armaturenbrett und drücken Sie die Registerkarte. ZSH zeigt die verfügbaren Optionen für Sie an. Meistens werden Sie gefragt, ob es alle Elemente anzeigen soll, drücken Sie y bestätigen.

Globbiing

Haben Sie jemals einen Wildcard -Charakter verwendet, um nach etwas aus dem Terminal zu suchen?

$ ls -l *.png

Das ist eine Form der Kugeln. Kugeln sind im Wesentlichen regelmäßige Ausdrücke für die Hülle. Während Bash es unterstützt, erweitert ZSH seine kugelförmigen Fähigkeiten weit über Bash hinaus.

Versuchen Sie, diesen Befehl in Ihre zu tippen /heim Verzeichnis mit ZSH.

$ ls **/*

Ja, das ist viel Müll in Ihrem Terminal. Dieser Befehl listet tatsächlich alles in Ihrem aktuellen Verzeichnis sowie in allen Unterverzeichnissen auf. Sie können es verwenden, um auch bestimmte Dateitypen zu finden.

$ ls **/*.txt

Das ist alles .txt Dateien in Ihrem /heim Verzeichnis.

Sie können auch einen vollständigen Dateinamen angeben. Versuchen Sie, alles zu finden, um alle zu finden Liesmich Dateien in Ihrem /heim Verzeichnis.

$ ls **/readme.*

Sie können auch in den Dateinamen nach Wörtern oder Phrasen suchen.

## beginnt mit lesen $ ls **/(lesen)*.*## endet mit lesen $ ls **/*(lesen).*## enthält überall gelesen $ ls **/*(lesen)*.* 

Das ist eine wirklich unangenehme Möglichkeit, Dateien aufzulisten. Es gibt einige sehr einfache Möglichkeiten, Dateien und Ordner anzugeben.

# Dateien nur $ ls **/*(.) # Ordner nur $ ls **/*(/) 

Sie können auch eine von mehreren Zeichen angeben.

# Alle Dateien, die mit einem $ ls **/[a]*beginnen (.) # Alle Dateien, die mit einem oder einem $ ls **/[aa]*beginnen (.) # Alle Dateien, die die Nummer $ ls **/*[1]*enthalten (.) # Alle Dateien, die in einem Vokal $ ls **/*[aeiouy] enden (.) 


Wenn Sie einen Charakter oder Zeichen ausschließen möchten, können Sie das auch tun.

# Dateien, die nicht mit einem oder einem $ ls **/[^aa] beginnen (.) 

Sie können auch nach Buchstaben suchen.

# Dateien, die in einer Nummer $ ls **/*enden (.) 

Global -Qualifikation

Es gibt andere Optionen, mit denen Sie die Ergebnisse Ihrer Suche sortieren und filtern können. Diese werden als Global -Qualifikatoren bezeichnet, und sie machen die Suche durch Ihre Dateien tot.

Erstens können Sie nach Dateigröße mit einschränken L.

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

Das obige Beispiel oben zeigt nur Dateien Dateien an, die größer als 250 MB in Größenreihenfolge sind.

So, L schränkt nach Größe ein. Es ist mit k, M, Und G Um Größeneinheiten anzugeben. Dann gibt es eine positive oder negative Zahl, um einen Grenzpunkt festzulegen und festzustellen, ob die Ergebnisse über oder unter diesem Punkt liegen.

Schauen Sie sich ein paar weitere an.

# Alle Dateien unter 1 GB nach Größe $ ls -lahs **/*(.LG -1) # Aufzeichnen Sie alle Dateien über 10 MB nach Größe $ ls -lahs **/*(.LM+10) # Listen Sie alle Dateien auf, die mit einer unter 100 MB nach Größe $ ls -lahs **/[a]*beginnen (.LM-100) 

Es gibt auch Qualifikationen, die durch Änderung und Zugriff filtern können. Sie sind M Und A bzw. Sie können mit ihnen kombiniert werden S, M, H, D, w, Und M. Diese stehen für Sekunden, Minuten, Stunden, Tage, Wochen und Monate.

Versuchen Sie dies, um alle in er geänderten Dateien aufzulisten.

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

Die Nummer in der Erklärung bedeutet, wie viele der Einheiten zurückblicken sollen. Dies würde alle in den letzten 3 Tagen modifizierten Dateien feststellen.

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

Es gibt andere weniger häufige Qualifikationen zu erkunden, und Sie können sie absolut zusammenziehen, um Ihre Suchanfragen noch mehr einzugrenzen.

Autokorrektur

Diese letzte Funktion ist einfach sehr schön. Jeder hat etwas geschafft und musste alles von Grund auf neu einstellen. Es ist einfach nur nervig. ZSH versucht zu helfen. Wenn ZSH ein Wort erkennt, das wie eine benebelte Version eines tatsächlichen Befehls aussieht, werden Sie gefragt, ob Sie es korrigieren und den Befehl ausführen möchten, und speichern Sie die Mühe, alles wieder aufzunehmen.

Schießen Sie es aus, indem Sie ein Verzeichnis erstellen, den falschen Weg.

$ mdkir einiger Mold

ZSH zur Rettung!

Gedanken schließen

Da ist es, ZSH in all seinem Ruhm. Dies können Sie hier nicht lesen und sofort wissen. Es ist ein Werkzeug, das Sie jetzt abholen können und genau so verwenden, wie Sie es verprügeln würden. Dann können Sie anfangen, verschiedene Funktionen auszuprobieren und sie langsam in Ihre üblichen Gewohnheiten zu integrieren.

Sobald Sie anfangen, sich an ZSH zu gewöhnen, werden Sie erkennen, wie sehr Sie sich mögen und darauf verlassen. Es ist nichts wirklich revolutionäres, aber es bietet alle möglichen Annehmlichkeiten, die Sie wahrscheinlich wünschen oder vor Jahren hatten.

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Dinge zu installieren auf Ubuntu 22.04
  • Linux -Befehle: Top 20 wichtigste Befehle, die Sie benötigen, um…
  • Grundlegende Linux -Befehle
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Installieren Sie Arch Linux in VMware Workstation
  • Linux -Download
  • Dinge zu tun nach der Installation Ubuntu 22.04 Jammy Quallen…
  • Beste Linux -Distribution für Entwickler