Najbližšie som sa dostal
# rm /path/to/directory/*.*
ale to nefunguje pre súbory, ktoré nemajú príponu...
Linux nepoužíva rozšírenia. Je na tvorcovi súboru, aby sa rozhodol, či chce, aby mal názov príponu. Linux sa pozerá na 1. bajt, aby zistil, o aký druh súboru ide.
Ak chcete odstrániť všetko v adresári, použite:
rm /path/to/directory/*
Môžete použiť možnosť -r
, napríklad:
rm -r /cesta/do/adresára/*
aby ste odstránili aj všetky podadresáre (spolu s celým ich obsahom) vo vnútri adresára, ktorého obsah odstraňujete. V opačnom prípade sa zobrazí chyba s informáciou, že sa adresár neodstráni.
Ak chcete odstrániť iba súbory v adresári /path/to/directory, môžete urobiť
find /path/to/directory -type f -print0| xargs -0 rm
alebo
find /path/to/directory -type f -exec rm '{}' \;
Pomocou find
môžete vykonať záťaž, výhodou je, že môžete vypísať nájdené položky bez toho, aby ste ich odoslali do rm
, takže môžete vidieť, čo sa odstráni, skôr než začnete.
Ak chcete odstrániť aj všetky podadresáre a samotný adresár, môžete použiť príkaz rm -rf /path/to/directory
. Pred stlačením klávesu return si však riadok vždy dvakrát skontrolujte, rm -rf
môže spôsobiť aj veľa problémov, napr. ak omylom vložíte medzeru za prvé lomítko a zároveň máte superužívateľské práva...