Eine Sache, die unter Linux immer wieder diskutiert wird, ist die Notwendigkeit der Befehlszeile. Viele sagen, dass Sie niemals auf eine Eingabeaufforderung zugreifen sollten, um Dinge zu erledigen, andere sind der Meinung, dass die Macht der Linux-Shell eines der Dinge ist, die Linux so großartig machen. Während ich in die letztere Kategorie fallen würde, kann ich sicherlich verstehen, warum Menschen frustriert davon sein können, komplexe und scheinbar obskure Befehle zu lernen, damit ihr Computer richtig funktioniert. Selbst wenn Sie die Befehlszeile hassen, haben Sie oft keine andere Wahl, als sie von Zeit zu Zeit zu öffnen, um die Aufgabe zu erledigen. Heute werden wir verschiedene Wege behandeln, um die Navigation ein wenig einfacher zu machen.

Für diejenigen, die gerade mit Linux oder der Befehlszeile beginnen, heißt das Programm, das die Eingabeaufforderung anzeigt und Ihre Befehle verarbeitet, bash oder die Bourne Again Shell. In diesem Artikel verwenden wir die Wörter Kommandozeile und Shell synonym für die Interaktion mit Linux über bash.

Heute werden wir abdecken:

  • Ändern der Shell-Startroutine
  • Eine nützlichere Eingabeaufforderung machen
  • Erstellen von Aliasen für lange oder komplexe Befehle

.bashrc und .bash_profile

Diese beiden Dateien sind oft die Ursache einiger Verwirrung. Auf den ersten Blick scheinen sie genau das gleiche zu tun - jedes Mal, wenn Sie eine Eingabeaufforderung öffnen, werden Startup-Anweisungen ausgeführt. Kurz gesagt, .bash_profile wird ausgeführt, wenn Sie eine Shell von einem Anmeldebildschirm starten (z. B. eine Anmeldung am Konsolensystem) und .bashrc für nicht angemeldete Shells ausgeführt wird (z. B. Ausführen von Terminal über das Systemmenü). Die ".bashrc" -Datei ist diejenige, die Sie die meiste Zeit verwenden werden, also ist das die, die wir heute in unseren Beispielen verwenden werden.

Wie gesagt, .bashrc wird von bash geladen, wenn Sie eine neue Shell öffnen. Wahrscheinlich haben Sie bereits eine .bashrc-Datei, die bei der ersten Installation Ihres Linux-Systems für Sie erstellt wurde. Um zu sehen, was bereits drin ist, laden Sie Ihren bevorzugten Texteditor und öffnen Sie ihn

 /home/YourUserName/.bashrc 

(Standardmäßig ist die Datei vor der öffentlichen Ansicht verborgen. Sie müssen mit der rechten Maustaste klicken und Versteckte Dateien anzeigen auswählen, bevor sie sich selbst anzeigen kann.)

Sie werden wahrscheinlich mehrere Codezeilen sehen, nämlich das Bash-Shell-Scripting, um genau zu sein, schon da drin. Die Standardeinstellung .bashrc in den meisten Distributionen enthält Code, um Dinge wie Farbaufforderungen (auf die wir ein wenig eingehen) und einige nützliche Aliase (in die wir viel hineinbekommen) zu erledigen.

Fühlen Sie sich frei, durch den aktuellen Inhalt der Datei zu blättern, damit Sie eine Vorstellung davon haben, was bereits bei jeder neuen Shell-Sitzung passiert, aber um dieses Artikels willen können wir die aktuellen Einstellungen ignorieren und einfach das hinzufügen, was wir wollen.

Anstatt unsere neuen Artikel direkt in die .bashrc-Datei zu stellen, gehen wir etwas anders vor. Jeder Benutzer auf dem System hat eine eigene .bashrc-Datei in seinem Home-Verzeichnis. Wenn wir Änderungen an der Art vornehmen wollten, wie Bash läuft, müssten wir unsere Änderungen in jede dieser Dateien schreiben. Wenn Sie später entscheiden, dass das, was Sie getan haben, nicht ganz das ist, was Sie wollten, müssten Sie alle diese Dateien erneut durchsuchen und Ihre Aktualisierungen vornehmen. Statt all dieser Probleme erstellen wir eine einzige Datei mit all unseren benutzerdefinierten Einstellungen und teilen einfach .bashrc mit, dass sie von dieser Datei geladen werden soll. Das folgende Diagramm zeigt:

Wenn Sie den Befehl source am Ende der .bashrc-Datei platzieren, werden die Befehle aus der Datei custom-shell.sh abgerufen und die Standardeingabeaufforderung und die Standardaliasnamen mit den von uns angegebenen überschrieben. Auf diese Weise können wir eine einzige Datei erstellen (/etc/custom-shell.sh oder was immer Sie sonst noch nennen möchten) und einfach die .bashrc-Datei jedes Benutzers angeben, um sie zu laden. Wenn Sie also Ihre .bashrc-Datei noch in Ihrem Texteditor geladen haben, gehen Sie ganz nach unten und fügen Sie sie hinzu

 Quelle /etc/custom-shell.sh 

Hinweis : Sie können dies noch einen Schritt weiterführen und die Quellzeile der Datei .bashrc in "/ etc / skel" hinzufügen. Auf diese Weise haben alle neuen Benutzer, die auf dem System erstellt wurden, bereits unsere source enthalten!

Speichern Sie die .bashrc-Datei und erstellen Sie eine neue, leere Textdatei mit dem Namen "custom-shell.sh". In den folgenden Abschnitten werden wir alle neuen Einstellungen vornehmen.

Die Eingabeaufforderung

Jedes System hat eine Standard-Eingabeaufforderung. Normalerweise ist es eine milde Standardaufforderung mit nur ein paar nützlichen Informationen. Es sieht wahrscheinlich ungefähr so ​​aus:

 josh @ roberts: ~ $ 

Um herauszufinden, wie schnell die Anpassung vorgenommen wird, geben Sie Folgendes in die Shell ein:

 Export PS1 = "Benutzerdefiniert>" 

Dadurch wird Ihre Eingabeaufforderung zu einem einfachen Pfeil. Keine nützlichen Informationen, aber es zeigt die Grundidee, wie Sie den Inhalt Ihrer Eingabe ändern.

Im Laufe der Jahre haben sich die Leute schnell an das Extrem angepasst und alle Arten von Informationen hineingesteckt. Ich werde nicht auf Details eingehen, wie man mit Farben und mehrzeiligen Aufforderungen umgehen und Live-Informationen hinzufügen kann, aber ich werde eine gut aussehende, nützliche Aufforderung geben, die Sie als Basis für Ihre eigenen verwenden können. Fügen Sie in der zuvor erstellten Datei custom-shell.sh Folgendes ein:

 Export PS1 = "\ n \ [\ 033 [1; 36m \] \ u \ [\ 033 [1; 37m \] \ [\ 033 [0; 36m \]` Datum` \ n \ [\ 033 [0m \ ] [\ [\ 033 [1; 33m \] \ w \ [\ 033 [0m \]] 

Das meiste von dem, was Sie dort sehen, sind Farbcodes, die Bash dazu bringen, zwischen verschiedenen Farben für den Text in der Eingabeaufforderung hin und her zu wechseln. Das Endergebnis all dieses Kauderwelschs ist eine ziemlich gut aussehende und leicht verständliche Aufforderung.

Speichern Sie die Datei "custom-shell.sh" nach dem Einfügen in den obigen Code. Wenn Sie es unter "/ etc" speichern, benötigen Sie wahrscheinlich root-Rechte. Sie können es überall speichern, aber stellen Sie sicher, dass Sie Ihre .bashrc an die richtige Stelle zeigen. Um Ihre neue Eingabeaufforderung auszuprobieren, können Sie Ihre Shell entweder schließen und erneut öffnen oder einfach eingeben

 Quelle .bashrc 

in deine aktuelle Shell.

Ihre .bashrc-Datei sollte unsere neue Eingabeaufforderungsinformation aus der Datei custom-shell.sh lesen und Ihre Eingabeaufforderung mit den Farben und allem schön gestalten.

Eine EXTREM detaillierte Anleitung zu sofortiger Magie finden Sie im Offiziellen Linux Prompt HOWTO.

Aliase

Ich könnte es dir genauso gut sagen - ich liebe Aliase. Das erste, was ich mache, wenn ich ein neues System installiere, sind meine bevorzugten Aliase. Wie der Name schon sagt, ist ein Alias ​​nur ein anderer Name für einen Befehl. Zum Beispiel ist mein am häufigsten verwendeter Alias ​​ein, den ich gimme nenne, was bash in sudo apt-get install . Sie können Aliase aus verschiedenen Gründen verwenden, z. B. um einen langen Befehl zu verkürzen oder die Linux-Shell eher wie eine Windows / Mac / Solaris / BSD / Whatever-Shell zu gestalten. Ich schlage vor, die folgenden Aliase in Ihre Datei "custom-shell.sh" einzufügen. Diejenigen, die andere Distributionen als den Debian / Ubuntu-Stil verwenden, können die apt-get-Aliase in den entsprechenden yum Befehl oder das von Ihnen bevorzugte Paketdienstprogramm übersetzen, und das gilt natürlich auch für aptitude- und portage-Benutzer.

 # # Apt-bezogene Aliase # alias gimme = "sudo apt-get install" #Installieren Sie den neuen Software-Alias ​​acs = "apt-cache search" #Suche verfügbare Pakete alias purge = "apt-get --purge remove" #Removes package und seine Config-Dateien alias update = "sudo apt-get update" alias debclean = "sudo apt-get sauber && sudo apt-get autoremove" # Entfernt einige nicht benötigte Dateien # #Meine nützlichen Aliase # alias ls = "ls --color = auto "#Plain ls mit Farbalias ll =" ls -l --color = auto "#Detaillierte Liste mit Farbalias config =" dpkg-reconfigure "# Führen Sie den Konfigurationsschritt für einen Paketalias erneut aus cmi =" ./ configurate && make && sudo make install "#Common Schritte zum Installieren des Pakets aus dem Quellalias numfiles =" echo $ (ls-1 | wc -l) "#Zählen Sie die Anzahl der Dateien im aktuellen Verzeichnis-Alias ​​dfree =" df -h "#Siehe wie viel Platz auf der Festplatte ist im leicht lesbaren Format frei alias favdir = "cd / directory / du / use / a / lot" #Schnell auf ein Verzeichnis wechseln, das du oft brauchst (Musik, Dokumente, etc.) 

Fügen Sie alles hinzu, was Sie für nützlich halten, oder ändern Sie die Vorschläge, die Sie für Ihre Bedürfnisse benötigen. Anstelle von gimme und acs könnten Sie get und get . Einige Leute, die von Windows move, machen Aliase, um Windows-Befehle nachzuahmen: copy, um cp zu ersetzen, move, um mv zu ersetzen, ipconfig, um ifconfig zu ersetzen, usw.

Ihre "custom-shell.sh" sollte jetzt etwa so aussehen:

Sobald die Datei custom-shell.sh gespeichert ist und .bashrc darauf zeigt, dass sie darauf verweist, öffnen Sie die Eingabeaufforderung erneut und Sie sollten eine gut aussehende, nützliche Eingabeaufforderung mit einigen nützlichen Aliasen haben, um die Dinge etwas einfacher zu machen.

Ich würde gerne von deinen Lieblings-Aliasen hören! Hinterlassen Sie einen Kommentar und teilen Sie einige nützliche Tastenkombinationen, die Sie gefunden haben, oder vielleicht eine nette Eingabeaufforderung. Die Befehlszeile kann ein sehr mächtiges Werkzeug sein, und ich würde gerne wissen, wie Sie es gefunden haben, um es noch besser zu machen.