Sigurno ste nekom prilikom potvrdili da imate beskorisnu vrstu datoteke u nekoliko mapa, koja zauzima malo prostora, ali je jednostavno ne želite na računaru. Na primjer, u macOS-u se kreiraju neke datoteke .DS_Store koji spremaju informacije o ikoni mape, njenoj veličini i položaju, a u sustavu Windows postoje ekvivalentni desktop.ini. Što ćemo učiniti ako imamo direktorij pun poddirektorijuma i želimo izbrisati ove ili druge vrste datoteka? Ono što moramo učiniti je rekurzivno brisanje Svaka od njih.
To možemo učiniti sa svim vrstama datoteka. Na primjer, ako imamo tvrdi disk pun glazbe, imamo uređaj koji je preuzeo naslovnice i ne želimo da ih sačuvamo, možemo upotrijebiti istu naredbu koju ćemo detaljno opisati u nastavku kako bismo ih izbrisali. Naravno, uzimajući u obzir da ćemo rekurzivno brisati datoteke direktorija i njihove poddirektorijume pomoću terminala i da će one biti zauvijek izgubljene, ne boli biti oprezan i / ili napravite test prije nego što izbrišete sve što želimo izbrisati.
Rekurzivno brisanje datoteka tipa sa terminala
Naredbe za primjere macOS .DS_Store datoteka bile bi sljedeće:
cd ruta/a/directorio find . -name '*.DS_Store' -type f -delete
Od prethodnih naredbi, prva će nas smjestiti u mapu u kojoj želimo započeti, odnosno onu koja sadrži sve datoteke .DS_Store koje želimo izbrisati. Drugi je onaj koji će izbrisati sve .DS_Store datoteke iz prva mapa i njene podmape ili direktorijuma. Ako želimo izbrisati fotografije iz prethodno spomenutih muzičkih mapa, moramo dodati tip nastavka između navodnika, kao što je '* .jpg'.
Da budem 100% iskren, ovo ću učiniti onog dana kad prestanem koristiti Cantatu kao zadani muzički plejer. Cantata kreira i skriva datoteke s informacijama s istim nazivom kao i pjesme koje ispred sebe imaju tačku i nisku traku (na primjer, ._Song). Kad mi zatreba, naredba koju ću morati upotrijebiti bit će pronađi. -ime '._ *' -tip f -brisati.
Je li vam ovaj mali vodič pomogao da rekurzivno izbrišete datoteke s terminala?
Hvala, ali u vašem kodu postoji greška. Morate koristiti regularni izraz '*', odnosno '* .DS_STORE'. Preporučujem da to ispravite. Pa, onima koji imaju manje znanja o bashu, kod koji ste dali neće raditi. Pozdrav!