Home  >  Article  >  Operation and Maintenance  >  6 ways to delete files in Linux (summary)

6 ways to delete files in Linux (summary)

ringa_lee
ringa_leeOriginal
2017-06-23 11:46:334581browse

First create 500,000 files:

test  for i in $(seq 1 500000)
for> do
for> echo test >>$i.txt
for> done

1.rm

test  time rm -f *
zsh: sure you want to delete all the files in /home/hungerr/test [yn]? y
zsh: argument list too long: rm
rm -f *  3.63s user 0.29s system 98% cpu 3.985 total

Due to too many files, rm does not work.

2.find

 test  time find ./ -type f -exec rm {} \;
find ./ -type f -exec rm {} \;  49.86s user 1032.13s system 41% cpu 43:19.17 total

About 43 minutes.

3.find with delete

 test  time find ./ -type f -delete       
find ./ -type f -delete  0.43s user 11.21s system 2% cpu 9:13.38 total

takes 9 minutes.

4.rsync
First create an empty folder blanktest

 ~  time rsync -a --delete blanktest/ test/
rsync -a --delete blanktest/ test/  0.59s user 7.86s system 51% cpu 16.418 total

16s, very good and powerful.

5.Python

import os
import time
stime=time.time()
for pathname,dirnames,filenames in os.walk('/home/username/test'):
     for filename in filenames:
         file=os.path.join(pathname,filename)
         os.remove(file)
 ftime=time.time()
 print ftime-stime
 ~  python test.py
494.272291183

It takes about 8 minutes.

6.Perl

 test  time perl -e &#39;for(<*>){((stat)[9]<(unlink))}&#39;
perl -e &#39;for(<*>){((stat)[9]<(unlink))}&#39;  1.28s user 7.23s system 50% cpu 16.784 total


The above is the detailed content of 6 ways to delete files in Linux (summary). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn