20 Linux-Befehle für Einsteiger (Basics)
Neu in der Linux-Welt und keine Ahnung welche Befehle Du für was benötigst? Dann bist Du nicht allein: Aller Anfang ist schwer, aber hier zeige ich Dir die Top 20 Linux-Befehle für Einsteiger!
Egal, ob Du neuer System/Server Administrator, neu der Informatikwelt oder einfach von einem anderen Betriebssystem auf Linux umsteigen willst, Du kommst um die Linux-Befehle in der Konsole nicht drum rum. Auch bei der Programmierung eines Raspberry PIs ist Linux allgegenwärtig. Und sind wir mal ehrlich: man fühlt sich schon ziemlich cool, wenn man schnell und sicher mit der Linux Kommandozeile umgehen kann. 😉 Wenn Du diese Top 20 wichtigen Linux-Befehle sicher beherrscht, bist Du gut vorbereitet.
- 1. Grundbefehle
- 1.1. cd – Navigieren
- 1.2. ls – Dateien auflisten
- 1.3. nano/vim – Datei bearbeiten
- 1.4. pwd – Aktuelles Verzeichnis anzeigen
- 1.5. clear – Konsole leeren
- 1.6. cat – Inhalte auf der Konsole ausgeben
- 1.7. sudo – Befehl als Administrator ausführen
- 1.8. grep – Ausgaben filtern
- 1.9. history – Letzte Befehle anzeigen
- 1.10. man – Hilfeseite
- 1.11. wget – Dateien aus dem Internet laden
- 2. Dateiwerkzeuge
- 3. Rechteverwaltung
Zu jedem Befehl habe ich verschiedene Anwendungsmöglichkeiten angegeben. Daran sieht man, dass man die Befehle fast beliebig miteinander kombinieren und einsetzen kann. Die meisten Befehle kannst Du auch mit weiteren Parametern (Einstellungen) ausführen. Um diese anzeigen zu lassen, schaue Dir den man
Befehl genauer an.
1. Grundbefehle
1.1. cd – Navigieren
Am wichtigsten ist es, sicher und schnell durch die Verzeichnisstruktur eines Rechners zu navigieren. Hier habe ich Dir verschiedene Möglichkeiten aufgelistet, auch um mehrere Verzeichnisse gleichzeitig zu wechseln:
# Go to "directory1" folder cd directory1 # Go to "directory1" and in this folder go to "subdir1" cd directory1/subdir1 # Go to ".ssh" in the root directory cd ~/.ssh # Go to the parent directory cd .. # Go two directories up cd ../..
1.2. ls – Dateien auflisten
Der ls
Befehl listet Dir Dateien in einem Verzeichnis auf. Diesen Befehl wirst Du wohl mit Abstand am meisten verwenden.
# List files ls # List files in a vertical list with more details ls -l # List files in the "dir1" folder ls -l dir1
1.3. nano/vim – Datei bearbeiten
Um eine Datei zu bearbeiten gibt es verschiedene Texteditoren. Nano und Vim sind zwei Bekannte, die auf den meisten Linux-Distributionen vorinstalliert sind. Welchen Du nutzen möchtest ist Dir überlassen. Da es bei der Bedienung noch etwas Erklärung bedarf, habe ich Dir dazu zwei Beiträge verlinkt. Zum Öffnen der verschiedenen Editoren verwendest Du folgende Befehle:
# Open yourfile.txt with nano nano yourfile.txt # Open yourfile.txt with vim vim yourfile.txt
1.4. pwd – Aktuelles Verzeichnis anzeigen
Mit pwd
kannst Du Dir das aktuelle Verzeichnis anzeigen lassen, nicht mehr und nicht weniger:
# e.g. output: /var/www/vhosts/webdeasy.de/httpdocs pwd
1.5. clear – Konsole leeren
Der clear
Befehl löscht das Konsolenfenster. Es werden also keine Eingaben gelöscht, sie sind nach wie vor über history
erreichbar, nur der sichtbare Bereich wird aufgeräumt.
1.6. cat – Inhalte auf der Konsole ausgeben
Dieser Befehl gibt Dir den Inhalt einer Datei auf der Konsole aus. Bei großen Datei bekommst Du manchmal sehr lange Ausgaben welche die Konsole vollspammen. Da bekommt man manchmal Angst was man denn getan hat. Aber keine Sorge.
# print the content of .htaccess cat .htaccess # print the content of index.php in the httpdocs directory cat httpdocs/index.php
Wusstest Du, dass man mit STRG+C einen laufenden Befehl abbrechen kann?
1.7. sudo – Befehl als Administrator ausführen
Oftmals bist Du nicht als Administrator in deinem Terminal unterwegs. Wenn Du dann z.B. eine vom Administrator angelegte Datei bearbeiten möchtest, hast Du keine Berechtigungen dazu. Abhilfe schafft hier der sudo
Befehl. Dieses kleine Wörtchen kannst Du jedem Kommando voran stellen um ihn mit Administrator Rechten auszuführen. Sei vorsichtig, was Du damit machst. Beim ersten Ausführen musst Du natürlich das Administrator Passwort eingeben:
# Print content of the .htaccess (with administrator permissions) sudo cat .htaccess # Go to dir2 sudo cd dir2 # Edit .htaccess sudo nano .htaccess
1.8. grep – Ausgaben filtern
Du hast eine 500MB große Log-Datei und suchst nach einer bestimmten IP-Adresse? Mit grep
kann Dir eine stundenlange Suche erspart bleiben. Der Befehl kann Dir alle Zeilen nach einem Suchmuster durchsuchen und hervorgehoben ausgeben. Du kannst auch reguläre Ausdrücke verwenden:
# Get all lines with "AddType" from .htaccess grep AddType .htaccess # get all lines with "AddType" from the application mime-type grep "AddType application/.*" .htaccess # Alternative: Combine the cat and grep command with a pipe cat .htaccess | grep AddType
Im dritten Beispiel habe ich eine Pipe eingebaut. Das ist dieser gerade vertikale Strich: |.
Damit lassen sich Ausgaben von einem Befehl an den nächsten weitergeben. Dort nehmen wir die komplette Ausgabe vom ersten Befehl (cat .htaccess
) und lassen uns nur Zeilen mit „AddType“ ausgeben. Cool, oder? Du kannst Befehle beliebig kombinieren, probier‘ es doch einfach mal mit anderen Befehlen aus.
1.9. history – Letzte Befehle anzeigen
Letzte Woche hast Du Dir einen sehr wichtigen und langen Befehl zusammengebaut, aber vergessen ihn Dir zu notieren? Nicht schlimm, gib einfach mal history
in die Konsole ein. Mit diesem Befehl erhältst Du eine Auflistung der letzten Befehle und kannst Dir diese rauskopieren.
In vielen Konsolenanwendungen, z.B. das Terminal unter macOS oder Putty unter Windows wird Text kopiert, sobald Du ihn mit der linken Maustaste ganz normal markiert hast und eingefügt, wenn Du mit der rechten Maustaste einfach wieder in die Konsole klickst.
1.10. man – Hilfeseite
Endlich! Wir sind bei meinem Lieblingsbefehl angekommen. Mal sehen wie viele ich von ihm überzeugen kann. 🙂
Mit man
kannst Du Dir zu jedem Befehl eine Hilfeseite mit allen möglichen Parametern und Erklärungen anzeigen lassen. Auch für z.B. C oder C++ lassen sich entsprechende Befehle nachschauen:
# manual for ls man ls # manual for wget man wget # manual for the pthread function (c, c++) man pthread
Das Manual kannst Du mit dem Drücken der Taste „q“ verlassen.
Wenn Du also nicht mehr genau weißt, wie ein Befehl funktioniert, kannst Du einfach diesen Befehl nutzen und kann Dir viel Zeit sparen.
1.11. wget – Dateien aus dem Internet laden
Dieser Befehl kann Dir jegliche frei zugängliche Datei aus dem Internet oder Intranet auf Deinen Server/Rechner laden. Für was? Gerade bei der Serveradministration hat man oft nur eine Konsole und keine GUI zur Verfügung und dann ist dieser Befehl die schnellste und einfachste Möglichkeit eine Datei herunterzuladen:
# download the thumbnail of this post wget https://webdeasy.de/wp-content/uploads/2021/04/linux-commands.jpg
Um eine solche Domain (webdeasy.de) in eine IP aufzulösen, wird DNS benötigt. Was DNS ist und wie es funktioniert, erfährst Du in diesem Beitrag zum Thema Domain-Name-System.
2. Dateiwerkzeuge
2.1. mkdir – Verzeichnis erstellen
Mit diesem Befehl kannst Du Verzeichnisse erstellen – ganz einfach:
# make directory "newDir" mkdir newDir
2.2. touch – Datei anlegen
Dieser Befehl aktualisiert den Zeitstempel der angegebenen Datei. Das braucht man relativ selten. Was man eher mehr braucht und weshalb ich diesen Befehl auch vorstelle ist, dass man damit auch Dateien anlegen kann, wenn diese nicht existieren:
# create file phpinfo.php (if the file does not exist) touch phpinfo.php # update timstamp of phpinfo.php (if the file exists) touch phpinfo.php
2.3. du – Datei-/Verzeichnisgröße berechnen
Dieser Befehl berechnet Dir die Größe eines Verzeichnisses oder einer Datei. Hier kannst Du viel mit den Parametern für eine schöne Darstellung rumspielen. Für meine Fälle benutze ich meist die folgenden Befehle:
# size of the htaccess in bytes. output e.g. 12 .htaccess du .htaccess # size of the htaccess (-h = human readable). output e.g. 12K .htaccess du -h .htaccess # size of EVERY SINGLE file inside the httpdocs directory (bad :c) du httpdocs/ # size of the httpdocs directory (-s = summarize, -h = human readable). output e.g. 876M httpdocs/ du -sh httpdocs/
2.4. mv – Datei verschieben/umbenennen
Mit diesem Befehl werden meist zwei Aktionen durchgeführt: Verschieben und Umbenennen von Dateien. Denn wenn Du mal genau überlegst, ist das Verschieben in das gleiche Verzeichnis mit einem anderen Namen im Prinzip umbenennen einer Datei. 😉
# rename file1.txt to file2.txt mv file1.txt file2.txt # rename file1.txt to file2.txt (in dir1 folder) mv dir1/file1.txt dir1/file2.txt # move file1.txt to httpdocs folder mv file1.txt httpdocs
2.5. cp – Datei/Verzeichnis kopieren
Ähnliches Verhalten wie beim Verschieben/Umbenennen von Dateien. Zu beachten ist hier der -R
Parameter beim Kopieren von Verzeichnissen:
# copy file1.txt to file1-copy.txt cp file1.txt file1-copy.txt # copy httpdocs directory to httpdocs_BAK directory cp -R httpdocs/ httpdocs_BAK # copy httpdocs directory to httpdocs_BAK directory in the parents directory cp -R httpdocs/ ../httpdocs_BAK
2.6. rm – Datei/Verzeichnis löschen
Dateien müssen manchmal gelöscht werden, dafür gibt es diesen Befehl. Auch hier muss der -R
Parameter beim Löschen eines Verzeichnisses angegeben werden:
# remove file1.txt rm file1.txt # remove BAK directory rm BAK/ -R
Achtung: Dieser Befehl ist nicht rückgängig zu machen! Kontrolliere den Befehl bevor Du ihn ausführst.
2.7. tar – Archive packen/entpacken
Eine .tar, .tar.gz oder .tgz Datei ist eine Archivdatei unter Linux – äquivalent zu einer .zip oder .rar Datei unter Windows. Mit dem tar
Befehl kann man diese Archive packen und entpacken. Schau gern mit man tar
alle Parameter an. Die folgenden Befehle sind in einer Kombination, in der ich sie nutze:
# pack httpdocs into archive.tgz tar -czf archive.tgz httpdocs # unpack archive.tgz into the current directory tar -xvzf archive.tgz
3. Rechteverwaltung
3.2. chmod – Rechte anpassen
Mit diesem Befehl kannst Du die sogenannten Dateimodusbits verändern. Diese geben an, ob eine Datei lesbar, beschreibbar und aus ausführbar ist. Sie sind in 8 Stufen eingeteilt:
- 0: No permission
- 1: Execute
- 2: Write
- 3: Write and execute
- 4: Read
- 5: Read and execute
- 6: Read and write
- 7: Read, write, and execute
Damit lassen sich Berechtigungen für Dateien und Ordner genau einstellen:
# all permissions for all files and directories in this directory (don't use this in public! e.g. webservers) chmod 777 * -R # set default permissions (good solution :)) chmod 755 .htaccess
Wenn Du mehr zu diesem Befehl wissen willst, kannst Du das hier nachlesen.
3.1. chown – Besitzer/Gruppe anpassen
Mit dem letzten Befehl kannst Du den Besitzer und die Gruppe einer Datei oder Verzeichnis anpassen. Bei Rechnern mit mehreren Benutzer ist das unbedingt notwendig:
# set the owner to user1 and the group psaserv to file1.txt chown user1:psaserv file1.txt # set the owner and group root to the httpdocs directory and all files and directories in it chown root:root httpdocs -R
Fallen Dir noch weitere Kommandos ein, die hier nicht fehlen dürfen? Schreib‘ Sie gern in die Kommentare. Danke für’s Lesen! 🙂
Wie fandest du diesen Beitrag?
-
Pingback: Docker "Permission Denied" Fehler beheben
-
Pingback: Git SSH Key einrichten: So geht's (Windows, Mac & Linux)
-
Pingback: WordPress umziehen ohne Plugin: Schritt-für-Schritt Anleitung
-
Pingback: Überwachungskamera Livestream am Raspberry Pi einrichten (mit USB Webcam)