Portál AbcLinuxu, 14. května 2024 22:45


Dotaz: Jak smazat soubory

13.4.2013 17:45 Marian
Jak smazat soubory
Přečteno: 250×
Odpovědět | Admin
Ahoj, jak můžu smazat celý obsah adresáře který obsahuje všechny soubory začínající tečkou?

Tohle nic nesmaže
rm -rf /folder/*
Tohle hází chyby
rm -rf /folder/.*

rm: cannot remove directory: `/folder/.'
rm: cannot remove directory: `/folder/..'
Díky za pomoc

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

vencour avatar 13.4.2013 17:50 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: Jak smazat soubory
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pro inspiraci ... rm -rf adresar-ke-smazani/.[a-zA-Z]*
Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
13.4.2013 17:57 MadCatX
Rozbalit Rozbalit vše Re: Jak smazat soubory
Odpovědět | | Sbalit | Link | Blokovat | Admin
Chyby, které dostanete, jsou OK, vzhledem k tomu, že ".." představuje "o úřoveň výš" a "." adresář samotný. Některé shelly jako Bash vám proto oznámí chybu, ale ostatní soubory začínající na tečku by se smazat měly.
13.4.2013 18:16 Marble | skóre: 27 | blog: marble
Rozbalit Rozbalit vše Re: Jak smazat soubory

No, moc OK to není, protože teoreticky by některá implementace rm mohla s radostí smazat i nadřazený adresář (jak je to v realitě nevím, ale mám za to, že nikde není chování v podobném případě všeobecně specifikováno).

V bashi je potřeba použít něco jako rm -r dir/.[^.]* dir/..[^.]*.

13.4.2013 18:26 pavel
Rozbalit Rozbalit vše Re: Jak smazat soubory
rm -rf .[^.] .??*

find -type f -name ".*" -maxdepth 1 -delete
14.4.2013 18:55 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Jak smazat soubory
Odpovědět | | Sbalit | Link | Blokovat | Admin
export GLOBIGNORE=".:.."
rm folder/.*
pokud folder obsahuje podadresáře tak rm -r

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.