8

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

2 ответа2

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .