Linux Tab-Vervollständigung ist sogar besser, als Sie denken

Die Tab-Vervollständigung in Linux-Shells wie bash und zsh optimiert die Eingabe von Befehlen und Dateinamen, spart Zeit und minimiert Fehler durch automatische Vervollständigung.

Zusammenfassung

  • Die Tab-Vervollständigung spart Zeit und verhindert Fehler, indem sie Befehle und Dateinamen automatisch vervollständigt.
  • Linux-Shells wie bash und zsh bieten leistungsstarke Funktionen zur Tab-Vervollständigung, die Unterbefehle und Optionen berücksichtigen.
  • Der git-Befehl zeigt das volle Potenzial der Tab-Vervollständigung mit kontextspezifischen Vervollständigungen.

Linux ist voller Abkürzungen, man muss nur wissen, was sie sind oder wo man danach suchen kann. Die Tab-Vervollständigung ist eine dieser Funktionen, die in ihrer einfachsten Form großartig ist, aber verborgene Stärken hat, die dir vielleicht nicht bewusst sind.

Was ist tab-vervollständigung?

Die Tab-Vervollständigung ist eine fantastische kleine Funktion, die Komfort bietet, Zeit spart und sogar Fehler verhindern kann. Es ist eine der ältesten Formen der automatischen Vervollständigung in der Computertechnik: Drücke Tab auf einer Eingabeaufforderung und du wirst einen Befehl oder Dateinamen vervollständigt sehen (wenn unmissverständlich) oder eine Reihe möglicher Optionen (wenn mehrdeutig).

Hier sind einige Beispiele, wie die Tab-Vervollständigung funktioniert.

Die Tab-Vervollständigung ist eine Funktion deiner Shell, und dieser Artikel konzentriert sich auf zwei der am häufigsten verwendeten: bash und zsh. Die Vervollständigung ist hochgradig konfigurierbar, und die Funktionen variieren zwischen den Systemen.

Tippe die ersten Buchstaben eines Befehls (versuche apr oder mkd), und drücke dann Tab. Wenn deine Shell nur einen einzigen Befehl findet, der mit diesen Buchstaben beginnt, vervollständigt sie ihn, indem sie die verbleibenden Buchstaben ausgibt. Jetzt kannst du Enter drücken, um den Befehl auszuführen, oder weiter tippen, um weitere Argumente anzugeben.

Andere Artikel, die Sie interessieren könnten

Wenn dein ursprünglicher Text mit mehr als einem Befehl übereinstimmt, werden ihre Namen auf dem Bildschirm angezeigt. Hier ist ein Beispiel, das den Text rm gefolgt von Tab zeigt:

Du kannst weiter tippen und Tab drücken, um die Liste zu verfeinern, bis sie eindeutig ist oder du deinen vollständigen Befehl eingegeben hast.

Die Tab-Vervollständigung funktioniert auch für Dateinamen, die du als Argumente angibst. Zum Beispiel kannst du ls /u gefolgt von Tab eingeben, und deine Shell sollte es zu ls /usr/ vervollständigen. Das macht es viel schneller, längere Pfade einzugeben, und es ist auch weit weniger fehleranfällig.

Dieses Niveau der Tab-Vervollständigung allein wird dein Linux-Erlebnis transformieren. Als ich zum ersten Mal von der Tab-Vervollständigung erfuhr, fühlte es sich wie Magie an, und ich glaube nicht, dass ich heute ohne diese Funktion leben könnte. Aber, wie ich kürzlich entdeckte, bietet die Tab-Vervollständigung so viel mehr als nur Befehls- und Dateinamen-Vervollständigung.

Tab-vervollständigung ist so viel mehr

Probiere zunächst die Tab-Vervollständigung mit einem Befehl wie cd in einem Verzeichnis, das sowohl Dateien als auch Ordner enthält. Du solltest bemerken, dass cd {verzeichnis-name}, dann Tab, den Verzeichnisnamen automatisch vervollständigt, aber cd {datei-name}, dann Tab, nicht. Die Shell erkennt, dass das Argument von cd ein Pfad zu einem Verzeichnis und nicht zu einer Datei sein sollte, daher vervollständigt sie das erstere, nicht das letztere.

Deine Shell sollte einen abschließenden Schrägstrich nach dem Vervollständigen eines Verzeichnisses anzeigen, auch wenn du nur den Namen des Verzeichnisses angeben musst. Dies ermöglicht dir eine schnelle Tab-Vervollständigung eines gesamten Pfades, ohne anhalten und jedes / zwischen den Verzeichnisnamen eingeben zu müssen.

Indem sie alle Übereinstimmungen zeigt, wenn es mehr als eine gibt, kann deine Shell dir helfen, das, was du zu tippen versuchst, einzugrenzen. Manche Shells gehen jedoch noch weiter. Zum Beispiel zeigt meine Shell in zsh unter macOS, wenn ich ls Do gefolgt von Tab eingebe, zwei Übereinstimmungen: Documents und Downloads:

Wenn ich nun erneut Tab drücke, vervollständigt sie zu ls Documents/, und das weitere Drücken von Tab wechselt zwischen ls Documents/ und ls Downloads/. Beachte, dass dies nur geschieht, wenn es Mehrdeutigkeit gibt. Wenn du ls Documents/ eingibst und dann Tab drückst, wird die automatische Vervollständigung alle Dateien im Ordner Documents anzeigen, anstatt zum Ordner Downloads zu wechseln.

Füge bind TAB:menu-complete zu deiner ~/.bashrc oder TAB:menu-complete zu deiner ~/.inputrc hinzu, wenn du dieses Verhalten möchtest.

Um eine Vervollständigung zu akzeptieren, während du durch die Optionen wechselst, aber die Tab-Vervollständigung fortzusetzen — z.B. für einen langen Pfad — kannst du / am Ende des Verzeichnisses, das du auswählen möchtest, drücken.

Die Tab-Vervollständigung kann auch Optionen verarbeiten, die von dem Befehl unterstützt werden, den du eingegeben hast. Zum Beispiel versuche mkdir - gefolgt von einem Tab einzugeben. Wieder hängen die Ergebnisse von deiner Umgebung ab, aber so oder so solltest du in der Lage sein, eine Liste von Optionen zu sehen, die mkdir unterstützt:

Unter macOS zeigt meine Shell einbuchstabige Optionen für mkdir, wie.

-m und -p. Neben jeder Option wird ein Nutzungstext angezeigt, der erklärt, was die Option bewirkt. In Ubuntu zeigt meine Shell lange Optionen. Sie druckt zwar keine Nutzungsinformationen aus, aber lange Optionen sind ohnehin selbsterklärend.

Der git-befehl bringt die vervollständigung auf die nächste stufe

Die automatische Vervollständigung von Optionen war für mich eine echte Augenöffnung. Ich war so daran gewöhnt, man oder die --help-Option zu verwenden, um die Befehlsnutzung anzuzeigen, dass ich keine Ahnung hatte, dass meine Shell viel Arbeit für mich erledigen kann. Aber es war der git-Befehl, der mir die wahre Macht der automatischen Vervollständigung zeigte und meine Arbeitsweise seitdem verändert hat.

Das git-Programm ist unglaublich selbstbewusst, sodass seine Auto-Vervollständigung effektiv eine alternative Schnittstelle bereitstellt. Sie können beginnen, indem Sie alle Subbefehle von git erkunden, indem Sie git eingeben und dann die Tabulatortaste drücken:

Die git-Auto-Vervollständigung zeigt ihre volle Leistung, wenn Sie in einem git-Repository arbeiten. Nehmen wir an, Sie haben eine Änderung an einer einzigen lokalen Datei vorgenommen, wie einer README.md:

Geben Sie jetzt git add ein, gefolgt von einem Tab, und Ihre Shell sollte das in git add README.md umwandeln. Das git-Programm hat erkannt, dass dem Subbefehl add eine Liste von Dateinamen folgen kann, um sie dem aktuellen Commit hinzuzufügen. Es ist sich bewusst, dass es nur sinnvoll ist, Dateien hinzuzufügen, die tatsächlich verändert wurden, sodass es den vollständigen Namen der einzigen Datei, die hinzugefügt werden muss, automatisch vervollständigen kann.

Ebenso wird, nachdem Sie eine Datei hinzugefügt haben, git commit gefolgt von Tab den Namen der Datei sowie andere Dateien anzeigen, die Sie sofort commiten können, einschließlich Dateien, die Sie noch nicht hinzugefügt haben:

Diese Vervollständigung berücksichtigt sogar Argumente. Zum Beispiel, nachdem Sie eine Datei zum Index hinzugefügt haben, können Sie sie mit git restore --staged wieder entfernen, wie git status erklärt. An diesem Punkt wird git restore --staged, gefolgt von einem Tab, nur README.md anzeigen, die einzige Datei, die gestaged ist:

Die Tab-Vervollständigung ist so nützlich, dass Sie feststellen werden, dass Sie sie ständig verwenden, sobald Sie sie entdeckt haben. Aber es lohnt sich immer, neugierig zu sein: Drücken Sie an verschiedenen Punkten in Ihrer Befehlssequenz weiterhin die Tabulatortaste, und Sie werden lernen, wie leistungsstark diese Funktion sein kann.

Bist du neugierig auf weitere Artikel wie Linux Tab-Vervollständigung ist sogar besser, als Sie denken? Entdecke spannende Inhalte in der Kategorie Linux.

Indeks
  1. Zusammenfassung
  • Was ist tab-vervollständigung?
  • Tab-vervollständigung ist so viel mehr
  • Der git-befehl bringt die vervollständigung auf die nächste stufe
  • Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    Go up