Как работает команда linux «:>»?

8

Я использую команду ":> file.log", чтобы обрезать file.log до нулевой длины. Я получил это из Интернета, но я не понимаю, как это работает. Я думаю, что он копирует некоторый поток в файл, но я не могу найти в руководстве, какой поток он использует.

Олли
источник

Ответы:

15

Команда не :>просто :. В bash (и, возможно, в некоторых других оболочках) это встроенная команда no-op. >Перенаправляет вывод в файл (усечение его первым). Поскольку :не имеет вывода, чистый результат вашей командной строки : > file.logпросто file.logравен нулю.

С моей местной bashстраницы руководства:

  : [arguments]
          No  effect;  the command does nothing beyond expanding arguments
          and performing any specified redirections.  A zero exit code  is
          returned.
Карл Норум
источник
1

Вы можете даже забыть :часть и просто набрать>file.log

Это должно дать тот же результат.

Geeklab
источник