Heim > System-Tutorial > LINUX > So leeren Sie die Dateien schnell, ohne sie unter Linux und Unix zu löschen

So leeren Sie die Dateien schnell, ohne sie unter Linux und Unix zu löschen

Joseph Gordon-Levitt
Freigeben: 2025-03-19 10:32:09
Original
496 Leute haben es durchsucht

Heute lernen wir, wie Sie den Inhalt einer Datei aus der Befehlszeile löschen, ohne die Datei selbst unter Linux und Unix-ähnlichen Betriebssystemen zu löschen. Das Entleeren von Dateien in Linux kann nützlich sein, wenn Sie die Berechtigungen und das Eigentum der Datei aufbewahren möchten, aber alle Inhalte entfernen möchten.

Inhaltsverzeichnis

Gründe zum Löschen von Dateiinhalten

Bevor wir lernen, wie man eine Datei schnell leert, ohne sie zu löschen, lassen Sie uns verstehen, warum und wann dies nützlich ist.

Das Löschen des Inhalts einer Datei ohne Löschen der Datei selbst kann aus mehreren Gründen wichtig sein, die häufig auf Systemverwaltung, Protokollierung und Anwendungsmanagement zusammenhängen:

  1. Erhalten Sie die Dateiberechtigungen und das Eigentum : Löschen einer Datei und Erstellen einer neuen kann die Standardeinstellungen und Systemkonfigurationen des Benutzers ändern. Durch das Entleeren der Datei, ohne sie zu löschen, bleiben die ursprünglichen Berechtigungen und das Eigentum erhalten, was für Dateien wichtig ist, für die bestimmte Berechtigungen aus Sicherheitsgründen oder Betriebsfunktionen erforderlich sind.
  2. Symbolische Links beibehalten : Wenn die Datei über symbolische Links mit anderen Standorten im System verknüpft ist, würde das Löschen und Nachbau der Datei diese Links unterbrechen. Durch das Entleeren des Dateiinhalts wird der Inode und damit die Links intakt.
  3. Vermeiden Sie Störungen der Dienste oder Anwendungen : Einige Anwendungen oder Dienste erwarten möglicherweise, dass eine Protokolldatei oder eine Konfigurationsdatei immer an einem bestimmten Ort vorhanden ist. Das Entfernen der Datei kann auch vorübergehend Fehler oder Störungen verursachen. Durch das Löschen des Inhalts der Datei kann die Anwendung weiterhin reibungslos funktionieren, möglicherweise mit einer frischen Protokoll- oder Reset -Konfiguration.
  4. Probleme mit der Dateisperrung : In einigen Fällen werden Dateien durch Prozesse gesperrt, sodass es unmöglich ist, sie zu löschen, ohne den Prozess zu stoppen. Wenn Sie den Inhalt der Datei für einen Neuanfang löschen müssen (wie Protokollrotation ), aber den Prozess nicht stoppen möchten oder nicht, ist das Löschen des Inhalts eine praktikable Lösung.
  5. Effizienz in der Protokollverwaltung : Für Protokolldateien, die im Laufe der Zeit groß wachsen, ist es üblich, ihren Inhalt regelmäßig zu löschen (Protokolldrehung), um den Speicherplatz auf dem Speicherplatz freizugeben und gleichzeitig das System ohne Unterbrechung laufen zu lassen. Automatische Skripte können Protokolldateien regelmäßig löschen, ohne sie neu zu erstellen, um sicherzustellen, dass die Anmeldung von Diensten an diesen Dateien aufgrund fehlender Dateien nicht fehlschlägt.

Unabhängig vom Grund, wenn Sie jemals den Inhalt einer Datei löschen wollten, ohne ihn unter Linux zu löschen, finden Sie hier einige Möglichkeiten, dies zu tun.

7 Möglichkeiten, Dateien unter Linux aus der Befehlszeile zu leeren

In den folgenden 7 Methoden wird der Inhalt Ihrer Datei gelöscht, ohne die Datei selbst zu löschen.

1. Verwenden Sie> Umleitung :

Der> Operator unter Linux und Unix wird zur Umleitung verwendet. Bei Verwendung mit einem Dateinamen leitet es die Ausgabe eines Befehls in die Datei um. Wenn kein Befehl gegeben wird, leitet er "nichts" in die Datei um, wodurch der Inhalt gelöscht wird. Es ist eine einfache Methode, um Dateiinhalte unter Linux zu leeren und die Datei selbst intakt zu halten.

 > Datei.txt
Nach dem Login kopieren

Ersetzen Sie Datei.txt durch Ihre eigenen.

2. Verwenden Sie den Befehl Truncate :

Der Befehl TRUNCATE wurde speziell entwickelt, um die Größe einer Datei zu ändern.

Ausführen:

 TRUNCATE -S 0 Datei.txt
Nach dem Login kopieren

Indem Sie die Größe mit der Option -S 0 auf 0 Bytes einstellen, entfernen Sie alle Inhalte effektiv aus der Datei, ohne die Existenz der Datei oder ihre Metadaten wie Berechtigungen und Eigentum zu berühren.

3.. Verwenden Sie den Echo -Befehl mit Umleitung :

Der Befehl echo wird normalerweise verwendet, um eine Textzeile/Zeichenfolge anzuzeigen, die als Argument übergeben wird. In Kombination mit dem -n -Flag (das verhindert, dass das neue Zeilenzeichen hinzugefügt wird) und die Umleitung (>) in eine Datei, ersetzt es den Inhalt der Datei durch nichts, wodurch die Datei entleert wird. Diese Methode ist so einfach wie die direkte Umleitung, beinhaltet jedoch einen Befehl (Echo).

 echo -n> file.txt
Nach dem Login kopieren

4. Verwenden des CP -Befehls mit /dev /null :

Mit dem Befehl cp wird zum kopieren von Dateien oder Verzeichnissen verwendet. Durch das Kopieren /Dev /Null in eine Datei ersetzen Sie im Wesentlichen den Inhalt der Datei durch den Inhalt /Dev /NULL (der immer leer ist) und löscht damit die Datei.

 cp /dev /null Datei.txt
Nach dem Login kopieren

Diese Methode ist nützlich für Skripte und Programme, bei denen die Datei mit denselben Berechtigungen und dem gleichen Eigentum zugänglich bleibt.

5. Verwenden von SED -Befehl :

So löschen Sie alle Zeilen aus der Datei namens Datei.txt mit dem Befehl SED, aus:

 SED -id -Datei.txt
Nach dem Login kopieren

Hier ist, was jeder Teil des Befehls tut:

  • -I: Diese Option sagt SED, die Dateien vor Ort zu bearbeiten. Dies bedeutet, dass SED die angegebene Datei direkt ändert, anstatt nur den geänderten Text an die Konsole auszugeben.
  • D: Dies ist ein SED -Befehl, der für "Delete" steht. Es wird verwendet, um Zeilen aus der Eingabe zu löschen.
  • Datei.txt: Dies ist der Name der Datei, die Sie ändern möchten.

6. Verwenden von VIM -Editor :

Sie können einen großen Dateiinhalt mit VIM -Editor löschen.

Öffnen Sie die Datei mit VIM -Editor:

 vim file.txt
Nach dem Login kopieren

Drücken Sie die ESC -Taste und geben Sie Folgendes ein:

 : 1, $ d
Nach dem Login kopieren

Tippen: 1, $ D in Vim führt einen Befehl aus, um alle Zeilen in der gesamten Datei zu löschen. Hier ist eine Aufschlüsselung dessen, was jeder Teil des Befehls tut:

  • :: Dies gibt den Befehlszeilenmodus in Vim ein.
  • 1 : Dies gibt den Bereich an. In diesem Fall bedeutet 1, dass der Befehl aus der ersten Zeile der Datei startet.
  • , : Dies unterscheidet den Bereich. Das Komma wird verwendet, um einen Bereich vom Ausgangspunkt bis zum Endpunkt zu bezeichnen.
  • $ : Dies bedeutet die letzte Zeile der Datei.
  • D : Dies ist der Befehl zum Löschen.

Also: 1, $ D fordert Vim auf, alle Zeilen von der ersten Zeile zur letzten Zeile der Datei zu löschen. Nach der Ausführung dieses Befehls ist die Datei leer.

7. Verwenden des DD -Befehls :

Der DD-Befehl ist ein Datenkopierprogramm auf niedrigem Niveau, das Daten zwischen Dateien, Geräten oder Partitionen kopieren und konvertieren kann.

Durch das Kopieren von Daten von /dev /null in die Datei (von = Datei.txt) schreiben Sie effektiv Null -Bytes in die Datei und löschen ihren Inhalt. Es ist ein bisschen übertrieben für diese Aufgabe, aber nützlich für seine Vielseitigkeit.

 dd if =/dev/null von = file.txt
Nach dem Login kopieren

Cheatsheet

So leeren Sie die Dateien schnell, ohne sie unter Linux und Unix zu löschen

Abschluss

In diesem Tutorial haben wir fünf verschiedene Befehlszeilenmethoden besprochen, um den Inhalt einer Datei zu entleeren, ohne die Datei selbst unter Linux zu löschen. Mit diesen Befehlen können Sie die Berechtigungen, Eigentum und symbolischen Links der Datei beibehalten und gleichzeitig deren Inhalt zurücksetzen.

Unabhängig davon, ob Sie Protokolldateien verwalten, Konfigurationsdateien zurücksetzen oder einfach eine Datei für eine andere Verwendung löschen müssen, bieten diese Tools eine einfache und schnelle Möglichkeit, dies zu tun.

Das obige ist der detaillierte Inhalt vonSo leeren Sie die Dateien schnell, ohne sie unter Linux und Unix zu löschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage