Van-e különbség az rm -rf / és az rm -rf *. * Között?

rm -rf *.* megrontja a fájlrendszert, míg a rm -rf / nem fog ezt?

Megjegyzések

Válasz

Ott “nincs semmi különös, a rm -rf *.* egy fájlnév-helyettesítővel ellátott parancs, rekurzív módon eltávolítja az aktuális könyvtár összes fájlját, amelyek nevében pontot tartalmaznak.

rm -rf / hibát okozna a rm futtatásakor a gyökérkönyvtárban. Ez a -ot a POSIX megbízta:

Ha […] operand reso A gyökérkönyvtárba az rm diagnosztikai üzenetet ír a szokásos hibára, és nem tesz többet az ilyen operandusokkal.

Attól függően a shellen és annak beállításainál a *.* is megegyezhet a szülő könyvtár .. -jével, de a /, az eltávolításának megkísérlése szintén hiba.

Egyik sem sérti a fájlrendszert, rm csak (megpróbálja) eltávolítani fájlokat a szokásos fájlrendszeri hívásokkal. A rendszer egészére vagy a felhasználó fájljaira gyakorolt hatás természetesen jelentős lehet, ha az első parancsot egy fontos fájlokat tartalmazó könyvtárban hajtják végre.

Megjegyzések

  • a GNU rm (a Solaris IIRC-től eredetileg ellopott funkció) kellően új verzióihoz. A legjobb, ha nem sírsz, ha a beágyazott könnyű rm nem kompatibilis a legújabb POSIX-szal.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük