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


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



How To Empty A Large File In Linux Witout Deleting Shell Command Delete
Post Description:
Post Tags: how, to, empty, a, large, file, in, linux, witout, deleting, shell, command, delete, linux, linux support, linux questions, linux server, programming, assistance, questions, answers, tech, it, unix
This Post Has Been Viewed 7884 Times Since Sat Jan 20, 2007 6:28 pm Posted By unix with 4 replies
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

Leave Your Comments
* Your Name

  * Your Email Address (Will Not Be Published)

* Your Comments


Add Picture To Comments
Yes No             upload
Receive Replies on my Comments
(An email will be sent to you when someone replies to your comments)

     




Comments and replies About How To Empty A Large File In Linux Witout Deleting Shell Command Delete






:: 1 :: #1425 - Reply By pankaj dhore On Tue Apr 10, 2007 2:43 am
plse give me more momand

:: 2 :: #25940 - Reply By eddie On Sun Oct 28, 2007 10:53 am
timeless classiscs in the clst
:: 3 :: #44529 - Reply By ovizii On 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 :: #66234 - Reply By Rob On Wed Aug 13, 2008 6:02 am
dude! thank god for i-nodes eh?