Normally you would truncate files with a command like
$ sudo rm file && touch file
The problem with this command is, that it deletes the file and creates a new one. With new standart permissions and ownership. But we want to keep them. How?
$cat /dev/null > file and the content of the file will be removed, not the file itself (file beeing the path to the file).
cat copies the standard input and returns it to the standard output. Now we just use
/dev/null as input and copy it into our file as output. Et voila, our file is empty.