Das ultimative Linux-Befehlszeilenhandbuch - Vollständiges Bash-Tutorial

Willkommen zu unserer ultimativen Anleitung zur Linux-Befehlszeile. Dieses Tutorial zeigt Ihnen einige der wichtigsten Linux-Befehlszeilentechnologien und führt Sie in die Bash-Skriptsprache ein.

Was ist Bash?

Bash (kurz für Bourne Again SHell) ist eine Unix-Shell und ein Befehlsspracheninterpreter. Eine Shell ist einfach ein Makroprozessor, der Befehle ausführt. Es ist die am häufigsten verwendete Shell, die standardmäßig für die meisten Linux-Distributionen gepackt ist, und ein Nachfolger für die Korn-Shell (ksh) und die C-Shell (csh).

Viele Dinge, die unter Linux ausgeführt werden können, können über die Befehlszeile erledigt werden. Einige Beispiele sind…

  • Dateien bearbeiten
  • Anpassen der Lautstärke des Betriebssystems
  • Webseiten aus dem Internet abrufen
  • Automatisieren Sie Ihre tägliche Arbeit

Weitere Informationen zu Bash finden Sie hier, in der GNU-Dokumentation und im tldp-Handbuch.

Verwenden von Bash in der Befehlszeile (Linux, OS X)

Sie können bash auf den meisten Linux- und OS X-Betriebssystemen verwenden, indem Sie ein Terminal öffnen. Betrachten wir ein einfaches Hallo-Welt-Beispiel. Öffnen Sie Ihr Terminal und schreiben Sie die folgende Zeile (alles nach dem $ -Zeichen):

[email protected]:~$ echo "Hello world!" Hello world!

Wie Sie sehen können, haben wir den Befehl "Hallo Welt!" Mit dem Befehl "Echo" gedruckt. zum Terminal.

Ein Bash-Skript schreiben

Sie können auch alle Ihre Bash-Befehle in eine .sh-Datei einfügen und über die Befehlszeile ausführen. Angenommen, Sie hatten ein Bash-Skript mit folgendem Inhalt:

#!/bin/bash echo "Hello world!"

Es ist erwähnenswert, dass die erste Zeile des Skripts mit beginnt #!. Es ist eine spezielle Direktive, die Unix anders behandelt.

Warum haben wir am Anfang der Skriptdatei #! / Bin / bash verwendet?

Dies liegt daran, dass es eine Konvention ist, der interaktiven Shell mitzuteilen, welche Art von Interpreter für das folgende Programm ausgeführt werden soll. Die erste Zeile teilt Unix mit, dass die Datei von / bin / bash ausgeführt werden soll. Dies ist der Standardspeicherort der Bourne-Shell auf nahezu jedem Unix-System. Durch Hinzufügen von #! / Bin / bash als erste Zeile Ihres Skripts wird das Betriebssystem angewiesen, die angegebene Shell aufzurufen, um die im Skript folgenden Befehle auszuführen. #!wird oft als "Hash-Bang", "She-Bang" oder "Sha-Bang" bezeichnet. Es wird jedoch nur ausgeführt, wenn Sie Ihr Skript als ausführbare Datei ausführen. Wenn Sie beispielsweise eingeben ./scriptname.extension, wird in der obersten Zeile nach dem Interpreter gesucht, während beim Ausführen des Skripts als bash scriptname.sherste Zeile ignoriert wird.

Dann könnten Sie das Skript folgendermaßen ausführen: Um die Datei ausführbar zu machen, sollten Sie diesen Befehl unter sudo chmod + x "Dateiname" aufrufen.

[email protected]:~$ ./myBashScript.sh Hello world!

Das Skript hat nur zwei Zeilen. Der erste gibt an, welcher Interpreter zum Ausführen der Datei verwendet werden soll (in diesem Fall bash). Die zweite Zeile ist der Befehl, den wir verwenden möchten, echo, gefolgt von dem, was wir drucken möchten, nämlich "Hello World".

Manchmal wird das Skript nicht ausgeführt und der obige Befehl gibt einen Fehler zurück. Dies liegt an den für die Datei festgelegten Berechtigungen. Um dies zu vermeiden, verwenden Sie:

[email protected]:~$ chmod u+x myBashScript.sh

Und dann das Skript ausführen.

Linux-Befehlszeile: Bash Cat

Cat ist einer der am häufigsten verwendeten Befehle in Unix-Betriebssystemen.

Mit Cat wird eine Datei nacheinander gelesen und in der Standardausgabe gedruckt. Der Name ist von seiner Funktion zu con abgeleiteter Katze enate Dateien.

Verwendung

cat [options] [file_names]

Am häufigsten verwendete Optionen:

  • -b, Anzahl nicht leerer Ausgabezeilen
  • -n, nummerieren Sie alle Ausgangsleitungen
  • -sDrücken Sie mehrere benachbarte Leerzeilen zusammen
  • -v, zeigen nicht druckbare Zeichen an, mit Ausnahme der Registerkarten und des Zeilenendezeichens

Beispiel

Drucken Sie den Inhalt der Datei file.txt im Terminal aus:

cat file.txt

Verketten Sie den Inhalt der beiden Dateien und zeigen Sie das Ergebnis im Terminal an:

cat file1.txt file2.txt

Linux-Befehlszeile: Bash-CD

Ändern Sie beispielsweise das Verzeichnis in den angegebenen Pfadcd projects.

Es gibt einige wirklich hilfreiche Argumente, um dies zu unterstützen:

  • . verweist auf das aktuelle Verzeichnis, z ./projects
  • ..kann verwendet werden, um einen Ordner nach oben zu verschieben, zu verwenden cd .., und kann kombiniert werden, um mehrere Ebenen nach oben zu verschieben../../my_folder
  • /die Wurzel Ihres Systems Kern Ordner, wie zu erreichen system, usersusw.
  • ~ is the home directory, usually the path /users/username. Move back to folders referenced relative to this path by including it at the start of your path, for example ~/projects.

Linux Command Line: Bash head

Head is used to print the first ten lines (by default) or any other amount specified of a file or files. Cat is used to read a file sequentially and print it to the standard output.

ie prints out the entire contents of the entire file. - that is not always necessary, perhaps you just want to check the contents of a file to see if it is the correct one, or check that it is indeed not empty. The head command allows you to view the first N lines of a file.

if more than on file is called then the first ten lines of each file is displayed, unless specific number of lines are specified. Choosing to display the file header is optional using the option below

Usage

head [options] [file_name(s)]

Most used options:

  • -n N, prints out the first N lines of the file(s)
  • -q, doesn’t print out the file headers
  • -v, always prints out the file headers

Example

head file.txt

Prints in terminal the first ten lines of file.txt (default)

head -n 7 file.txt

Prints in terminal the first seven lines of file.txt

head -q -n 5 file1.txt file2.txt

Print in terminal the first 5 lines of file1.txt, followed by the first 5 lines of file2.txt

Linux Command Line: Bash ls

ls is a command on Unix-like operating systems to list contents of a directory, for example folder and file names.

Usage

cat [options] [file_names]

Most used options:

  • -a, all files and folders, including ones that are hidden and start with a .
  • -l, List in long format
  • -G, enable colorized output.

Example:

List files in freeCodeCamp/guide/

ls ⚬ master CODE_OF_CONDUCT.md bin package.json utils CONTRIBUTING.md gatsby-browser.js plugins yarn.lock LICENSE.md gatsby-config.js src README.md gatsby-node.js static assets gatsby-ssr.js translations

Linux Command Line: Bash man

Man, the abbreviation of manual, is a bash command used to display on-line reference manuals of the given command.

Man displays the reletive man page (short for manual page) of the given command.

Usage

man [options] [command]

Most used options:

  • -f, print a short description of the given command
  • -a, display, in succession, all of the available intro manual pages contained within the manual

Example

Display the man page of ls:

man ls

Linux Command Line: Bash mv

Moves files and folders.

mv source target mv source ... directory

The first argument is the file you want to move, and the second is the location to move it to.

Commonly used options:

  • -f to force move them and overwrite files without checking with the user.
  • -i to prompt confirmation before overwriting files.

That's all. Go forth and use Linux.