rm -rf *.* megrontja a fájlrendszert, míg a rm -rf / nem fog ezt?
Megjegyzések
- A Unix és a Linux Stack Exchange több mint 6 éve hasznos, a SuperUser pedig ugyanaz: unix.stackexchange.com/questions/19547 superuser.com/questions/312769 unix.stackexchange.com/questions/302468
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űrmnem kompatibilis a legújabb POSIX-szal.