Android

So kürzen Sie (leere) Dateien unter Linux

Spiele der Steam-Bibliothek auf ein anderes Laufwerk verschieben – so gehts! | Tutorial

Spiele der Steam-Bibliothek auf ein anderes Laufwerk verschieben – so gehts! | Tutorial

Inhaltsverzeichnis:

Anonim

In einigen Situationen möchten Sie möglicherweise eine vorhandene Datei auf eine Länge von Null kürzen (leeren). In einfachen Worten bedeutet das Abschneiden einer Datei das Entfernen des Dateiinhalts, ohne die Datei zu löschen.

Das Abschneiden einer Datei ist viel schneller und einfacher als das Löschen, Neuerstellen und Festlegen der richtigen Berechtigungen und Eigentumsrechte. Wenn die Datei von einem Prozess geöffnet wird, kann das Entfernen der Datei zu Fehlfunktionen des Programms führen, das sie verwendet.

In diesem Tutorial wird erklärt, wie Sie Dateien in Linux-Systemen mithilfe der Shell-Umleitung und des Befehls truncate auf die Größe Null truncate .

Shell-Umleitung

Die einfachste und am häufigsten verwendete Methode zum Abschneiden von Dateien ist die Verwendung des Shell-Umleitungsoperators.

Das allgemeine Format zum Abschneiden von Dateien mithilfe der Umleitung lautet:

: > filename

Lassen Sie uns den Befehl aufschlüsseln:

  • Der Doppelpunkt : bedeutet true und erzeugt keine Ausgabe. Der Umleitungsoperator > leitet die Ausgabe des vorhergehenden Befehls in die angegebene Datei um. filename , die Datei, die Sie abschneiden möchten.

Wenn die Datei vorhanden ist, wird sie auf Null gekürzt. Andernfalls wird die Datei erstellt.

Anstelle von : kann auch ein anderer Befehl verwendet werden, der keine Ausgabe erzeugt.

Hier ist ein Beispiel für die Verwendung des Befehls cat zur Ausgabe des Inhalts des Geräts /dev/null , das nur ein Dateiendezeichen zurückgibt:

cat /dev/null > filename

Ein weiterer Befehl, der verwendet werden kann, ist echo . Die Option -n weist echo keine neue Zeile anzufügen:

echo -n > filename

Bei den meisten modernen Shells wie Bash oder Zsh können Sie den Befehl vor dem Umleitungssymbol weglassen und Folgendes verwenden:

> filename

Um eine Datei kürzen zu können, müssen Sie über Schreibberechtigungen für die Datei verfügen. Normalerweise würden Sie dafür sudo , aber die erhöhten Root-Rechte gelten nicht für die Umleitung. Hier ist ein Beispiel:

sudo: > /var/log/syslog

bash: /var/log/syslog: Permission denied

Es gibt verschiedene Lösungen, mit denen Sie mit sudo umleiten können. Die erste Option kann eine neue Shell mit sudo ausführen und einen Befehl in dieser Shell mit dem Flag -c ausführen:

sudo sh -c '> filename'

Eine andere Möglichkeit besteht darin, die Ausgabe an den Befehl tee sudo , die tee Berechtigungen mit sudo erhöhen und die leere Ausgabe in eine bestimmte Datei zu schreiben:

: | sudo tee filename

Befehl truncate

truncate ist ein Befehlszeilenprogramm, mit dem Sie die Größe einer Datei auf eine bestimmte Größe verkleinern oder vergrößern können.

Die allgemeine Syntax zum Abschneiden von Dateien auf die Größe Null mit dem Befehl truncate lautet wie folgt:

truncate -s 0 filename

Die Option -s 0 setzt die Dateigröße auf Null.

Zum Leeren des Nginx-Zugriffsprotokolls würden Sie beispielsweise Folgendes verwenden:

sudo truncate -s 0 /var/log/nginx/access.log

Leeren Sie alle Protokolldateien

Im Laufe der Zeit kann es vorkommen, dass Ihr Festplattenlaufwerk mit vielen großen Protokolldateien überfüllt ist, die viel Speicherplatz beanspruchen.

Mit dem folgenden Befehl werden Dateien mit der Endung ".log" im Verzeichnis " /var/log " gelöscht:

sudo truncate -s 0 /var/log/**/*.log

Eine bessere Option wäre, die Protokolldateien mit dem logrotate Tool zu drehen, zu komprimieren und zu entfernen.

Fazit

Verwenden Sie zum Abschneiden einer Datei unter Linux den Umleitungsoperator > gefolgt vom Dateinamen.

Terminal abschneiden