/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
slette 35000 filer fra en mappe
Fra : michael


Dato : 12-10-03 20:22

fik lige kigget i min anti virus mappe og der var 35000+ virus filer som lå
i karentæne :)

Men.. Hvis jeg blot kører 'rm *'' får jeg

bash: /bin/rm: Argument list too long

Hvad kan man så gøre?

Mvh
Michael



 
 
Henrik Farre (12-10-2003)
Kommentar
Fra : Henrik Farre


Dato : 12-10-03 20:39

Den Sun, 12 Oct 2003 21:22:04 +0200. skrev michael:

> fik lige kigget i min anti virus mappe og der var 35000+ virus filer som lå
> i karentæne :)
>
> Men.. Hvis jeg blot kører 'rm *'' får jeg
>
> bash: /bin/rm: Argument list too long
>
> Hvad kan man så gøre?

bruge find og -exec?

--
Mvh. / Kind regards
Henrik Farre

http://www.cs.auc.dk/~enrique


Kent Friis (12-10-2003)
Kommentar
Fra : Kent Friis


Dato : 12-10-03 20:41

Den Sun, 12 Oct 2003 21:22:04 +0200 skrev michael:
>fik lige kigget i min anti virus mappe og der var 35000+ virus filer som lå
>i karentæne :)
>
>Men.. Hvis jeg blot kører 'rm *'' får jeg
>
>bash: /bin/rm: Argument list too long
>
>Hvad kan man så gøre?

ls | xargs rm

(Check lige at ls ikke giver . og .. med i output - godt nok tager rm
ikke directories med som default, men for en sikkerhedsskyld).

Mvh
Kent
--
"Intelligence is the ability to avoid doing work, yet get the work done"
- Linus Torvalds

Jimmy (12-10-2003)
Kommentar
Fra : Jimmy


Dato : 12-10-03 20:44


"Kent Friis" <leeloo@phreaker.net> wrote in message
news:bmcaor$9v3$1@sunsite.dk...
> Den Sun, 12 Oct 2003 21:22:04 +0200 skrev michael:
> >fik lige kigget i min anti virus mappe og der var 35000+ virus filer som

> >i karentæne :)
> >
> >Men.. Hvis jeg blot kører 'rm *'' får jeg
> >
> >bash: /bin/rm: Argument list too long
> >
> >Hvad kan man så gøre?
>
> ls | xargs rm
>
> (Check lige at ls ikke giver . og .. med i output - godt nok tager rm
> ikke directories med som default, men for en sikkerhedsskyld).


Den du gav mig for et års tid siden var:

find . -maxdepth 1 -name "url*" -print0 | xargs -0 rm


Mvh
Jimmy



Klaus Ellegaard (12-10-2003)
Kommentar
Fra : Klaus Ellegaard


Dato : 12-10-03 20:48

leeloo@phreaker.net (Kent Friis) writes:

>>bash: /bin/rm: Argument list too long
>>
>>Hvad kan man så gøre?

>ls | xargs rm

katie/p $ touch a b c "hello there" q r s
katie/p $ ls | xargs rm
hello: No such file or directory
there: No such file or directory

Men bevares - den fik da slettet de andre 6 filer.

Mvh.
   Klaus.

Kent Friis (12-10-2003)
Kommentar
Fra : Kent Friis


Dato : 12-10-03 22:10

Den Sun, 12 Oct 2003 19:47:56 +0000 (UTC) skrev Klaus Ellegaard:
>leeloo@phreaker.net (Kent Friis) writes:
>
>>>bash: /bin/rm: Argument list too long
>>>
>>>Hvad kan man så gøre?
>
>>ls | xargs rm
>
>katie/p $ touch a b c "hello there" q r s
>katie/p $ ls | xargs rm
>hello: No such file or directory
>there: No such file or directory
>
>Men bevares - den fik da slettet de andre 6 filer.

Så kig på Jimmy's indlæg.

(ls mangler -print0)

Mvh
Kent
--
Demokrati er lige som den 29. februar - begge dele forekommer
en gang hver fjerde år.

Lars Kongshøj (12-10-2003)
Kommentar
Fra : Lars Kongshøj


Dato : 12-10-03 22:23

Kent Friis wrote:
> (ls mangler -print0)

Hvilken ls har den option?

--
Lars Kongshøj

Klaus Ellegaard (12-10-2003)
Kommentar
Fra : Klaus Ellegaard


Dato : 12-10-03 22:33

Lars =?iso-8859-1?Q?Kongsh=F8j?= <lars_kongshoj@hotmail.com> writes:

>> (ls mangler -print0)

>Hvilken ls har den option?

Min har i hvert fald ikke.

Det er det evindelige problem med forskellige Unix-versioner. Det
er klart bedst (især for én selv) at holde sig til de generelle.
Så bliver man ikke ked, når man sidder med en fremmed kværn, der
er gået alvorligt i udu, og man har lovet at kigge på den.

Mvh.
   Klaus.

Kent Friis (13-10-2003)
Kommentar
Fra : Kent Friis


Dato : 13-10-03 16:49

Den Sun, 12 Oct 2003 23:23:24 +0200 skrev Lars Kongshøj:
>Kent Friis wrote:
>> (ls mangler -print0)
>
>Hvilken ls har den option?

Ikke nogen. Det er derfor den mangler.

Mvh
Kent
--
A computer without Windows is like a chocolate cake without mustard.

Martin Moller Peders~ (13-10-2003)
Kommentar
Fra : Martin Moller Peders~


Dato : 13-10-03 08:17

In <bmcaor$9v3$1@sunsite.dk> leeloo@phreaker.net (Kent Friis) writes:

>Den Sun, 12 Oct 2003 21:22:04 +0200 skrev michael:
>>fik lige kigget i min anti virus mappe og der var 35000+ virus filer som lå
>>i karentæne :)
>>
>>Men.. Hvis jeg blot kører 'rm *'' får jeg
>>
>>bash: /bin/rm: Argument list too long
>>
>>Hvad kan man så gøre?

>ls | xargs rm

>(Check lige at ls ikke giver . og .. med i output - godt nok tager rm
>ikke directories med som default, men for en sikkerhedsskyld).

Og hvis der er mellemrum i nogle filnavne gaar det ogsaa galt.

/Martin

Klaus Ellegaard (12-10-2003)
Kommentar
Fra : Klaus Ellegaard


Dato : 12-10-03 20:46

"michael" <maskinen2000@hotmail.com> writes:

>fik lige kigget i min anti virus mappe og der var 35000+ virus filer som lå
>i karentæne :)

>Men.. Hvis jeg blot kører 'rm *'' får jeg

>bash: /bin/rm: Argument list too long

Tre muligheder:

1) cd ..
ls -ld dirnavn
rm -r dirnavn
mkdir dirnavn
chmod (hvad ls nu sagde) dirnavn

2) rm a*
rm b*
..
rm *

(Ville nok være nemmere at køre som et lille script)

3) find . -type f -exec rm \{\} \;


Den første er klart den pæneste. Den anden er den mindst farlige:
1'eren og 3'eren kræver, at der ikke er subdirectories hvor filerne
skal slettes. Subdirectories vil overleve en "rm *", men de overlever
ikke "rm -r", og "find" vil finde filerne i subdirectories også.

3'eren vil i øvrigt køre 35.000 rm-processer. Det er ikke særlig
flinkt.

Mvh.
   Klaus.

Klaus Alexander Seis~ (12-10-2003)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 12-10-03 22:05

Klaus Ellegaard skrev:

> Tre muligheder:
>
>    :
>
> 3) find . -type f -exec rm \{\} \;

Med GNU find og xargs:

3a) find . -type f -print0 | xargs -r0 rm -f


// Klaus

--
><>    unselfish actions pay back better

Hans Joergensen (12-10-2003)
Kommentar
Fra : Hans Joergensen


Dato : 12-10-03 22:45

Klaus Alexander Seistrup wrote:
> 3a) find . -type f -print0 | xargs -r0 rm -f

Hvad er der galt med find . -type f -exec rm {} \; ?

// Hans
--
Fantastiske pandekager: http://www.ph33r.dk/pancakes.shtml
UNIX Admin søger arbejde, http://nathue.dk/?page=cv

Kim Hansen (12-10-2003)
Kommentar
Fra : Kim Hansen


Dato : 12-10-03 22:54

Hans Joergensen <haj@enterprise-server.dk> writes:

> Klaus Alexander Seistrup wrote:
> > 3a) find . -type f -print0 | xargs -r0 rm -f
>
> Hvad er der galt med find . -type f -exec rm {} \; ?

Den bruger mange flere ressourcer, -exec starter en proces for hver
fil mens xargs sletter mange filer i hver proces.

--
Kim Hansen | |\ _,,,---,,_ | Det er ikke
Dalslandsgade 8, A708 | /,`.-´` -. ;:-. | Jeopardy.
2300 København S | |,4- ) )-,_. ,\ ( `'-' | Svar _efter_
Tlf: 32 88 60 86 | '---''(_/--' `-'\_) | spørgsmålet.

Hans Joergensen (12-10-2003)
Kommentar
Fra : Hans Joergensen


Dato : 12-10-03 22:55

Kim Hansen wrote:
> Den bruger mange flere ressourcer, -exec starter en proces for hver
> fil mens xargs sletter mange filer i hver proces.

Ah ja .. du siger noget ...

// Hans
--
http://www.dkfritidmotorcykel.dk/Hans_Joergensen

Kim Hansen (12-10-2003)
Kommentar
Fra : Kim Hansen


Dato : 12-10-03 22:37

Klaus Ellegaard <klausellegaard@msn.com> writes:

> "michael" <maskinen2000@hotmail.com> writes:
>
> >fik lige kigget i min anti virus mappe og der var 35000+ virus filer som lå
> >i karentæne :)
>
> 1) cd ..
> ls -ld dirnavn
> rm -r dirnavn
> mkdir dirnavn
> chmod (hvad ls nu sagde) dirnavn

Denne metode er også bedst fordi den som den eneste af de viste
frigiver den plads som mappen optager på disken. Det er normalt ikke
noget problem men med 35k filer er det en del plads.

--
Kim Hansen | |\ _,,,---,,_ | Det er ikke
Dalslandsgade 8, A708 | /,`.-´` -. ;:-. | Jeopardy.
2300 København S | |,4- ) )-,_. ,\ ( `'-' | Svar _efter_
Tlf: 32 88 60 86 | '---''(_/--' `-'\_) | spørgsmålet.

MartinAJ (13-10-2003)
Kommentar
Fra : MartinAJ


Dato : 13-10-03 14:32

Kim Hansen wrote:
> Klaus Ellegaard <klausellegaard@msn.com> writes:
>
>
>>"michael" <maskinen2000@hotmail.com> writes:
>>
>>
>>>fik lige kigget i min anti virus mappe og der var 35000+ virus filer som lå
>>>i karentæne :)
>>
>>1) cd ..
>> ls -ld dirnavn
>> rm -r dirnavn
>> mkdir dirnavn
>> chmod (hvad ls nu sagde) dirnavn
>
>
> Denne metode er også bedst fordi den som den eneste af de viste
> frigiver den plads som mappen optager på disken. Det er normalt ikke
> noget problem men med 35k filer er det en del plads.
>

Hvorfor er det den eneste ud af de tre metoder der frigiver plads?

--Martin


Klaus Ellegaard (13-10-2003)
Kommentar
Fra : Klaus Ellegaard


Dato : 13-10-03 14:33

MartinAJ <martin@[sletigen]jarl.dk> writes:

>> Denne metode er også bedst fordi den som den eneste af de viste
>> frigiver den plads som mappen optager på disken. Det er normalt ikke
>> noget problem men med 35k filer er det en del plads.
>>

>Hvorfor er det den eneste ud af de tre metoder der frigiver plads?

Plads til *mappen*.

Filernes plads frigives uanset metode - men selve mappen fylder et
antal inoder også (afhængig af den gren der ligger under mappen).
De frigives kun, når selve mappen slettes.

Mvh.
   Klaus.

Christian Laursen (13-10-2003)
Kommentar
Fra : Christian Laursen


Dato : 13-10-03 14:43

Klaus Ellegaard <klausellegaard@msn.com> writes:

> MartinAJ <martin@[sletigen]jarl.dk> writes:
>
> >Hvorfor er det den eneste ud af de tre metoder der frigiver plads?
>
> Plads til *mappen*.
>
> Filernes plads frigives uanset metode - men selve mappen fylder et
> antal inoder også (afhængig af den gren der ligger under mappen).
> De frigives kun, når selve mappen slettes.

Det afhænger af det underliggende filsystem.

Men en hurtig test viser, at det ovenstående er gældende for både ext2
og UFS2.

--
Med venlig hilsen
Christian Laursen

Kim Hansen (13-10-2003)
Kommentar
Fra : Kim Hansen


Dato : 13-10-03 14:58

Christian Laursen <xi@borderworlds.dk> writes:

> Klaus Ellegaard <klausellegaard@msn.com> writes:
>
> > Filernes plads frigives uanset metode - men selve mappen fylder et
> > antal inoder også (afhængig af den gren der ligger under mappen).
> > De frigives kun, når selve mappen slettes.
>
> Det afhænger af det underliggende filsystem.
>
> Men en hurtig test viser, at det ovenstående er gældende for både ext2
> og UFS2.

Er der nogen der kender et filsystem hvor den slags plads kan frigives
uden at man skal slette mappen?

--
Kim Hansen | |\ _,,,---,,_ | Det er ikke
Dalslandsgade 8, A708 | /,`.-´` -. ;:-. | Jeopardy.
2300 København S | |,4- ) )-,_. ,\ ( `'-' | Svar _efter_
Tlf: 32 88 60 86 | '---''(_/--' `-'\_) | spørgsmålet.

Klaus Ellegaard (13-10-2003)
Kommentar
Fra : Klaus Ellegaard


Dato : 13-10-03 15:11

Kim Hansen <k-spam2003@oek.dk> writes:

>> Men en hurtig test viser, at det ovenstående er gældende for både ext2
>> og UFS2.

>Er der nogen der kender et filsystem hvor den slags plads kan frigives
>uden at man skal slette mappen?

Ikke umiddelbart - men det er jo forsvindende lidt plads, der skal
til. Hvis man har millioner af mapper med tusinder af filer i, er
det dog et reelt problem.

Mvh.
   Klaus.

Kim Hansen (13-10-2003)
Kommentar
Fra : Kim Hansen


Dato : 13-10-03 15:45

Klaus Ellegaard <klausellegaard@msn.com> writes:

> Kim Hansen <k-spam2003@oek.dk> writes:
>
> >Er der nogen der kender et filsystem hvor den slags plads kan frigives
> >uden at man skal slette mappen?
>
> Ikke umiddelbart - men det er jo forsvindende lidt plads, der skal
> til. Hvis man har millioner af mapper med tusinder af filer i, er
> det dog et reelt problem.

Jeg har lige testet det,
efter 35000 filer navngivet som 1 til 35000 fylder mappen 512kB
efter 3500 filer med navne på omkring 100 tegn fylder mappen 396kB
Dvs. at pladsforbruget er afhængigt af hvad filerne bliver kaldt.

Men det er stadig ikke så meget sammenlignet med at 35000 små filer
fylder 140000kB, så det ville overraske mig hvis der fandtes et
filsystem der havde besværet sig med at frigive den plads automatisk.

--
Kim Hansen | |\ _,,,---,,_ | Det er ikke
Dalslandsgade 8, A708 | /,`.-´` -. ;:-. | Jeopardy.
2300 København S | |,4- ) )-,_. ,\ ( `'-' | Svar _efter_
Tlf: 32 88 60 86 | '---''(_/--' `-'\_) | spørgsmålet.

Christian Laursen (14-10-2003)
Kommentar
Fra : Christian Laursen


Dato : 14-10-03 00:31

Kim Hansen <k-spam2003@oek.dk> writes:

> Christian Laursen <xi@borderworlds.dk> writes:
>
> > Klaus Ellegaard <klausellegaard@msn.com> writes:
> >
> > > Filernes plads frigives uanset metode - men selve mappen fylder et
> > > antal inoder også (afhængig af den gren der ligger under mappen).
> > > De frigives kun, når selve mappen slettes.
>
> Er der nogen der kender et filsystem hvor den slags plads kan frigives
> uden at man skal slette mappen?

Reiserfs ser ud til at frigive pladsen, når blot filerne slettes.

--
Med venlig hilsen
Christian Laursen

Søg
Reklame
Statistik
Spørgsmål : 177504
Tips : 31968
Nyheder : 719565
Indlæg : 6408549
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste