5 Möglichkeiten zum Leeren oder Löschen eines großen Dateiinhalts 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 das erreicht werden?
In diesem Artikel werden wir verschiedene Möglichkeiten zum Leeren von Dateiinhalten mit Hilfe einiger nützlicher Befehle durchgehen.
Achtung: Bevor wir uns die verschiedenen Möglichkeiten ansehen, beachten Sie, dass Sie immer sicherstellen müssen, dass die Dateien, die Sie leeren, keine wichtigen Benutzer- oder Systemdateien sind, da unter Linux alles eine Datei ist. Das Löschen des Inhalts einer kritischen System- oder Konfigurationsdatei kann zu einem schwerwiegenden Anwendungs-/Systemfehler oder -ausfall führen.
Vor diesem Hintergrund finden Sie im Folgenden Möglichkeiten, den Dateiinhalt über die Befehlszeile zu löschen.
Wichtig: Für die Zwecke dieses Artikels haben wir die Datei verwendet, die in den folgenden Beispielen access.log.
1. Leeren Sie den Dateiinhalt durch Umleitung auf null
Der einfachste Weg, einen Dateiinhalt mit der Shell-Umleitung null (nicht vorhandenes Objekt) in die Datei zu leeren oder zu leeren, ist wie folgt:
# > access.log
2. Leere Datei mit der Befehlsumleitung "true"
Hier werden wir ein Symbol verwenden: ist ein in die Shell eingebauter 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. Leere Datei mit den Dienstprogrammen cat/cp/dd mit /dev/null
Unter Linux wird das Null-Gerät grundsätzlich verwendet, um unerwünschte Ausgabeströme eines Prozesses zu verwerfen, oder aber als geeignete leere Datei für Eingabeströme. Dies geschieht in der Regel durch einen Umleitungsmechanismus.
Und die /dev/null-Gerätedatei ist daher eine spezielle Datei, die jede Eingabe, die an sie gesendet wird, abschreibt (entfernt), oder ihre Ausgabe ist die gleiche wie die einer leeren Datei.
Zusätzlich können Sie den Inhalt einer Datei leeren, indem Sie die Ausgabe von /dev/null mit dem cat-Befehl als Eingabe auf 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 Befehl echo
Hier können Sie einen echo-Befehl mit einer leeren Zeichenfolge verwenden und ihn wie folgt in die Datei umleiten:
# echo "" > access.log
OR
echo > access.log
Hinweis: Sie sollten im Hinterkopf behalten, dass eine leere Zeichenkette nicht dasselbe ist wie null. Eine Zeichenkette ist bereits ein Objekt, so wie sie leer sein kann, während null einfach die Nichtexistenz eines Objekts bedeutet.
Aus diesem Grund wird beim Umleiten des obigen Befehls out of the echo in die Datei und beim Anzeigen des Dateiinhalts mit dem Befehl cat eine leere Zeile (leere Zeichenfolge) ausgegeben.
Um eine Nullausgabe an die Datei zu senden, verwenden Sie das Flag -n, das echo anweist, den nachfolgenden Zeilenumbruch, der zu der leeren Zeile führt, die im vorherigen Befehl erzeugt wurde, nicht auszugeben.
# echo -n "" > access.log
5. Leeren Sie die Datei mit dem Befehl truncate
Mit dem Befehl truncate können Sie die Größe einer Datei auf eine definierte Größe verkleinern oder erweitern.
Sie können es mit der Option -s verwenden, die die Dateigröße angibt. Um den Inhalt einer Datei zu leeren, verwenden Sie eine Größe von 0 (Null) wie im nächsten Befehl:
# truncate -s 0 access.log
Das war's fürs Erste, in diesem Artikel haben wir mehrere Methoden zum Löschen oder Leeren von Dateiinhalten mit einfachen Befehlszeilenprogrammen und Shell-Umleitungsmechanismen behandelt.
Dies sind wahrscheinlich nicht die einzigen verfügbaren praktischen Möglichkeiten, dies zu tun, daher können Sie uns auch über den Feedback-Abschnitt unten über andere Methoden informieren, die in diesem Leitfaden nicht erwähnt werden.







