GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So kürzen Sie (leere) Dateien in Linux

In einigen Situationen möchten Sie möglicherweise eine vorhandene Datei auf eine Länge von Null kürzen (leeren). Einfach ausgedrückt bedeutet das Abschneiden einer Datei, dass der Dateiinhalt entfernt wird, ohne die Datei zu löschen.

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

Dieses Tutorial erklärt, wie Sie Dateien in Linux-Systemen mithilfe der Shell-Umleitung und dem Befehl truncate auf Nullgröße kürzen Befehl.

Shell-Umleitung #

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

Das allgemeine Format zum Abschneiden von Dateien mit Umleitung ist:

: > 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 kürzen möchten.

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

Statt : kann auch einen anderen Befehl verwenden, der keine Ausgabe erzeugt.

Hier ist ein Beispiel für die Verwendung von cat Befehl, um den Inhalt von /dev/null auszugeben device, das nur ein Dateiendezeichen zurückgibt:

cat /dev/null > filename

Ein weiterer verwendbarer Befehl ist echo . Das -n Option teilt echo mit keinen Zeilenumbruch anhängen:

echo -n > filename

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

> filename

Um eine Datei kürzen zu können, benötigen Sie Schreibrechte für die Datei. Normalerweise würden Sie sudo verwenden dafür, 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 mehrere Lösungen, die eine Weiterleitung mit sudo ermöglichen . Die erste Option kann eine neue Shell mit sudo ausführen und einen Befehl innerhalb dieser Shell mit -c ausführen Flagge:

sudo sh -c '> filename'

Eine andere Möglichkeit besteht darin, die Ausgabe zum tee zu leiten Befehl, heben Sie das tee an Privilegien mit sudo , und schreiben Sie die leere Ausgabe in eine bestimmte Datei:

: | sudo tee filename

truncate Befehl #

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

Die allgemeine Syntax zum Abschneiden von Dateien auf Nullgröße mit truncate Befehl lautet wie folgt:

truncate -s 0 filename

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

Um beispielsweise das Nginx-Zugriffsprotokoll zu leeren, würden Sie Folgendes verwenden:

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

Alle Protokolldateien leeren #

Im Laufe der Zeit kann Ihr Laufwerk mit vielen großen Protokolldateien überladen werden, die viel Speicherplatz beanspruchen.

Der folgende Befehl leert Dateien mit der Endung „.log“ unter /var/log Verzeichnis:

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

Eine bessere Option wäre, die Protokolldateien mit logrotate zu rotieren, zu komprimieren und zu entfernen Werkzeug.

Schlussfolgerung #

Um eine Datei unter Linux zu kürzen, verwenden Sie den Umleitungsoperator > gefolgt vom Dateinamen.

Wenn Sie Fragen oder Anmerkungen haben, hinterlassen Sie bitte unten einen Kommentar.


Linux
  1. So zeigen oder ändern Sie die ACL in Linux-Dateien

  2. Wie benenne ich eine Datei unter Linux um?

  3. So verwenden Sie Netcat zum Übertragen von Dateien unter Linux

  4. Wie kann man eine Datei unter Linux leeren (abschneiden), die bereits existiert und irgendwie geschützt ist?

  5. Linux-Befehl zum Leeren aller Dateien eines Verzeichnisses

So benennen Sie eine Datei (en) in Linux um

So entpacken Sie die gz-Dateien unter Linux

So verknüpfen Sie eine Datei unter Linux per Symlink

So finden Sie Dateien basierend auf dem Zeitstempel in Linux

So löschen Sie Dateien, die in einer anderen Datei unter Linux aufgeführt sind

So komprimieren Sie eine Datei unter Linux