Como o comando linux ":>" funciona?

8

Eu uso o comando ":> file.log" para truncar file.log com comprimento zero. Eu peguei na internet, mas não entendo como funciona. Eu acho que ele copia algum fluxo para um arquivo, mas não consigo encontrar no manual qual fluxo ele usa.

Olli
fonte

Respostas:

15

O comando não :>é apenas :. No bash (e provavelmente em alguns outros shells), é um comando no-op incorporado. O >redireciona a saída para um arquivo (truncando-o primeiro). Desde :não tem saída, o resultado líquido da sua linha de comando : > file.logsó faz file.logcomprimento zero.

Na minha bashpágina de manual local :

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

Você pode até esquecer a :peça e digitar>file.log

Deve produzir o mesmo resultado.

Geeklab
fonte