How to Truncate a File to Zero Length in Linux

By | October 28, 2008

Sometimes you need to truncate a file to zero bytes. For example you have a big file that contains various logs and its size is too big to open it easily. Of course, you can revome this file and touch it again. But this way you’ll have to deal with permissions and file ownership. There is a simple command that will truncate the file to zero length without affecting any permissions. Here it is:

:>filename

If the file already exists, it will be truncated to zero bytes, else this command will create an empty file. This is great for truncating big log files, e,g. Apache logs.

5 thoughts on “How to Truncate a File to Zero Length in Linux

  1. Vlatko Ć urlan

    For those who find this syntax too cryptic here is one that is much more memorable and fluent:

    cat /dev/null > file_to_be_truncated

  2. admin Post author

    Another excellent solution, didn’t think about it :)

  3. g

    Awesome! I have no idea whats happening in the :> step, but this is much more elegant than the /dev/null approach also mentioned ;D

  4. Pingback: Truncate a file in linux « Willing wheels

Comments are closed.