ZSH: 75 Befehle, Plugins, Alias und Tools, mit denen Sie die Terminal -Effizienz verbessern können
Ich arbeite jeden Tag jeden Tag am Terminal, und die von mir ausgewählte Hülle ist ZSH - eine sehr anpassbare Unix -Shell mit vielen leistungsstarken Funktionen. Als Lazy Developer ™ habe ich nach Möglichkeiten gesucht, die Eingabemenge zu reduzieren und alle Aufgaben zu automatisieren. Glücklicherweise wurde ZSH dafür geboren.
In diesem Artikel werde ich 75 Befehle, Plugins, Alias und Tools teilen, in der Hoffnung, einige Schlüsselpressen zu sparen und Ihre tägliche Arbeitseffizienz zu verbessern.
Wenn Sie ZSH auf Ihrem Computer nicht installiert haben, lesen Sie diesen Artikel und ich zeige Ihnen, wie Sie schnell anfangen.
Schlüsselpunkte
ZSHs 15 Out-of-the-Box-Funktionen
zsh teilt viele bequeme Funktionen mit Bash. Die folgenden Merkmale sind nicht nur für ZSH, aber immer noch wissen, dass sie wissen. Ich ermutige Sie, die Befehlszeile zu verwenden, um die unten aufgeführten Aktionen auszuführen. Zuerst mag es so schauspielerischer sein, als eine GUI zu verwenden, aber wenn Sie den Trick erhalten, werden Sie es nie bereuen.
cd
von überall im Dateisystem ein, bringt Sie direkt zu Ihrem Heimverzeichnis. !!
ein. Rufen Sie den letzten Befehl auf. Dies ist sehr bequem, wenn der Befehl fehlschlägt, da Administratorrechte erforderlich sind. In diesem Fall können Sie sudo !!
eingeben. &&
verwenden, um mehrere Befehle zu verknüpfen. Zum Beispiel mkdir project && cd project && npm init -y
. ||
, um eine bedingte Ausführung durchzuführen. Zum Beispiel git commit -m "whatever..." || echo "Commit failed"
. mkdir
-Befehls -p
können Sie nach Bedarf ein übergeordnetes Verzeichnis erstellen. Verwenden Sie Curly -Zahnspangen, um die Duplizierung zu verringern. Zum Beispiel mkdir -p articles/jim/sitepoint/article{1,2,3}
. NODE_DEBUG=myapp node index.js
. Oder auf der Basis pro Sitzung einstellen: export NODE_DEBUG=myapp
. Sie können überprüfen, ob es durch Eingeben von echo $variable-name
eingestellt ist. cat /var/log/kern.log | less
lange Protokolle leicht zu lesen oder history | grep ssh
nach einem Eintrag für Verlaufseinträge mit "SSH". nano ~/.zshrc
(nano), subl ~/.zshrc
(sublime Text), code ~/.zshrc
(vs Code). Wenn die Datei nicht vorhanden ist, wird sie erstellt, wenn Sie im Editor "Speichern" drücken. <kbd>Ctrl</kbd> <kbd>a</kbd>
Sie zum Beginn einer Linie. <kbd>Ctrl</kbd> <kbd>e</kbd>
werden Sie zum Ende bringen. <kbd>Ctrl</kbd> <kbd>w</kbd>
verwenden, um ein Wort (rückwärts) zu löschen. <kbd>Ctrl</kbd> <kbd>u</kbd>
löscht alles vom Cursor bis zum Beginn der Linie. <kbd>Ctrl</kbd> <kbd>k</kbd>
löst alles vom Cursor bis zum Ende der Linie. Die letzten drei können mit <kbd>Ctrl</kbd> <kbd>y</kbd>
rückgängig gemacht werden. <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>c</kbd>
verwenden, um Text zu kopieren. Dies ist viel eleganter als mit der rechten Maustaste und Auswahl der Kopie. <kbd>Ctrl</kbd> <kbd>shift</kbd> <kbd>v</kbd>
zum Einfügen kopierter Text verwenden. Versuchen Sie, sich an diese Schlüsselkombinationen zu erinnern. Sie werden überrascht sein, wie oft sie nützlich sind.
15 benutzerdefinierte Aliase, um Ihre Produktivität zu erhöhen
alias ist eine terminale Verknüpfung für reguläre Befehle. Sie können sie zu Ihrer ~/.zshrc
-Datei hinzufügen und Ihr Terminal (mit source ~/.zshrc
) neu laden, damit sie wirksam werden.
Die Syntax zum Deklarieren (einfach) Alias lautet wie folgt:
<code>alias [alias-name]='[command]'</code>
Alias eignet sich perfekt für gemeinsame Befehle, lange Befehle oder Befehle, die in der Syntax schwer zu erinnern sind. Hier sind einige Aliase, die ich oft verwende:
a myip
alias, die Ihre aktuelle öffentliche IP -Adresse zum Terminal druckt: alias myip='curl http://ipecho.net/plain; echo'
.
a distro
a alias distro='cat /etc/*-release'
Alias, die Informationen zu Ihrer Linux -Verteilung ausgibt:
reload
a alias reload='source ~/.zshrc'
a
undo-git-reset
alias undo-git-reset-head="git reset 'HEAD@{1}'"
a git reset HEAD~
alias:
alias sapu='sudo apt-get update'
alias ffs='sudo !!'
y
yarn
Weil ich faul bin, werde ich alias y='yarn'
als Alias für den Befehl <kbd>y</kbd>
verwenden:
node_modules
package-lock.json
Ich benutze es nicht oft, aber dieser Alias löscht den Ordner alias yolo='rm -rf node_modules/ && rm package-lock.json && yarn install'
und löscht die -Datei und installiert dann die Abhängigkeiten des Projekts neu: . Wie Sie vielleicht wissen, steht YOLO für y ou o nly l ive
.zshrc
alias zshconfig='subl $HOME/.zshrc'
Ein Alias, der meine
alias update-available-rubies='cd ~/.rbenv/plugins/ruby-build && git pull'
alias server='python -m SimpleHTTPServer 8000'
alias npmhelp='firefox https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/npm'
alias -g L='| less'
cat production.log L
Ein globaler Alias für Rohre Die Ausgabe des Befehls zu weniger:
alias -g G='| grep'
history G ssh
Ein globaler Alias für Rohre Die Ausgabe des Befehls an Grep:
Sie können auch Funktionen verwenden, um Alias zu erstellen. Das folgende (von hier genommen) erstellt einen Alias zum Hinzufügen, Verhalten und Schubcode zu GitHub:
<code>alias [alias-name]='[command]'</code>
Es gibt viele Orte, um mehr Ideen zu Alias online zu finden. Zum Beispiel diese Hacker -Nachrichtendiskussion oder dieser Artikel über die Verwendung von ZSH zur Verbesserung der Befehlszeilenproduktivität.
15 coole Dinge, die Sie mit (oh mein) zsh
machen könnenOh mein ZSH ist ein Community-gesteuerter Framework für die Verwaltung Ihrer ZSH-Konfiguration und mit Tausenden nützlicher Funktionen, Assistenten, Plugins und Themen gebündelt. Wenn Sie die Z -Shell als täglichen Treiber verwenden möchten, sollten Sie wirklich oh mein ZSH installieren.
Hier sind fünfzehn nützliche Dinge, oh mein ZSH kann für Sie tun:
take
erstellt ein neues Verzeichnis und Eingibt das Verzeichnis. take my-project
ersetzen mkdir my-project && cd my-project
. zsh_stats
bietet Ihnen eine Liste der ersten 20 Befehle und deren Anzahl von Läufen. ..
ein Alias für cd ...
. ...
Sie zwei Verzeichnisse nach oben, ....
bewegt sich um drei nach oben und .....
verlegt vier nach oben. cd
weglassen. Wenn Sie beispielsweise /
eingeben, führt Sie direkt in Ihr Stammverzeichnis des Dateisystems. /h/j/De
ein und drücken Sie <kbd>TAB</kbd>
und dann führt mich <kbd>Return</kbd>
zu /home/jim/Desktop/
. rd
ist ein Alias für rmdir
und md
ist ein Alias für mkdir -p
. d
eingeben, um das letzte in der Terminalsitzung verwendete Verzeichnis aufzulisten. cd -n
verwenden, um zu diesen Verzeichnissen zu navigieren, wobei n die Verzeichnisnummer ist. ls -
und das Drücken von <kbd>TAB</kbd>
alle Befehlsoptionen sowie eine nützliche Beschreibung ihrer Funktionen auflisten. Dies gilt auch für cap
, rake
, ssh
und kill
. alias
ls *.html
. ls **/*.html
Mit ls -l **/*(.x)
ls *(m-7)
ls *(Lm 1)
Oh mein ZSH wird mit eine große Anzahl von Plugins geliefert. Sie sollten diese Plugins durchsuchen und einige Zeit investieren, die diejenigen lernen, die Ihrem Workflow helfen können.
Folgende sind drei Plugins, die ich oft verwende, die viele praktische Abkürzungen und Aliase bieten.
10 schöner Git alias
Git -Plugin bietet viele Aliase und einige nützliche Funktionen. Warum stöbern Sie diese nicht und versuchen Sie, sich an die zehn zu erinnern, die Sie am häufigsten verwenden? Hier sind die, die ich am meisten benutze.
g
ist ein bequemer Alias für git
. Dies bedeutet, dass Sie so etwas wie g clone <whatever></whatever>
statt git clone <whatever></whatever>
eingeben können. Es kann nur zwei Schlüssel geben, aber sie werden sich bald ansammeln. gaa
ist ein Alias für git add all
. Ich habe das die ganze Zeit benutzt. gb
ist ein Alias für git branch
, der alle Zweige im aktuellen Repository auflistet und zeigt, in welcher Filiale Sie sich derzeit befinden. gcb
ist ein Alias für git checkout -b
, mit dem Sie einen neuen Zweig erstellen können. gcm
ist ein Alias für git checkout master
. Dies kehrt Sie zum Hauptzweig zurück. gdca
ist ein Alias für git diff --cached
. Auf diese Weise können Sie einen unterschiedlichen Vergleich von Dateien durchführen, die zur Einreichung investiert wurden. gf
ist ein Alias für git fetch
. gm
ist ein Alias für git merge
. gp
ist ein Alias für git push
. Um die Zweige des Repositorys zu synchronisieren, können Sie: gf upstream
, gm upstream/master
und dann gp
tun. glog
ist ein Alias für git log --oneline --decorate --graph
, der Ihnen ein wunderschönes Git -Zweig -Diagramm bietet. 10 bequemer NPM alias
DasNPM -Plugin bietet Fertigstellung und viele nützliche Aliase.
npmg
ist ein Alias für npm install --global
, mit dem Sie Abhängigkeiten von Ihrem System weltweit installieren können. Zum Beispiel npmg nodemon
. npmS
ist ein Alias für npm install --save
, mit dem Sie Abhängigkeiten installieren und zu Ihrem package.json
-Abschnitt von dependencies
hinzufügen können. Beachten Sie, dass dies ab NPM 5.0.0 die Standardeinstellung beim Ausführen von npm i <package></package>
ist. npmD
ist ein Alias für npm install --save-dev
, mit dem Sie Abhängigkeiten installieren und zu Ihrem package.json
-Abschnitt von devDependencies
hinzufügen können. npmO
ist ein Alias für npm outdated
, der die Registrierung überprüft, um festzustellen, ob derzeit irgendwelche (oder spezifischen) installierten Pakete abgelaufen sind. npmL
ist ein Alias für npm list
, in dem installierte Pakete aufgeführt sind. npmL0
ist ein Alias für npm list --depth=0
, der Top-Level-Pakete auflistet. Dies ist besonders nützlich, um zu sehen, welche Module global installiert sind, ohne Ihr Terminal mit einem riesigen Abhängigkeitsbaum zu überfluten: npmL0 -g
. npmst
ist ein Alias für npm run start
, ein NPM -Skript, das üblicherweise zum Starten von Anwendungen verwendet wird. npmt
ist ein Alias für npm run test
, und wie Sie vielleicht vermuten, wird es verwendet, um Ihre Tests auszuführen. npmR
ist ein Alias für npm run
. Es wird selbst alle verfügbaren NPM -Skripte für das Projekt sowie eine Beschreibung ihrer Funktionalität aufgelistet. Wenn es mit dem Skriptnamen verwendet wird, wird das Skript beispielsweise npmR build
ausgeführt. npmI
ist ein Alias für npm init
. Dies stellt Ihnen einige Fragen und erstellt dann eine package.json
basierend auf Ihrer Antwort. Verwenden Sie das Flag -y
, um diesen Vorgang zu automatisieren. Zum Beispiel npmI -y
. 10 zeitsparende Schienen/Rake alias
Dieses Plugin fügt die Fertigstellung des Ruby on Rails -Frameworks und der Rake -Programme sowie einige Aliase für Protokolle und Umgebungsvariablen hinzu.
rc
ist ein Alias für rails console
, mit dem Sie mit Ihrer Rails -Anwendung von der CLI interagieren können. rdc
ist ein Alias für rake db:create
, der (es sei denn, RAILS_ENV
ist festgelegt) eine Entwicklungs- und Testdatenbank für Ihre Anwendung erstellt. rdd
ist ein Alias für rake db:drop
, mit dem die Entwicklungs- und Testdatenbank Ihrer Anwendung gelöscht wird. rdm
ist ein Alias für rake db:migrate
, bei dem alle ausstehenden Datenbankmigrationen ausgeführt werden. rds
ist ein Alias für rake db:seed
, der die Datei db/seeds.rb
ausführt, um Ihre Entwicklungsdatenbank mit Daten zu füllen. rgen
ist ein Alias für rails generate
, mit dem der Code von Boilerplate generiert wird. Zum Beispiel: rgen scaffold item name:string description:text
. rgm
ist ein Alias für rails generate migration
, der eine Datenbankmigration generiert. Zum Beispiel: rgm add_description_to_products description:string
. rr
ist ein Alias für rake routes
, der alle definierten Routen für die Anwendung auflistet. rrg
ist ein Alias für rake routes | grep
, mit dem Sie definierte Routen auflisten und filtern können. Zum Beispiel rrg user
. rs
ist ein Alias für rails server
, der den Standard -Webserver der Rails startet. Andere Ressourcen
Die Hauptaufgabe des oben aufgeführten Plug-Ins besteht darin, Alias für gemeinsame Befehle bereitzustellen. Beachten Sie, dass es viele andere Plugins gibt, die Ihrer Shell zusätzliche Funktionen hinzufügen können.
Folgendes sind vier meiner Favoriten:
sudo
können Sie den aktuellen oder vorherigen Befehl problemlos durch Drücken <kbd>ESC</kbd>
auf sudo
profixieren. autosuggestions
Schlagen Sie Befehle vor, die Sie basierend auf dem Verlauf und dem vollständigen Inhalt eingeben. Wenn der Vorschlag der Befehl ist, den Sie suchen, drücken Sie die Taste <kbd>→</kbd>
, um ihn zu akzeptieren. Ein echtes zeitsparendes Tool! command-not-found
: Wenn der Befehl in $PATH
nicht erkannt wird, wird das Ubuntus command-not-found
-Paket verwendet, um es zu finden oder einen Rechtschreibfehler vorzuschlagen. z
ist ein praktisches Plugin, das Ihre am häufigsten verwendeten und neuesten Ordnerlisten erstellt (es wird "frecent" bezeichnet) und ermöglicht es Ihnen, mit einem Befehl zu ihnen zu springen. Vergessen Sie nicht, dass es sich lohnt, es visuell ansprechender zu machen, wenn Sie viel Zeit mit dem Terminal verbringen. Glücklicherweise kommt mein ZSH mit vielen Themen, aus denen Sie auswählen können. Mein Lieblingsthema ist Agnoster.
Sie können mehr über das Thema in meinem Artikel 10 ZSH -Tipps und -tricks erfahren: Konfiguration, Anpassung und Verwendung.
Schlussfolgerung
Es ist so: 75 ZSH -Befehle, Plugins, Alias und Werkzeuge. Ich hoffe, Sie haben während des Lernprozesses ein oder zwei Tricks gelernt und ich ermutige Sie, Ihre GUI zu verlassen und zum Terminal zu gehen. Es ist viel einfacher als es scheint und ist eine großartige Möglichkeit, die Produktivität zu steigern.
Wenn ich Ihr Lieblings-Plugin oder Ihren zeitsparenden Alias/Befehl verpasst habe, lassen Sie es mich bitte auf Twitter wissen.
Möchten Sie mehr von Ihrem Toolkit bekommen? Schauen Sie sich den Visual Studio Code von Wiley an: End-to-End-Bearbeitung und Debugging-Tools für Webentwickler.
FAQs über ZSH -Befehle, Plugins, Alias und Tools
zsh, auch als Z Shell bekannt, ist eine leistungsstarke Schale, die Merkmale von anderen Schalen wie Bash, TCSH und KSH enthält. Es bietet einige Vorteile gegenüber diesen Muscheln. Erstens verfügt ZSH über leistungsstarke automatische Funktionen, die Befehle, Dateinamen, Optionen und sogar Hostnamen vorschlagen können. Diese Funktion kann Ihren Workflow erheblich beschleunigen. Zweitens unterstützt ZSH den Befehlsverlauf der Freigabe, mit dem Sie Befehle anzeigen können, die in einer anderen Terminalsitzung eingegeben wurden. Drittens können Sie mit ZSH EMACS- und VI -Bearbeitungsmodi gleichzeitig verwenden, was es für verschiedene Benutzer flexibler macht. Schließlich verfügt ZSH über eine leistungsstarke Skriptsprache mit Funktionen wie assoziativen Arrays und schwimmenden Punktvorgängen, die in Bash nicht verfügbar sind.
zSH können Sie Ihre Eingabeaufforderung mithilfe der PROMPT
-Variablen anpassen. Sie können diese Variable in Ihrer .zshrc
-Datei festlegen. Wenn Sie beispielsweise das aktuelle Verzeichnis in Ihrer Eingabeaufforderung anzeigen möchten, können Sie den Parameter %~
verwenden. Daher sieht Ihre PROMPT
Variable so aus: PROMPT='%~%# '
. Mit dem Parameter %F{color}
können Sie auch Farben zu Ihrer Eingabeaufforderung hinzufügen. Um beispielsweise Ihre schnelle grün zu machen, können Sie: PROMPT='%F{green}%~%# %f'
verwenden. %f
Die Farbe auf die Standardfarbe zurücksetzen.
Aliase in ZSH kann Ihnen helfen, Zeit zu sparen, indem Sie Abkürzungen für lange oder gemeinsame Befehle erstellen. Sie können einen Alias erstellen, indem Sie den Befehl alias
, gefolgt vom Alias und dem Befehl, den Sie schnell haben möchten, verwenden. Um beispielsweise einen Alias für den Befehl ls -l
zu erstellen, können Sie: alias ll='ls -l'
verwenden. Sie können diese Zeile zu Ihrer .zshrc
-Datei hinzufügen, um den Alias dauerhaft effektiv zu machen.
ZSH -Plugin ist ein Skript, das Ihrer ZSH -Shell zusätzliche Funktionen hinzufügt. Sie können Ihnen helfen, Aufgaben zu automatisieren, neue Funktionen hinzuzufügen oder Ihre Shell anzupassen. Um das ZSH -Plugin zu verwenden, müssen Sie es zunächst installieren. Dies beinhaltet normalerweise das Klonen des Plugins -Repositorys in Ihr .oh-my-zsh/plugins
-Verzeichnis und dann das Plugin zum .zshrc
-Array in Ihrer plugins
-Fatei. Sobald das Plugin installiert ist, können Sie seine Funktionen verwenden.
Wechsel von Bash zu ZSH ist ein einfacher Prozess. Zunächst müssen Sie ZSH über Ihren Paketmanager installieren. Zum Beispiel können Sie auf Ubuntu: sudo apt install zsh
verwenden. Nach dem Installieren von ZSH können Sie es mit dem Befehl chsh
als Standardhülle als chsh -s $(which zsh)
einstellen:
Mit .oh-my-zsh/themes
zSH können Sie das Erscheinungsbild der Shell anpassen. Sie können das Farbschema, das Auffordern von Layout und sogar Elemente wie die aktuelle Zeit oder den Git -Status hinzufügen. Um das ZSH -Thema zu verwenden, müssen Sie es zunächst installieren. Dies beinhaltet normalerweise das Klonen des Repositorys des Themas in Ihr .zshrc
Verzeichnis und das Einstellen der ZSH_THEME
-Variablen in Ihrer .zshrc
-Datei auf den Namen des Themas. Nach der Installation des Themas können Sie es aktivieren, indem Sie Ihre source ~/.zshrc
-Datei erhalten:
.zshrc
Oh mein ZSH ist ein Community-gesteuerter Framework für die Verwaltung Ihrer ZSH-Konfiguration. Es kommt mit vielen nützlichen Funktionen, Plugins und Themen. Um oh mein ZSH zu verwenden, müssen Sie es zuerst installieren. Dies beinhaltet in der Regel das Herunterladen des Installationsskripts und das Ausführen von in Ihrem Terminal. Nach der Installation von OH My ZSH können Sie Ihre Shell anpassen, indem Sie Ihre
Mit der Funktion function
zSH können Sie Befehle gruppieren und sie als einzelne Befehl ausführen. Sie können eine Funktion unter Verwendung des Schlüsselworts function hello { echo "Hello, world!"; }
, gefolgt vom Funktionsnamen und dem Befehlsblock, definieren. Um beispielsweise eine Funktion zu erstellen, die "Hallo, Welt!" Druckt, können Sie: hello
verwenden. Sie können diese Funktion aufrufen, indem Sie den Funktionsnamen eingeben:
set
zsh unterstützt indizierte Arrays und assoziative Arrays. Sie können den Befehl set -A colors red green blue
, gefolgt vom Array -Namen und Element, um ein Indexarray zu erstellen. Um beispielsweise ein Farbarray zu erstellen, können Sie: echo $colors[1]
verwenden. Sie können mit seinem Index auf Elemente eines Arrays zugreifen: typeset
. Um ein assoziatives Array zu erstellen, können Sie den Befehl typeset -A colors; colors[red]=#FF0000; colors[green]=#00FF00; colors[blue]=#0000FF;
verwenden:
zsh unterstützt verschiedene Arten von Schleifen, einschließlich für, während und bis zu Schleifen. Mit der für die Loop können Sie Befehlsblöcke für jedes Element in der Liste wiederholt ausführen. Zum Beispiel können Sie: for i in {1..5}; do echo $i; done
verwenden, um Nummern von 1 bis 5 zu drucken. Mit der while -Schleife können Sie den Befehlsblock wiederholen, wenn die Bedingung wahr ist. Zum Beispiel können Sie: i=1; while (( i < 6 )); do echo $i; i=$((i 1)); done
verwenden, um Nummern von 1 bis 5 zu drucken. Mit der bis zur Schleife können Sie den Befehlsblock wiederholen, wenn die Bedingung falsch ist. Zum Beispiel können Sie: i=1; until (( i > 5 )); do echo $i; i=$((i 1)); done
verwenden, um Nummern von 1 bis 5 zu drucken.
Das obige ist der detaillierte Inhalt von75 ZSH -Befehle, Plugins, Aliase und Werkzeuge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!