Website-Suche

5 Möglichkeiten zum Leeren oder Löschen großer Dateiinhalte unter Linux


Gelegentlich möchten Sie beim Umgang mit Dateien in einem Linux-Terminal möglicherweise den Inhalt einer Datei löschen, ohne sie unbedingt mit einem Linux-Befehlszeileneditor zu öffnen. Wie kann dies erreicht werden?

In diesem Artikel werden wir mithilfe einiger nützlicher Befehle verschiedene Möglichkeiten zum Leeren von Dateiinhalten durchgehen.

Achtung: Bevor wir uns mit den verschiedenen Möglichkeiten befassen, beachten Sie bitte, dass es sich bei den zu leerenden Dateien nicht um wichtige Benutzer- oder Systemdateien handelt, da unter Linux alles eine Datei ist . Das Löschen des Inhalts einer kritischen System- oder Konfigurationsdatei könnte zu einem schwerwiegenden Anwendungs-/Systemfehler oder -ausfall führen.

Vor diesem Hintergrund finden Sie im Folgenden Möglichkeiten zum Löschen von Dateiinhalten über die Befehlszeile.

Wichtig: Für die Zwecke dieses Artikels haben wir in den folgenden Beispielen die Datei access.log verwendet.

1. Leeren Sie den Dateiinhalt durch Umleiten auf Null

Der einfachste Weg, den Inhalt einer Datei zu leeren oder auszublenden, ist die Shell-Umleitung von null (nicht vorhandenes Objekt) in die Datei wie folgt:

> access.log

2. Leeren Sie die Datei mit der Befehlsumleitung „true“.

Hier verwenden wir ein Symbol : ist ein in die Shell integrierter Befehl, der im Wesentlichen dem Befehl true entspricht und als No-Op (keine Operation) verwendet werden kann. .

Eine andere Methode besteht darin, die Ausgabe des integrierten Befehls : oder true wie folgt in die Datei umzuleiten:

: > access.log
OR 
true > access.log

3. Leeren Sie die Datei mit den Dienstprogrammen cat/cp/dd und /dev/null

Unter Linux wird das Gerät null grundsätzlich zum Verwerfen unerwünschter Ausgabeströme eines Prozesses oder als geeignete leere Datei für Eingabeströme verwendet. Dies geschieht normalerweise durch einen Umleitungsmechanismus.

Und die Gerätedatei /dev/null ist daher eine spezielle Datei, die alle an sie gesendeten Eingaben abschreibt (entfernt) oder deren Ausgabe mit der einer leeren Datei identisch ist.

Darüber hinaus können Sie den Inhalt einer Datei leeren, indem Sie die Ausgabe von /dev/null mit dem Befehl cat als Eingabe in diese Datei umleiten:

cat /dev/null > access.log

Als nächstes verwenden wir den Befehl cp, um den Inhalt einer Datei wie gezeigt zu leeren.

cp /dev/null access.log

Im folgenden dd-Befehl bedeutet if die Eingabedatei und of bezieht sich auf die Ausgabedatei.

dd if=/dev/null of=access.log

4. Leeren Sie die Datei mit dem echo-Befehl

Hier können Sie einen Echo-Befehl mit einem leeren String verwenden und diesen wie folgt in die Datei umleiten:

echo "" > access.log
OR
echo > access.log

Hinweis: Sie sollten bedenken, dass eine leere Zeichenfolge nicht dasselbe ist wie null. Eine Zeichenfolge ist bereits ein Objekt, auch wenn sie leer sein kann, während null lediglich die Nichtexistenz eines Objekts bedeutet.

Aus diesem Grund wird eine leere Zeile (leerer String) ausgegeben, wenn Sie den Befehl echo oben in die Datei umleiten und den Inhalt der Datei mit dem Befehl cat anzeigen.

Um eine Null-Ausgabe an die Datei zu senden, verwenden Sie das Flag -n, das echo anweist, die nachfolgende neue Zeile, die zu der im vorherigen Befehl erzeugten leeren Zeile führt, nicht auszugeben.

echo -n "" > access.log

5. Leeren Sie die Datei mit dem Befehl „truncate“.

Der Befehl truncate hilft dabei, die Größe einer Datei auf eine definierte Größe zu verkleinern oder zu erweitern.

Sie können es mit der Option -s verwenden, die die Dateigröße angibt. Um den Inhalt einer Datei zu leeren, verwenden Sie wie im nächsten Befehl eine Größe von 0 (Null):

truncate -s 0 access.log

Das war's fürs Erste. In diesem Artikel haben wir mehrere Methoden zum Löschen oder Entleeren von Dateiinhalten mithilfe einfacher Befehlszeilen-Dienstprogramme und Shell-Umleitungsmechanismen behandelt.

Dies sind wahrscheinlich nicht die einzigen verfügbaren praktischen Methoden, daher können Sie uns im Feedback-Bereich unten auch über alle anderen Methoden informieren, die in diesem Leitfaden nicht erwähnt werden.