cat /dev/null > file.txt
é um uso inútil do gato .
Basicamente cat /dev/null
simplesmente resulta em cat
sem nada. Sim funciona, mas é desaprovado por muitos porque resulta em invocar um processo externo que não é necessário.
É uma daquelas coisas que é comum simplesmente porque é comum.
Usar apenas > file.txt
funcionará na maioria dos shells, mas não é totalmente portátil. Se você quiser totalmente portátil, as seguintes alternativas são boas:
true > file.txt
: > file.txt
O :
e o true
não geram dados e são internos do shell (enquanto cat
é um utilitário externo), portanto, são mais leves e mais 'adequados'.
Atualização:
Como tylerl mencionou em seu comentário, há também a sintaxe >| file.txt
.
A maioria dos shells tem uma configuração que os impedirá de truncar um arquivo existente via >
. Você deve usar >|
. Isso é para evitar erros humanos quando você realmente quis acrescentar com >>
. Você pode ativar o comportamento com set -C
.
Então, com isso, acho que o método mais simples, mais adequado e portátil de truncar um arquivo seria:
:>| file.txt