Title: How To Empty A Large File In Linux Witout Deleting Shell Command Delete
Description: how to empty a large file in linux witout deleting shell command delete Linux
Tags: how, to, empty, a, large, file, in, linux, witout, deleting, shell, command, delete
Info: This Post Has Been Viewed 17777 Times SinceSat Jan 20, 2007 6:28 pm Author unix With 10 Replies #732

How To Empty A Large File In Linux Witout Deleting Shell Command Delete

Linux General Good Housekeeping

Often when i login into my shell, i get this message:


     Code:
[root@host file]#
You have new mail in /var/spool/mail/root


then to find out how big the size of the file is i send this command:


     Code:
[root@host file]#
total 1276
drwxrwxr-x 2 root mail 4096 Jan 20 14:59 .
drwxr-xr-x 14 root root 4096 Nov 21 13:15 ..
-rw------- 1 root root 1284052 Jan 20 14:59 root


ok, one meg is not that bad, but lets say i wanted to empty the file, not delete it, so to do that, the process of reducing an existing file to a file with the same name that is 0 bytes large is called "truncating."

For creating a new empty file, the same effect is obtained with the touch command. On an existing file, touch will only update the timestamp. See the Info pages on touch for more details.

so to empty my root mail file, i would send this command:

     Code:

tail


To "almost" empty a file, use the tail command. Suppose my error.log file becomes rather long because im gettin alot of errors on my web pages. now to remove all but the last 5 lines i can send this command:

first i want to see how large my file is, from this command you can see its 338384078 bytes


     Code:
[root@ log]# ls -la
total 330792
drwxr-xr-x 2 wallpaperama 4096 Dec 23 13:48 .
drwxr-xr-x 14 wallpaperama 4096 Feb 27 21:49 ..
-rw-r--r-- 1 wallpaperama 338384078 Mar 2 11:53 error.log


Now remove all the lines except the last 5


     Code:
tail -5 error.log > error.log


now i resend the list command and now my error.log file is only 439 bytes

     Code:
[root@ log]# ls -la
total 12
drwxr-xr-x 2 wallpaperama 4096 Dec 23 13:48 .
drwxr-xr-x 14 wallpaperama 4096 Feb 27 21:49 ..
-rw-r--r-- 1 wallpaperama 439 Mar 2 11:55 error.log
Comments (10)
View Top Comments
Leave Your Comments...
#1
pankaj:
4 years ago
#1425
pankaj Tue Apr 10, 2007 2:43 am
plse give me more momand

#2
eddie:
4 years ago
#25940
eddie Sun Oct 28, 2007 10:53 am
timeless classiscs in the clst
#3
ovizii:
3 years ago
#44529
ovizii Fri Mar 07, 2008 2:23 am
that almost worked for me, if i do cat myfile i only see the alst 5 lines with the above example but the file size did not change huh? any ideas?
#4
Rob:
3 years ago
#66234
Rob Wed Aug 13, 2008 6:02 am
dude! thank god for i-nodes eh?
#5
willie:
2 years ago
#88591
willie Fri Jan 02, 2009 10:47 pm
thank you for showing me how to remove last lines linux tail wallpaperama
#6
indrek:
2 years ago
#115469
indrek Sun Sep 13, 2009 11:56 am
you can also try this:
echo "" >| ./yourfile
#7
genner:
2 years ago
#117409
genner Thu Oct 08, 2009 4:37 am
goood it was so util for me. is what i was looking for thanks

dsldatasolutions.net
#8
vatbier:
1 year ago
#134504
vatbier Mon May 31, 2010 7:47 am
NO !
on a CentOS 5 the command
tail -1000 pixall > pixall
makes the file totally empty.
#9
Moon:
1 year ago
#141727
Moon Wed Aug 11, 2010 7:50 pm
thanks alot ...it realy realy helps . I manage to clear out all my log ...and redeem back the space
#10
hammudi:
7 months ago
#155164
hammudi Fri Apr 08, 2011 6:30 am
solve my problem. thanks for share...
Leave Your Comments...
Share
| More