Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am new to Linux. There is something that is unclear to me.

What is the difference between echo "" > logfile and > logfile ?

When I run the first one, the logfile size doesn't become zero and same name file will be created with 1 byte size. For the second one, logfile size will become zero and same name file will be created with 0 byte size.

In what situations should the commands be used differently?

For me, I use it when I want to free up the log files.

share|improve this question
There is also : > logfile, which might be a little more portable than just > logfile as the latter can behave differently in some shells. – Patrick Jun 18 '12 at 22:55
great thanks. I will check it out too. – kitokid Jun 19 '12 at 3:17
up vote 12 down vote accepted

They do essentially the same thing. You're seeing a file size difference because echo includes a newline at the end, which takes up a byte. You can stop it with -n, so echo -n "" > logfile will result in a 0-byte file

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.