LPIC-1: 103.1 Auf der Befehlszeile arbeiten

Inhaltsverzeichnis

pwd – den Namen des aktuellen Arbeitsverzeichnisses ausgeben

Mit pwd ist es möglich sich auf der Kommandozeile im Linuxdateisystem zu finden. Der Befehl gibt das aktuelle Verzeichnis aus in dem man sich befindet

$ pwd

/home/andy

touch – leere Dateien erstellen

Wenn man eine leere Datei erstellen will ist es mit dem Befehl touch möglich. Touch kann außerdem auch den Zeitstempel der bei der Erstellung gesetzt wurde ändern.

$ touch datei.txt

ls – Verzeichnisinhalte auflisten

Um die Inhalte von Verzeichnissen einzusehen nutz man ls.

$ ls

datei.txt

uname – Ausgabe der Systeminformationen

Um mehr über das eigene Linuxsystem zu erfahren nutzt man unter anderem uname. Die Option -a zeigt alle von uname auszugebenden Infos. Wichtige Uptionen sind z.B, die CPU-Architektur x86_64 oder der Linux-Kernel 6.17.10-300.fc43.x86_64.

$ uname -a

Linux lb 6.17.10-300.fc43.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Dec  1 14:59:36 UTC 2025 x86_64 GNU/

man – eine Oberfläche für die System-Referenzhandbücher

Mit dem Befehl man kann man die mit dem Programmen mitgelieferten Handbuchseite einsehen. Die Ausgabe eines Handbuchs sind strukturiert und enthalten unter anderem eine Bezeichnung mit Kurzbeschreibung als Titel, die Synopsis (wie die Befehle Strukturiert sind), ein ausführlichere Beschreibung und Optionen.

$ man uname

apropos – Suche in Handbuchseiten und deren Kurzbeschreibungen

Der Befehl man benötigt einen genauen Namen des jeweiligen Programms. Wenn man jedoch nicht weiß, wie ein Programm genau heißt, besteht die Option mit apropos nach Begriffen zu suchen. Die Ausgabe enthält potenzielle Handbücher.

$ apropos kernel

proc_sys_kernel (5) 
adjtimex (2)
getkeycodes (8)

type – Type des Befehls einsehen

Es gibt verschiedene Befehle, die man in Linux nutzt. Einige Befehle sind sogenannte shell builtins, sie sind also ein Teil der Bash-Shell. Mit dem Befehlt type kann man sehen ob eine Befehl zu dieser Kategorie gehört, alternativ liefert die Ausgabe den Pfad zu der Binary-File oder ob eine Befehl zum Beispiel ein Alias ist. Befehle die bereits genutzt wurden werden als gehasht gekennzeichnet. Dies bedeutet, dass der Pfad in einer Hashtabelle hinzugefügt wurde um schneller abgerufen zu werden

$ type wc cd ls uname

wc ist /usr/bin/wc
cd ist eine von der Shell mitgelieferte Funktion.
ls ist ein Alias von »ls --color=auto«
uname ist gehasht (/usr/bin/uname)

which – zeigt den vollständigen Pfad von (Shell-)Befehle

Wenn man einfach nur den vollständigen Pfad eines Befehls benötigt kann man which nutzen.

$ which uname

/usr/bin/uname

history – anzeigen von in der Vergangenheit eingegebenen Befhelen

Wenn man lange Befehle mit verschiedenen Optionen eingegeben hat uns sich an die spezifische Eingabe nicht mehr erinnern kann, besteht die Möglichkeit mit history die Befehls-Historie einzusehen. Die letzten Befehle werden zuletzt angezeigt.

Mit wenn man nur eine bestimmte Anzahl von Befehlen von History anzeigen lassen will kann man z.B. history 5 nutzen. In diesem Fall steht die 5 für die letzten 5 Befehle aus der History.

$ history
...
 1034  history
 1035  man history
 1036  history

$ history 5
 1041  cat .bash_history
 1042  man apropos
 1043  man grep
 1044  history 20
 1045  history 5

Mit dem Befehl grep kann man die Ausgabe von history mit einer Pipe und einem Begriff filtern.

$ history | grep which

  183  which vim
  225  man which
  278  which ripgrep
  285  which ls

Die Inhalte von history werden in der /home/andy/.bash_history gespeichert. Diese kann mit ls -a eingesehen werden. Die Option -a ermöglichte es Dateien und Verzeichnisse zu listen, die mit einem Punkt markiert sind und deswegen versteckt gelten.

$ ls -a /home/andy
..
.bash_aliases
.bash_history
..

env – Anzeigen von Umgebungsvariablen

Sowohl in der GUI- und Shell-Umgemung wird mit Variablen gearbeitet. Um diese anzeigen zu lassen kann man env nutzen. Die Ausgabe liefert eine Liste von Variablen mit dem Aufbau:

VARIABLENNAME=InhalteDerVariable

Eine der wichtigsten Variablen ist PATH. Sie enthält Pfade zu ausführbaren Programme. Es besteht die Möglichkeit einen weiteren Pfad anzuhängen um z.B. eigene Bash-Skripte in die Shell einzubinden.

$ env

SHELL=/bin/bash
PATH=/home/andy/.local/bin:/home/andy/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin
...

# Pfad anhängen
PATH="/home/andy/Skripte:$PATH"

echo – Eine Zeile Text anzeigen

Wenn man Variablen ausgeben will kann man dies mit den Befehl echo tun. Will man die PATH-Variable ausgeben, hängt man ein $ vor den Variablen an und erhält die Inhalte der Variable.

$ echo $PATH

/home/andy/.local/bin:/home/andy/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin

Variablen erstellen

Wenn man eigene Variablen erstellen will, steht der Variablenname links von dem Gleichheitszeichen und die Inhalte der Variable rechts davon. Es dürfen keine Leerzeichen links und rechts vom Gleichheitszeichen vorhanden sein.

$ varName=hello
$ echo $varName

hello

Die Variable ist nur in der jeweiligen Shell in der sie erzeugt wurde gültig. Öffnet man mit bash ein Subshell so ist die Variable nicht vorhanden.

export – Variable in Subshells exportieren

Wenn man Variablen in Subshells exportieren will, nutzt man dafür den Befehl export. Mit export wird die Variable über env sichtbar.

$ export varName

unset – Variablen löschen

Wenn die Variable nicht mehr benötigt wird entfernt man sie mit unset.

$ unset varName

set – Ausgabe aller Variablen und Funktionen

set gibt alle Variablen und Funktionen der aktuellen Shell aus. Im Gegensatz zu env werden auch Variablen, die nur Gültigkeit für die aktuelle Shell haben auch ausgegeben.

Soderzeichen entkommen

Es gibt einige Sonderzeichen (& ; | * ? " ' [ ] ( ) $ < > { } # / \ ! ~), welche besondere Bedeutungen in Bash haben. Wenn diese im Kontext von Namen oder Zeichenketten genutzt werden sollen müssen wie folgt behandelt werden:

# Alle Zeichen werden als als buchstäblich interpretiert

$ touch 'das ist ein langer name'

# "$", "`", "\" und in bestimmtem Fällen "!" werden erhalten

$ touch "das ist ein langer $varName"

# Ein vor dem Sonerzeichen stehender Slash macht es möglich, dass das Sonderzeichen seiner in Bash zugeordneten Funktion entkommen kann

$ touch das\ ist\ ein\ langer\ name

Schreibe einen Kommentar

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

Andreas Moor
Andreas Moor
@blog@andreas-moor.de

Hallo Fediverse, ich bin Andy!

Hier und auf meiner Website findest du mein akkumuliertes Linux-Sysadmin-Wissen, meine kleinen und größeren Projekte und die Tools, die ich nutze.

Viel Spaß beim stöbern, lesen und lernen! 🧑‍💻

239 Beiträge
16 Folgende