Linux-Dateierstellung/ -aktualisierung

LinuxBeginner
Jetzt üben

Einführung

In diesem Lab lernen Sie, wie Sie Dateien mit dem Linux-Befehl touch erstellen und aktualisieren. Der touch-Befehl ist ein einfaches, aber leistungsstarkes Werkzeug, mit dem Sie leere Dateien erstellen und Dateistempel ändern können, ohne den Dateiinhalt zu verändern.

Dieses Lab ist für Anfänger konzipiert, die die Dateiverwaltung in Linux verstehen möchten. Sie werden lernen, wie Sie neue Dateien erstellen, ihre Zeitstempel prüfen und diese Zeitstempel nach Bedarf ändern. Diese Fähigkeiten sind grundlegend für die Systemadministration, das Skripten und die allgemeine Dateiorganisation in Linux-Umgebungen.

Am Ende dieses Labs haben Sie praktische Erfahrung mit dem touch-Befehl und verstehen seine verschiedenen Anwendungen in der Dateiverwaltung.

Erstellen Ihrer ersten Datei mit dem touch-Befehl

In diesem Schritt lernen Sie, wie Sie eine neue Datei mit dem touch-Befehl erstellen. Dies ist eine der grundlegendsten Dateioperationen in Linux.

Zunächst stellen wir sicher, dass Sie sich im richtigen Verzeichnis befinden. Führen Sie den folgenden Befehl aus:

pwd

Sie sollten eine Ausgabe sehen, die zeigt, dass Sie sich im Verzeichnis /home/labex/project befinden. Hier werden wir unsere Dateien erstellen.

Jetzt erstellen wir eine neue leere Datei mit dem touch-Befehl:

touch myfile.txt

Der touch-Befehl erstellt eine leere Datei, wenn diese nicht existiert. Wenn die Datei bereits existiert, aktualisiert touch ihre Zugriffs- und Änderungszeiten auf die aktuelle Zeit, ohne den Dateiinhalt zu verändern.

Um zu überprüfen, ob die Datei erstellt wurde, führen Sie den ls-Befehl aus:

ls -l

Sie sollten eine Ausgabe ähnlich dieser sehen:

-rw-r--r-- 1 labex labex 0 May 15 10:30 myfile.txt

Die Ausgabe zeigt:

  • Dateiberechtigungen (-rw-r--r--)
  • Eigentümer und Gruppe (beide labex)
  • Dateigröße (0 Bytes, da die Datei leer ist)
  • Datum und Uhrzeit der Erstellung
  • Dateiname (myfile.txt)

Herzlichen Glückwunsch! Sie haben erfolgreich Ihre erste Datei mit dem touch-Befehl erstellt.

Dateidetails und Zeitstempel verstehen

Nachdem Sie nun eine Datei erstellt haben, wollen wir lernen, wie Sie deren Details anzeigen und die mit Dateien in Linux verbundenen Zeitstempel verstehen können.

Jede Datei in Linux hat drei Zeitstempel:

  1. Zugriffszeit (Access time) - wann die Datei zuletzt gelesen oder zugegriffen wurde
  2. Änderungszeit (Modification time) - wann der Dateiinhalt zuletzt geändert wurde
  3. Statusänderungszeit (Change time) - wann die Metadaten der Datei (Berechtigungen, Eigentümer usw.) zuletzt geändert wurden

Um diese Zeitstempel für die von Ihnen erstellte Datei anzuzeigen, verwenden Sie den Befehl stat:

stat myfile.txt

Die Ausgabe sollte ähnlich wie diese aussehen:

  File: myfile.txt
  Size: 0          Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d Inode: 655361      Links: 1
Access: (0644/-rw-r--r--)  Uid: (1000/labex)   Gid: (1000/labex)
Access: 2023-05-15 10:30:00.000000000 +0000
Modify: 2023-05-15 10:30:00.000000000 +0000
Change: 2023-05-15 10:30:00.000000000 +0000
 Birth: 2023-05-15 10:30:00.000000000 +0000

Für eine präzisere Ansicht können Sie den Befehl ls mit bestimmten Optionen verwenden:

ls -l --time=atime myfile.txt ## Zeigt die Zugriffszeit (access time) an
ls -l myfile.txt ## Zeigt die Änderungszeit (modification time) an (Standard für ls -l)

Lassen Sie uns nun eine zweite Datei erstellen und sehen, wie man Zeitstempel vergleicht:

touch secondfile.txt

Listen Sie nun beide Dateien auf, um ihre Zeitstempel anzuzeigen:

ls -lt

Sie sollten feststellen, dass secondfile.txt oben in der Liste erscheint, da ls -lt Dateien nach Änderungszeit sortiert, wobei die zuletzt geänderten Dateien zuerst aufgeführt werden.

Das Verständnis dieser Zeitstempel ist wichtig für die Dateiverwaltung und Fehlerbehebung in Linux-Systemen.

Ändern von Dateizeitstempeln mit touch

Eine der leistungsstarken Funktionen des touch-Befehls ist die Möglichkeit, Dateizeitstempel zu ändern. Dies kann für Tests, Fehlersuche oder die Organisation von Dateien nützlich sein.

Lassen Sie uns den Zeitstempel der ersten Datei, die wir erstellt haben (myfile.txt), ändern. Wir setzen ihn auf ein bestimmtes Datum und eine bestimmte Uhrzeit mit der -t-Option:

touch -t 202301010900 myfile.txt

Dieser Befehl setzt den Zeitstempel von myfile.txt auf den 1. Januar 2023, 09:00 Uhr. Das verwendete Format ist YYYYMMDDhhmm (Jahr, Monat, Tag, Stunde, Minute).

Jetzt überprüfen wir, ob der Zeitstempel geändert wurde:

ls -l myfile.txt

Die Ausgabe sollte zeigen, dass die Änderungszeit der Datei jetzt der 1. Januar 2023, 09:00 Uhr ist:

-rw-r--r-- 1 labex labex 0 Jan  1 09:00 myfile.txt

Sie können den Zeitstempel auch auf eine relative Zeit setzen, beispielsweise eine bestimmte Anzahl von Tagen in der Vergangenheit. Beispielsweise, um den Zeitstempel auf vor 7 Tagen zu setzen:

touch -d "7 days ago" myfile.txt

Überprüfen Sie die Änderung:

ls -l myfile.txt

Eine weitere nützliche Option ist, den Zeitstempel einer Datei als Referenz für eine andere Datei zu verwenden. Lassen Sie uns eine neue Datei erstellen:

touch thirdfile.txt

Jetzt setzen wir den Zeitstempel von thirdfile.txt so, dass er mit dem von secondfile.txt übereinstimmt:

touch -r secondfile.txt thirdfile.txt

Überprüfen Sie, ob beide Dateien jetzt den gleichen Zeitstempel haben:

ls -l secondfile.txt thirdfile.txt

Diese Zeitstempel-Manipulationsfunktionen machen den touch-Befehl zu einem vielseitigen Werkzeug für die Dateiverwaltung in Linux.

Gleichzeitiges Erstellen mehrerer Dateien

Der touch-Befehl ermöglicht es Ihnen, mehrere Dateien mit einem einzigen Befehl zu erstellen. Dies kann Zeit sparen, wenn Sie mehrere Dateien auf einmal erstellen müssen.

Lassen Sie uns drei neue Dateien mit einem Befehl erstellen:

touch file1.txt file2.txt file3.txt

Um zu überprüfen, ob alle drei Dateien erstellt wurden, führen Sie aus:

ls -l file*.txt

Sie sollten alle drei neuen Dateien zusammen mit ihren Details aufgelistet sehen:

-rw-r--r-- 1 labex labex 0 May 15 11:00 file1.txt
-rw-r--r-- 1 labex labex 0 May 15 11:00 file2.txt
-rw-r--r-- 1 labex labex 0 May 15 11:00 file3.txt

Sie können auch die Mustererweiterung (pattern expansion) verwenden, um Dateien mit sequenziellen Namen zu erstellen:

touch document_{1..5}.txt

Dieser Befehl erstellt fünf Dateien mit den Namen document_1.txt, document_2.txt und so weiter bis hin zu document_5.txt.

Überprüfen Sie dies mit:

ls -l document_*.txt

Diese Möglichkeit, mehrere Dateien auf einmal zu erstellen, ist besonders nützlich, wenn Sie eine Verzeichnisstruktur für ein neues Projekt vorbereiten oder Dateivorgänge an mehreren Dateien testen.

Verwenden von touch mit Verzeichnissen

Obwohl der touch-Befehl hauptsächlich mit Dateien verwendet wird, kann er auch mit Verzeichnissen eingesetzt werden, um deren Zeitstempel zu aktualisieren. Allerdings kann er keine Verzeichnisse erstellen – dafür würden Sie den mkdir-Befehl verwenden.

Zunächst erstellen wir ein Verzeichnis, mit dem wir arbeiten können:

mkdir testdir

Jetzt überprüfen wir den Zeitstempel dieses Verzeichnisses:

ls -ld testdir

Die Ausgabe sollte die Erstellungszeit des Verzeichnisses anzeigen.

Als Nächstes verwenden wir den touch-Befehl, um den Zeitstempel des Verzeichnisses zu aktualisieren:

touch testdir

Jetzt überprüfen wir den Zeitstempel erneut:

ls -ld testdir

Sie sollten sehen, dass der Zeitstempel auf die aktuelle Zeit aktualisiert wurde.

Sie können auch die gleichen Zeitstempeloptionen verwenden, die wir zuvor gelernt haben, mit Verzeichnissen. Beispielsweise, um den Zeitstempel des Verzeichnisses auf ein bestimmtes Datum zu setzen:

touch -t 202301010900 testdir

Überprüfen Sie die Änderung:

ls -ld testdir

Ein wichtiger Hinweis zu Verzeichnissen: Der touch-Befehl aktualisiert nur die Metadaten-Zeitstempel des Verzeichnisses, nicht die Inhalte innerhalb des Verzeichnisses. Jede Datei innerhalb des Verzeichnisses behält ihre eigenen separaten Zeitstempel.

Um dies zu demonstrieren, erstellen wir eine Datei innerhalb des Verzeichnisses:

touch testdir/insidefile.txt

Jetzt überprüfen wir die Zeitstempel sowohl des Verzeichnisses als auch der Datei:

ls -ld testdir
ls -l testdir/insidefile.txt

Sie werden feststellen, dass sie unterschiedliche Zeitstempel haben, was zeigt, dass der touch-Befehl jede Entität unabhängig voneinander beeinflusst.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie den Linux-touch-Befehl zur Dateierstellung und Zeitstempelverwaltung verwenden. Hier sind die behandelten Schlüsselpunkte:

  1. Grundlegende Dateierstellung: Sie haben gelernt, wie Sie leere Dateien mit dem touch-Befehl erstellen.

  2. Verständnis von Zeitstempeln: Sie haben die verschiedenen Arten von Zeitstempeln, die mit Dateien in Linux verknüpft sind, und wie man sie anzeigt, untersucht.

  3. Ändern von Zeitstempeln: Sie haben geübt, Dateizeitstempel auf bestimmte Daten, relative Zeiten zu ändern und Zeitstempel zwischen Dateien übereinzustimmen.

  4. Erstellen mehrerer Dateien: Sie haben entdeckt, wie Sie mehrere Dateien gleichzeitig mithilfe der Mustererweiterung (pattern expansion) und direkter Auflistung erstellen können.

  5. Arbeiten mit Verzeichnissen: Sie haben gelernt, wie touch mit Verzeichnissen interagiert, indem es deren Zeitstempel aktualisiert, während die Unabhängigkeit der darin enthaltenen Dateien gewahrt bleibt.

Der touch-Befehl ist ein grundlegendes Werkzeug in der Linux-Dateiverwaltung. Seine Fähigkeit, Dateien zu erstellen und Zeitstempel zu manipulieren, macht ihn für verschiedene Aufgaben wertvoll, von einfacher Dateiorganisation bis hin zu komplexeren Skripting- und Systemadministrationsaktivitäten.

Wenn Sie Ihre Linux-Reise fortsetzen, werden diese Fähigkeiten als Grundlage für fortgeschrittenere Dateivorgänge und Systemverwaltungstasks dienen.