Maison >Opération et maintenance >exploitation et maintenance Linux >6 façons de supprimer des fichiers sous Linux (résumé)

6 façons de supprimer des fichiers sous Linux (résumé)

ringa_lee
ringa_leeoriginal
2017-06-23 11:46:334635parcourir

Créez d'abord 500 000 fichiers :

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

En raison d'un trop grand nombre de fichiers, rm ne fonctionne pas.

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

Environ 43 minutes.

3.find avec delete

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

prend 9 minutes.

4.rsync
Créez d'abord un dossier vide blanktest

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

16s, très bon et puissant.

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

Cela prend environ 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


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn