Linux Deutsch

Arbeiten mit Dateien in der Linux-Shell

Lerne mit touch, ls, less und rm Dateien in der Linux-Shell zu erstellen, anzuzeigen, zu prüfen und sicher zu löschen.

Einführung in die Dateiverwaltung in der Linux-Shell

Die Linux-Shell ist eine textbasierte Umgebung zur Eingabe und Ausführung von Befehlen. Du arbeitest meist in einem Terminal, also in einem Programmfenster, das die Shell bereitstellt. Statt Dateien mit einer grafischen Oberfläche anzuklicken, sprichst du sie mit Befehlen über ihren Namen und ihren Pfad an.

Eine Datei ist eine benannte Einheit zur Speicherung von Daten, zum Beispiel eine Textdatei. Ein Verzeichnis ist eine ordnerähnliche Struktur, die Dateien und weitere Verzeichnisse organisiert. Ein Dateiname gilt immer innerhalb eines Verzeichnisses. Der Pfad beschreibt, wo sich eine Datei oder ein Verzeichnis befindet.

  • Das aktuelle Arbeitsverzeichnis ist der Ort, in dem ein Befehl ohne ausdrücklich angegebenen Pfad arbeitet.
  • Ein relativer Pfad beginnt beim aktuellen Arbeitsverzeichnis, zum Beispiel dokumente/notiz.txt.
  • Ein absoluter Pfad beschreibt den vollständigen Speicherort ab dem Wurzelverzeichnis /, zum Beispiel /home/anna/dokumente/notiz.txt.

In dieser Lektion stehen touch, rm und less im Mittelpunkt. Verschieben und Umbenennen sind verwandte Aufgaben und werden typischerweise mit mv erledigt.

Wenn du den aktuellen Ort prüfen möchtest, verwende pwd. Mit ls listest du den Inhalt eines Verzeichnisses auf. Grundlagen zur Navigation findest du auch bei Arbeiten mit Verzeichnissen.

Dateien mit touch erstellen

Der Befehl touch legt eine Datei an, wenn der angegebene Name noch nicht existiert. Die neu angelegte Datei ist zunächst leer. Existiert die Datei bereits, aktualisiert touch normalerweise ihre Zeitstempel, statt den vorhandenen Inhalt zu löschen.

touch DATEINAME

Für eine Datei im aktuellen Arbeitsverzeichnis genügt der Dateiname:

touch new_file
ls

Ein erfolgreicher touch-Aufruf erzeugt üblicherweise keine Standardausgabe. Deshalb prüfst du das Ergebnis anschließend mit ls. In der Auflistung sollte new_file erscheinen.

Du kannst auch einen relativen oder absoluten Pfad angeben:

touch dokumente/notiz.txt
ls dokumente

Hier muss das Verzeichnis dokumente bereits existieren und du musst dort Schreibrechte besitzen. Mit einem absoluten Pfad sieht der Aufruf beispielsweise so aus:

touch /home/anna/dokumente/notiz.txt

Wichtig: touch erstellt keine fehlenden übergeordneten Verzeichnisse. Wenn dokumente nicht existiert, schlägt der Befehl fehl.

Dateien mit rm löschen

Mit rm entfernst du Dateien:

rm DATEINAME

Eine einzelne Datei im aktuellen Verzeichnis löschst du beispielsweise so:

rm new_file
ls

Nach dem zweiten Befehl sollte new_file nicht mehr in der Auflistung erscheinen. rm verwendet normalerweise keinen Papierkorb. Die Datei wird dauerhaft aus dem Verzeichnis entfernt. Prüfe deshalb vor dem Ausführen den aktuellen Ort, den exakten Dateinamen und gegebenenfalls den vollständigen Pfad.

Mit der Option -i fragt rm interaktiv nach:

rm -i wichtige_notiz.txt

Erst nach deiner Bestätigung wird die Datei entfernt. Diese Option reduziert das Risiko eines versehentlichen Löschens, ersetzt aber nicht die Prüfung von Pfad und Dateiname.

Ein Verzeichnis wird nicht mit einem einfachen rm DATEINAME entfernt. Für Verzeichnisse existieren Optionen wie -r zum rekursiven Löschen. Rekursives Löschen kann ganze Verzeichnisbäume entfernen und sollte daher nur mit größter Vorsicht verwendet werden.

Fehlende Schreibrechte oder eine nicht vorhandene Datei führen zu Fehlermeldungen. Beachte außerdem: Zum Löschen einer Datei ist in erster Linie die Schreib- und Ausführungsberechtigung des übergeordneten Verzeichnisses entscheidend; zum Anzeigen des Inhalts sind Leserechte für die Datei erforderlich.

Textdateien mit less anzeigen

less ist ein Pager. Ein Pager stellt Text schrittweise in Bildschirmseiten dar. Das ist besonders praktisch für lange Textdateien, weil nicht der gesamte Inhalt auf einmal durch das Terminal scrollt.

less DATEINAME

Zum Beispiel:

less textfile.txt

Während less geöffnet ist, kannst du dich durch den Inhalt bewegen. Mit q beendest du die Anzeige und kehrst zur Shell zurück. less zeigt Dateien primär an; es ist kein vollständiger Texteditor und verändert den Inhalt nicht durch das bloße Öffnen.

Taste oder EingabeFunktion
PfeiltastenZeilenweise nach oben oder unten bewegen.
LeertasteEine Bildschirmseite weitergehen.
bEine Bildschirmseite zurückgehen.
/SuchbegriffNach Suchbegriff suchen.
nZum nächsten Treffer der Suche springen.
qless beenden.

Eine Suche startest du innerhalb von less mit einem Schrägstrich:

/Suchbegriff
n
q

Nach der Eingabe von /Suchbegriff und Enter springt less zur nächsten Fundstelle. Mit n suchst du weiter.

Grundbefehle für Dateien

BefehlZweckBeispielWichtiger Hinweis
touchDatei erstellen oder Zeitstempel aktualisieren.touch notiz.txtErzeugt bei Erfolg meist keine Ausgabe.
rmDatei entfernen.rm notiz.txtNormalerweise dauerhaft und ohne Papierkorb.
rm -iDatei nach einer Rückfrage entfernen.rm -i notiz.txtVorher Pfad und Namen trotzdem prüfen.
lessTextdatei seitenweise anzeigen.less notiz.txtMit q beenden; kein vollständiger Editor.
lsDateien und Verzeichnisse auflisten.lsZur Kontrolle nach dem Erstellen oder Löschen verwenden.

Sicheres Arbeiten und Ergebnisprüfung

Arbeitsort und Namen prüfen

Vor allem vor dem Löschen solltest du zuerst den aktuellen Ort und den genauen Namen prüfen:

pwd
ls

Ein häufiger Fehler ist eine falsche Schreibweise. Linux unterscheidet außerdem zwischen Groß- und Kleinschreibung: Notiz.txt und notiz.txt können zwei verschiedene Namen sein.

Dateinamen mit Leerzeichen

Leerzeichen trennen in der Shell normalerweise Argumente. Ein Dateiname mit Leerzeichen muss deshalb als ein Argument quotiert werden. Verwende einfache oder doppelte Anführungszeichen:

touch "meine notiz.txt"
less "meine notiz.txt"
rm -i "meine notiz.txt"

Alternativ kannst du das Leerzeichen mit einem Backslash maskieren:

touch meine\ notiz.txt

Leere, fehlende und nicht lesbare Dateien unterscheiden

  • Eine leere Datei existiert, enthält aber keine Daten. less zeigt dann keine Textzeilen an und kehrt nach dem Beenden zurück.
  • Eine nicht vorhandene Datei kann nicht mit less geöffnet oder mit rm gelöscht werden. Beide Befehle melden typischerweise, dass die Datei nicht gefunden wurde.
  • Eine Datei ohne Leserechte kann existieren, lässt sich aber mit dem aktuellen Benutzer möglicherweise nicht mit less lesen.
SituationMögliche UrsacheSinnvolle Aktion
Datei nicht gefundenName falsch geschrieben, falsches Arbeitsverzeichnis oder Datei bereits entfernt.pwd und ls verwenden; danach den korrekten relativen oder absoluten Pfad angeben.
Keine BerechtigungFehlende Zugriffsrechte für Datei oder Zielverzeichnis.Pfad prüfen und einen Ort verwenden, für den der Benutzer die nötigen Berechtigungen besitzt.
Datei versehentlich löschen wollenPfad oder Name nicht geprüft; rm fragt standardmäßig nicht nach.Vorgang abbrechen, pwd und ls ausführen und bei bewusster Löschung rm -i nutzen.
Dateiname enthält LeerzeichenDer Name wurde ohne Anführungszeichen eingegeben.Den vollständigen Namen quotieren oder Leerzeichen mit \ maskieren.

Fehlerbehebung

rm meldet, dass die Datei nicht gefunden wurde

  • Prüfe mit pwd das aktuelle Arbeitsverzeichnis.
  • Kontrolliere mit ls die tatsächliche Schreibweise.
  • Verwende bei Bedarf den korrekten relativen oder absoluten Pfad.

touch kann die Datei nicht erstellen

  • Das Zielverzeichnis existiert möglicherweise nicht.
  • Im Zielverzeichnis fehlen möglicherweise Schreibrechte.
  • Der Pfad kann einen Tippfehler enthalten.
  • Prüfe den Pfad mit ls und verwende ein Verzeichnis, in dem du schreiben darfst.

less kann die Datei nicht öffnen

  • Prüfe mit ls, ob die Datei existiert.
  • Kontrolliere den relativen oder vollständigen Pfad.
  • Bei fehlenden Leserechten müssen die Dateiberechtigungen oder der Benutzerzugriff geprüft werden.

Zusammenfassung: Ein sicherer Arbeitsablauf

  1. Prüfe mit pwd, wo du arbeitest, und mit ls, welche Dateien vorhanden sind.
  2. Erstelle eine Datei mit touch new_file oder mit einem passenden relativen beziehungsweise absoluten Pfad.
  3. Kontrolliere die Existenz mit ls.
  4. Zeige den Inhalt einer Textdatei bei Bedarf mit less DATEINAME an. Navigiere mit den genannten Tasten und beende mit q.
  5. Wenn die Datei nicht mehr benötigt wird, prüfe erneut Ort und Namen.
  6. Entferne sie bewusst mit rm -i DATEINAME und bestätige nur, wenn die Datei tatsächlich gelöscht werden soll.
  7. Führe anschließend ls aus, um die Änderung zu kontrollieren.

Für die nächsten Schritte sind Arbeiten mit Verzeichnissen, der less-Befehl und Grundlagen zu Zugriffsrechten passende Themen.