Wie funktioniert der Linux-Befehl ":>"?

8

Ich benutze den Befehl ":> file.log", um file.log auf die Länge Null zu kürzen. Ich habe es aus dem Internet bekommen, aber ich verstehe nicht, wie es funktioniert. Ich denke, dass es einen Stream in eine Datei kopiert, aber ich kann es nicht schaffen, im Handbuch zu finden, welchen Stream es verwendet.

Olli
quelle

Antworten:

15

Der Befehl ist nicht :>nur so :. In Bash (und wahrscheinlich einigen anderen Shells) ist es ein eingebauter No-Op-Befehl. Die >Ausgabe wird in eine Datei umgeleitet (zuerst abgeschnitten). Da :keine Ausgabe erfolgt, ergibt das Nettoergebnis Ihrer Befehlszeile : > file.lognur eine file.logLänge von Null.

Von meiner lokalen bashManpage:

  : [arguments]
          No  effect;  the command does nothing beyond expanding arguments
          and performing any specified redirections.  A zero exit code  is
          returned.
Carl Norum
quelle
1

Sie können sogar das :Teil vergessen und einfach tippen>file.log

Es sollte das gleiche Ergebnis liefern.

Geeklab
quelle