Heim  >  Artikel  >  System-Tutorial  >  Skill-Paket! 5 Möglichkeiten, den Inhalt großer Dateien unter Linux zu löschen

Skill-Paket! 5 Möglichkeiten, den Inhalt großer Dateien unter Linux zu löschen

王林
王林nach vorne
2024-02-11 15:30:34830Durchsuche

Bei der Verarbeitung von Dateien unter dem Linux-Terminal möchten wir manchmal den Inhalt der Dateien direkt löschen, ohne einen Linux-Befehlszeileneditor zum Öffnen dieser Dateien zu verwenden. Wie können wir dieses Ziel erreichen? In diesem Artikel stellen wir verschiedene Methoden zum Löschen des Inhalts von Dateien mithilfe einiger praktischer Befehle vor.

Hinweis: Da in Linux alles eine Datei ist, müssen Sie immer darauf achten, dass es sich bei den Dateien, die Sie löschen möchten, nicht um wichtige Benutzerdateien oder Systemdateien handelt. Das Löschen wichtiger Systemdateien oder Konfigurationsdateien kann zu schwerwiegenden Anwendungsfehlern oder Systemfehlern führen.

Tipp: Im folgenden Beispiel verwenden wir eine Datei namens access.log als Beispiel.

1. Dateiinhalte löschen, indem Sie auf Null umleiten

Der einfachste Weg, eine Datei zu löschen oder leer zu machen, besteht darin, null (nicht vorhandene Dinge) über die Shell wie folgt in die Datei umzuleiten:

# > access.log
技能包!Linux 下清空或删除大文件内容的 5 种方法

2. Verwenden Sie die Befehlsumleitung „true“, um Dateien zu löschen

Im Folgenden verwenden wir das Symbol :, das ein integrierter Befehl der Shell ist und dem echten Befehl entspricht. Er kann als No-Op verwendet werden (dh keine Operation ausführen). Eine andere Möglichkeit, eine Datei zu löschen, besteht darin, die Ausgabe des integrierten Befehls : oder true wie folgt in eine Datei umzuleiten:

# : > access.log

# true > access.log
技能包!Linux 下清空或删除大文件内容的 5 种方法

3. Verwenden Sie das Dienstprogramm cat/cp/dd und das Gerät /dev/null, um Dateien zu löschen

Unter Linux werden Nullgeräte grundsätzlich verwendet, um Ausgabeströme zu verwerfen, die von einem Prozess nicht mehr benötigt werden, oder leere Dateien, die als Eingabeströme dienen. Dies kann normalerweise mithilfe des Umleitungsmechanismus erreicht werden, also der Gerätedatei /dev/null eine spezielle Datei, die alle an sie gesendeten Eingaben löscht und deren Ausgabe als leere Datei behandelt werden kann. Darüber hinaus können Sie die Datei löschen, indem Sie den Befehl cat verwenden, um den Inhalt von /dev/null anzuzeigen und die Ausgabe dann in eine Datei umzuleiten.

# cat /dev/null > access.log
技能包!Linux 下清空或删除大文件内容的 5 种方法

Als nächstes verwenden wir den Befehl cp, um den Inhalt von /dev/null in eine Datei zu kopieren, um die Datei zu löschen, wie unten gezeigt:

# cp /dev/null access.log

技能包!Linux 下清空或删除大文件内容的 5 种方法
Im folgenden Befehl steht if für die Eingabedatei und of für die Ausgabedatei.

# dd if=/dev/null of=access.log
技能包!Linux 下清空或删除大文件内容的 5 种方法

4. Verwenden Sie den Echo-Befehl, um die Datei zu löschen

Hier können Sie den Echo-Befehl verwenden, um den Inhalt der leeren Zeichenfolge wie folgt in eine Datei umzuleiten:

# echo "" > access.log
或者
# echo > access.log

技能包!Linux 下清空或删除大文件内容的 5 种方法
Hinweis: Sie sollten bedenken, dass eine leere Zeichenfolge nicht gleich null ist. Eine Zeichenfolge gibt an, dass es sich um eine bestimmte Sache handelt, ihr Inhalt kann jedoch leer sein, aber null bedeutet, dass etwas nicht existiert. Aus diesem Grund sehen Sie eine leere Zeile (d. h. eine leere Zeichenfolge), wenn Sie den Befehl cat verwenden, um den Inhalt der Datei anzuzeigen, nachdem Sie die Ausgabe des Befehls echo als Eingabe in eine Datei umgeleitet haben.
Um null als Ausgabe in eine Datei zu schreiben, sollten Sie die Option -n verwenden, die Echo anweist, die abschließende neue Zeile nicht auszugeben, wie es der obige Befehl tut.

# echo -n "" > access.log
技能包!Linux 下清空或删除大文件内容的 5 种方法

5. Verwenden Sie den Befehl „truncate“, um den Dateiinhalt zu löschen

truncate kann verwendet werden, um eine Datei auf eine bestimmte Größe zu verkleinern oder zu erweitern.
Sie können dies mit dem Parameter -s verwenden, um die Dateigröße anzugeben. Um den Inhalt der Datei zu löschen, setzen Sie die Dateigröße mit dem folgenden Befehl auf 0:

# truncate -s 0 access.log
技能包!Linux 下清空或删除大文件内容的 5 种方法

Das ist alles, was ich vorstellen möchte. In diesem Artikel haben wir verschiedene Möglichkeiten beschrieben, Dateiinhalte mithilfe einiger einfacher Befehlszeilentools und Shell-Umleitungsmechanismen zu löschen oder zu leeren.

Das obige ist der detaillierte Inhalt vonSkill-Paket! 5 Möglichkeiten, den Inhalt großer Dateien unter Linux zu löschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lxlinux.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen