Inh alt der angegebenen Datei leeren, ohne sie über die Befehlszeile zu löschen

Anonim

Wenn Sie an der Befehlszeile arbeiten und den Inh alt einer Datei schnell leeren müssen, können Sie dies tun, indem Sie ein Größer-als-Symbol und ein Leerzeichen vor den betreffenden Dateinamen setzen.

So löschen Sie den Inh alt einer Datei über die Befehlszeile

Der Trick, den Inh alt einer Datei zu entfernen, während diese Datei erh alten bleibt, sieht wie folgt aus:

> Dateiname

Dieser Ansatz funktioniert in bash und vielen anderen Shells, aber Sie können auch eine Variation von echo verwenden, wenn es in zsh oder einer anderen Shell nicht funktioniert. Verwenden Sie für zsh Folgendes, um den Inh alt einer Datei mithilfe von echo null und Umleitung aus der Befehlszeile zu löschen:

echo -n > Dateiname

Alle Inh alte in der Zieldatei werden sofort ohne Warnung entfernt, wobei sie leer bleibt, während die Existenz, der Dateiname und die Berechtigungen der Datei erh alten bleiben. Dies ist oft besser und schneller als das manuelle Löschen und erneute Erstellen einer Datei.

Ein gutes praktisches Beispiel ist das Löschen des Inh alts von Protokolldateien, zum Beispiel:

> ~/Library/Logs/updates.log

Oder denselben Effekt mit Echoumleitung erzielen:

echo -n > ~/Library/Logs/updates.log

Sie können diesen Befehl auch verwenden, um eine neue 0-Byte-Datei an der Position zu erstellen, ähnlich wie mit dem Touch-Befehl.

Dies ist besonders hilfreich, wenn Sie die Berechtigungen einer bestimmten Datei beibeh alten, aber den Inh alt überschreiben möchten, was häufig bei Protokolldateien und ähnlichen Elementen vorkommt.

Inh alt der angegebenen Datei leeren, ohne sie über die Befehlszeile zu löschen