-
pwd
Beschreibung: Der Befehl pwd
zeigt den vollständigen Pfad des aktuellen Verzeichnisses an, in dem du dich befindest. Dies ist nützlich, um deinen genauen Standort im Dateisystem zu überprüfen.
Beispiel: pwd
Ausgabe: /home/user/projekt
Dies zeigt, dass du dich im Verzeichnis /home/user/projekt
befindest.
-
ls
Beschreibung: Der Befehl
ls
listet alle Dateien und Verzeichnisse im aktuellen Verzeichnis auf, inklusive versteckter Dateien.
Beispiel 1: Einfaches Listing
ls
Ausgabe: datei1.txt datei2.txt ordner1
Beispiel 2: Detailliertes Listing mit versteckten Dateien
ls -la
Ausgabe:
drwxr-xr-x 2 user user 4096 Jan 15 12:00 .
drwxr-xr-x 3 user user 4096 Jan 14 10:45 ..
-rw-r--r-- 1 user user 13 Jan 15 11:59 .hidden
-rw-r--r-- 1 user user 128 Jan 15 11:59 datei1.txt
-
tree
Beschreibung: Der Befehl
tree
zeigt die Verzeichnisstruktur als Baum an. Dies ist nützlich, um eine Übersicht über die Hierarchie der Dateien und Ordner zu erhalten.
Beispiel:
tree
Ausgabe:
.
├── ordner1
│ └── datei2.txt
└── datei1.txt
-
cd
Beschreibung: Mit cd
kannst du in ein anderes Verzeichnis wechseln. Du kannst entweder einen relativen oder absoluten Pfad angeben.
Beispiel 1: Wechsel zu einem relativen Verzeichnis
cd ordner1
Beispiel 2: Wechsel zu einem absoluten Pfad
cd /home/user/dokumente
-
cd ..
Beschreibung: cd ..
bringt dich in das übergeordnete Verzeichnis.
Beispiel:
cd ..
Wenn du dich in /home/user/dokumente
befindest, bringt dich dieser Befehl zurück nach /home/user
.
-
mkdir
Beschreibung: mkdir
erstellt ein neues Verzeichnis im aktuellen Pfad.
Beispiel:
mkdir neuerOrdner
-
rmdir
Beschreibung: rmdir
löscht ein leeres Verzeichnis. Beachte, dass das Verzeichnis leer sein muss, um gelöscht werden zu können.
Beispiel:
rmdir alterOrdner
-
mv
Beschreibung: Mit mv
kannst du Dateien oder Verzeichnisse verschieben oder umbenennen.
Beispiel: Datei umbenennen
mv datei.txt neuerName.txt
Beispiel 2: Verzeichnis verschieben
mv ordner1 /home/user/neuerPfad/
-
cp
Beschreibung: Mit cp
kannst du Dateien oder Verzeichnisse kopieren. Mit der Option -r
kopierst du rekursiv, also auch alle Unterverzeichnisse.
Beispiel 1: Datei kopieren
cp datei.txt kopie.txt
Beispiel 2: Verzeichnis rekursiv kopieren
cp -r ordner1 /home/user/backup/
-
rm
Beschreibung: rm
löscht Dateien. Mit der Option -r
kannst du auch Verzeichnisse und deren Inhalt rekursiv löschen.
Beispiel 1: Datei löschen
rm datei.txt
Beispiel 2: Verzeichnis rekursiv löschen
rm -r ordner1/
-
vim
Beschreibung: vim
öffnet den Texteditor Vim im Terminal, der besonders in der Programmierung weit verbreitet ist.
Beispiel:
vim datei.txt
-
echo
Beschreibung: echo
gibt eine Nachricht oder den Inhalt einer Variablen auf der Konsole aus.
Beispiel:
echo "Hallo Welt"
-
>
Beschreibung: Leitet die Ausgabe eines Befehls in eine Datei um, überschreibt dabei bestehende Inhalte.
Beispiel:
echo "Text" > datei.txt
-
>>
Beschreibung: Leitet die Ausgabe eines Befehls in eine Datei um, hängt den Text am Ende der Datei an.
Beispiel:
echo "Neuer Text" >> datei.txt
-
cat
Beschreibung: Der Befehl cat
zeigt den Inhalt einer Datei an oder kombiniert mehrere Dateien.
Beispiel:
cat datei.txt
-
man
Beschreibung: man
öffnet die Manpage (Handbuchseite) eines Befehls und zeigt detaillierte Informationen zu dessen Nutzung an.
Beispiel:
man ls
-
find
Beschreibung: Der Befehl find
sucht rekursiv im angegebenen Verzeichnis nach Dateien oder Ordnern, die bestimmten Kriterien entsprechen. Mit -name datei.txt
wird beispielsweise nach einer Datei namens datei.txt
gesucht.
Optionen:
-typ f: Beschränkt die Suche auf Dateien.
-typ d: Beschränkt die Suche auf Verzeichnisse.
depth: Durchsucht Verzeichnisse zuerst (tiefer zuerst) und dann die obersten Ordner.
mtime: Findet Dateien basierend auf dem letzten Änderungszeitpunkt, z. B. -mtime -7
für Dateien, die in den letzten sieben Tagen geändert wurden.
atime: Findet Dateien basierend auf dem letzten Zugriffszeitpunkt, z. B. -atime -7
für Dateien, die in den letzten sieben Tagen geöffnet wurden.
Beispiel: Suche nach allen Dateien mit dem Namen datei.txt
im Verzeichnis /verzeichnis
:
find /verzeichnis -name datei.txt -typ f
-
&&
Beschreibung: &&
ist ein logischer Operator, der zwei Befehle miteinander verknüpft. Der zweite Befehl wird nur dann ausgeführt, wenn der erste erfolgreich ist.
Beispiel: Führe echo "Datei erstellt"
nur aus, wenn touch datei.txt
erfolgreich war:
touch datei.txt && echo "Datei erstellt"
-
||
Beschreibung: ||
ist ein logischer Operator, bei dem der zweite Befehl nur ausgeführt wird, wenn der erste Befehl fehlschlägt.
Beispiel: Führe echo "Fehler"
aus, wenn ls /nicht/vorhanden
fehlschlägt:
ls /nicht/vorhanden || echo "Fehler"
-
nl
Beschreibung: nl
gibt den Inhalt einer Datei aus und fügt Zeilennummern hinzu.
Beispiel: Zeige
datei.txt
mit Zeilennummern an:
nl datei.txt
Ausgabe:
1 #By changing the setting below to TRUE you are
2 indicating your agreement to our EULA (https://aka.ms/MinecraftEULA).
3 #Sun Oct 27 15:58:53 CET 2024
4 eula=true
-
head
Beschreibung: head
zeigt standardmäßig die ersten 10 Zeilen einer Datei an. Mit der Option -n
lässt sich die Anzahl der anzuzeigenden Zeilen einstellen.
Beispiel: Zeige die ersten 5 Zeilen von datei.txt
an:
head -n 5 datei.txt
-
tail
Beschreibung: tail
zeigt standardmäßig die letzten 10 Zeilen einer Datei an. Mit der Option -n
lässt sich die Anzahl der anzuzeigenden Zeilen einstellen.
Beispiel: Zeige die letzten 5 Zeilen von datei.txt
an:
tail -n 5 datei.txt
-
seq
Beschreibung: seq
generiert eine numerische Sequenz, z. B. eine Liste von Zahlen. Optionen können den Start, das Ende und das Inkrement angeben.
Beispiel: Generiere die Zahlen von 1 bis 10:
seq 1 10
-
wc
Beschreibung: Der Befehl wc
zählt Wörter, Zeilen und Zeichen in einer Datei. Mit Optionen wie -l
, -w
und -c
lassen sich nur Zeilen, Wörter oder Zeichen zählen.
Beispiel: Zähle die Zeilen in datei.txt
:
wc -l datei.txt
-
sort
Beschreibung: Der Befehl
sort
wird verwendet, um den Inhalt einer Datei oder einer Eingabe zu sortieren. Mit zusätzlichen Optionen kann das Verhalten angepasst werden:
-t
: Definiert ein Trennzeichen (z.B. ein Komma bei CSV-Dateien).
-k
: Gibt an, nach welcher Spalte sortiert werden soll.
-n
: Sortiert numerisch, anstatt alphabetisch.
Beispiel 1: Einfaches Alphabetisches Sortieren
echo -e "Banane\nApfel\nOrange" | sort
Ausgabe:
Apfel
Banane
Orange
Beispiel 2: Sortieren nach einer bestimmten Spalte (mit
-t
und
-k
)
Angenommen, du hast eine Datei
daten.csv
mit folgendem Inhalt:
3,Apfel
1,Banane
2,Orange
Sortiere nach der ersten Spalte:
sort -t, -k1 daten.csv
Ausgabe:
1,Banane
2,Orange
3,Apfel
Beispiel 3: Numerisches Sortieren
echo -e "10\n2\n30" | sort -n
Ausgabe:
2
10
30
-
grep mit Datei
Beschreibung: Der Befehl
grep
wird verwendet, um nach Textmustern in einer Datei zu suchen. Das gefundene Wort wird standardmäßig farbig hervorgehoben.
Beispiel: Suche nach dem Wort
Linux
in einer Datei
Angenommen, du hast eine Datei namens
mein_text.txt
mit folgendem Inhalt:
Dies ist ein Beispieltext.
Wir lernen gerade Linux.
Linux ist sehr mächtig.
Das ist der letzte Satz.
Jetzt führst du den folgenden
grep
-Befehl aus:
grep "Linux" mein_text.txt
Ausgabe:
Wir lernen gerade Linux.
Linux ist sehr mächtig.
Das Wort
Linux
wird in der Ausgabe farbig hervorgehoben.
-
Script erstellen
Beschreibung: Ein Bash-Skript wird erstellt, indem du eine Datei mit der Endung
.sh
erstellst und Bash-Befehle hineinschreibst. Das Skript wird dann ausführbar gemacht und mit dem Befehl
bash
ausgeführt.
Beispiel 1: Erstellen eines einfachen Skripts
Erstelle eine Datei mit dem Namen
mein_script.sh
und füge folgenden Inhalt hinzu:
#!/bin/bash
echo "Hallo, Welt!"
Führe das Skript aus:
bash mein_script.sh
Ausgabe:
Hallo, Welt!
-
Zeilenanfang und -ende
Beschreibung: In regulären Ausdrücken wird
^
verwendet, um den Anfang der Zeile anzugeben, und
$
zeigt das Ende der Zeile an. Diese Symbole können mit
grep
verwendet werden, um nach bestimmten Mustern am Anfang oder Ende einer Zeile zu suchen.
Beispiel 1: Suche nach Zeilen, die mit "Hallo" beginnen (Anfang der Zeile mit
^
)
echo "Hallo Welt" | grep "^Hallo"
Ausgabe:
Hallo Welt
Beispiel 2: Suche nach Zeilen, die mit "Welt" enden (Ende der Zeile mit
$
)
echo "Hallo Welt" | grep "Welt$"
Ausgabe:
Hallo Welt
Beispiel 3: Suche nach einer Zeile, die mit "Hallo" beginnt und mit "Welt" endet
echo "Hallo Welt" | grep "^Hallo.*Welt$"
Ausgabe:
Hallo Welt
Hier wird deutlich, dass der Befehl nach Zeilen sucht, die sowohl mit "Hallo" anfangen als auch mit "Welt" enden.
-
sed
Beschreibung: Der Befehl
sed
(Stream Editor) wird verwendet, um Text innerhalb von Dateien oder Eingaben zu bearbeiten, insbesondere um Text zu ersetzen oder zu löschen. Mit der Option
s///g
kann Text ersetzt werden.
Beispiel 1: Ersetzen eines Wortes in einem Text
echo "Das ist ein Test" | sed 's/Test/Beispiel/'
Ausgabe:
Das ist ein Beispiel
Beispiel 2: Ersetzen eines Worts global in einem Text
echo "word word word" | sed 's/word/libre/g'
Ausgabe:
libre libre libre
-
tar
Beschreibung: Der Befehl tar
wird verwendet, um Dateien und Verzeichnisse zu archivieren (verpacken) oder zu entpacken. Er ist eine der wichtigsten Methoden zur Arbeit mit komprimierten Archiven in Linux.
Beispiel 1: Archivieren (Verpacken)
tar -cvf archive.tar meinOrdner
Ausgabe:
meinOrdner/
Der Befehl erstellt ein Archiv archive.tar
, das den Inhalt von meinOrdner
enthält.
Beispiel 2: Entpacken
tar -xvf archive.tar
Ausgabe:
meinOrdner/
Der Befehl entpackt das Archiv archive.tar
und stellt den Inhalt von meinOrdner
wieder her.
-
uniq
Beschreibung: Der Befehl
uniq
wird verwendet, um benachbarte, doppelte Zeilen aus einer Datei oder einer Eingabe zu entfernen. Es gibt auch Optionen, um nur die Anzahl der Vorkommen jeder Zeile anzuzeigen oder eine Anzahl von Vorkommen beizubehalten.
Beispiel 1: Doppelte Zeilen entfernen
uniq datei.txt
Ausgabe:
Der Befehl entfernt alle benachbarten identischen Zeilen in der Datei
datei.txt
, sodass nur einzigartige Zeilen übrig bleiben.
Beispiel 2: Häufigkeit der Zeilen anzeigen
uniq -c datei.txt
Ausgabe:
3 Zeile1
1 Zeile2
2 Zeile3
Der Befehl zeigt an, wie oft jede Zeile in der Datei vorkommt.
-
chmod
Beschreibung: Der Befehl chmod
wird verwendet, um die Berechtigungen von Dateien oder Verzeichnissen zu ändern. Mit diesem Befehl kann man zum Beispiel Schreib-, Lese- oder Ausführungsrechte für den Eigentümer, die Gruppe oder andere Benutzer festlegen.
Beispiel 1: Schreibrechte für die Gruppe hinzufügen
chmod g+w datei.txt
Ausgabe:
Es wird keine sichtbare Ausgabe angezeigt, aber die Gruppe hat nun Schreibrechte auf die Datei datei.txt
.
Beispiel 2: Schreibrechte für die Gruppe entfernen
chmod g-w datei.txt
Ausgabe:
Es wird keine sichtbare Ausgabe angezeigt, aber die Gruppe hat nun keine Schreibrechte mehr auf die Datei datei.txt
.
-
Weitere Befehle
Beschreibung: Hier findest du einige nützliche Linux-Befehle, die nicht in eine spezifische Kategorie fallen.
Beispiel 1: Benutzer-ID und Gruppenzugehörigkeit anzeigen
id | grep -o 'step-2024-team12'
Ausgabe:
Zeigt die Benutzer- oder Gruppenzugehörigkeit zu step-2024-team12
an, falls vorhanden.
Beispiel 2: Überwachen von Dateisystemänderungen
watch datei.txt
Ausgabe:
Der Befehl zeigt die datei regelmäßig an, um Änderungen in Echtzeit zu überwachen.
-
Team Benutzer Anmelden
Beschreibung: Der Befehl sudo -i -u step-2024-team12
meldet dich als ein anderer Benutzer an, in diesem Fall als der Benutzer step-2024-team12
, um Aktionen unter dessen Berechtigungen auszuführen.
Beispiel:
sudo -i -u step-2024-team12
Ausgabe:
Du wirst als Benutzer step-2024-team12
eingeloggt und kannst Befehle ausführen, die diesem Benutzer zugewiesen sind.
-
Dateien auf Team Webseite kopieren
Beschreibung: Dieser Befehl kopiert eine Datei von deinem Team Gruppen Ordner auf das Webseiten verzeichnis des Teams. Der Befehl wird mit sudo
ausgeführt, um als Team-Benutzer zu agieren und die nötigen Berechtigungen zu haben.
Beispiel:
sudo -i -u step-2024-team12 bash -c 'cp ~/group/index.html /var/www/html/step-2024-team12/'
Ausgabe:
Es wird keine sichtbare Ausgabe angezeigt, aber die Datei index.html
wurde in das Team Webseiten verzeichnis kopiert, sodass sie dort verfügbar ist.
Erklärung:
Der Befehl bash -c
wird verwendet, um den angegebenen Befehl innerhalb einer neuen Bash-Shell auszuführen. Dies stellt sicher, dass der Befehl korrekt im Kontext des Benutzers `step-2024-team12` ausgeführt wird, da er mit sudo
als dieser Benutzer gestartet wird.