Fájlok és könyvtárak törlése a Linux terminálon

A rm és a   rmdir parancsok törlik a fájlokat és könyvtárakat Linuxon, macOS-on és más Unix-szerű operációs rendszereken. Hasonlóak a del és   deltree a Windows és DOS parancsokhoz. Ezek a parancsok nagyon hatékonyak, és elég sok lehetőségük van.

Fontos megjegyezni, hogy a fájlok és könyvtárak törölve lettek felhasználva, rmés rmdirnem kerülnek a kukába. Azonnal eltávolítják őket a számítógépéről. Ha véletlenül törli a fájlokat ezen parancsok használatával, akkor csak a biztonsági mentésből tudja helyreállítani őket.

Fájlok eltávolítása az rm segítségével

A legegyszerűbb eset egyetlen fájl törlése az aktuális könyvtárból. Írja be a rmparancsot, egy szóközt, majd a törölni kívánt fájl nevét.

rm file_1.txt

Ha a fájl nem az aktuális munkakönyvtárban található, adjon meg egy elérési utat a fájl helyéhez.

rm ./path/to/the/file/file_1.txt

Több fájlnevet is átadhat a címzettnek rm. Ezzel törli az összes megadott fájlt.

rm fájl_2.txt fájl_3.txt

Helyettesítő karakterek használhatók a törlendő fájlcsoportok kiválasztására. A *karakter több és ?egy karaktert jelöl. Ez a parancs törli az aktuális munkakönyvtár összes png képfájlját.

rm * .png

Ez a parancs törli az összes fájlt, amelyek egyetlen karakter kiterjesztéssel rendelkeznek. Például ez törölné a File.1 és a File.2 fájlokat, de a File.12 fájlt nem.

rm *.?

Ha egy fájl írásvédett, akkor a fájl törlése előtt a rendszer kéri. Válasszon a yvagy ngombbal, és nyomja meg az „Enter” gombot.

A rmhelyettesítő karakterekkel történő használat kockázatának csökkentése érdekében használja az -i(interaktív) opciót. Ehhez meg kell erősítenie az egyes fájlok törlését.

rm -i * .dat

Az -f (erő) opció ellentétes az interaktívval. Még akkor sem kér megerősítést, ha a fájlok írásvédettek.

rm -f fájlnév

Könyvtárak eltávolítása az rm segítségével

Üres könyvtár eltávolításához használja a -d (könyvtár) opciót. A helyettesítő karaktereket ( *és ?) a könyvtárnevekben ugyanúgy használhatja, mint a fájlneveknél.

rm -d könyvtár

Több könyvtárnév megadása törli az összes megadott üres könyvtárat.

rm -d könyvtár1 könyvtár2 / elérési út / címtárhoz3

Az üres könyvtárak törléséhez használja a -r(rekurzív) opciót. Az egyértelműség érdekében ez eltávolítja a könyvtárakat és az azokban található összes fájlt és alkönyvtárat.

rm -r könyvtár1 könyvtár2 könyvtár3

Ha egy könyvtár vagy egy fájl írásvédett, akkor a rendszer kéri a törlés megerősítését. Az üres könyvtárak törléséhez és az utasítások elnyomásához használja a -r(rekurzív) és -f(kényszer) opciókat együtt.

rm -rf könyvtár

Itt gondozásra van szükség. A rm -rfparancs hibája adatvesztést vagy a rendszer hibás működését okozhatja. Veszélyes, és az óvatosság a legjobb politika. rm -rfHasználja a treeparancsot a könyvtárstruktúra és a parancs által törlendő fájlok megértéséhez .

Használja  apt-get a csomag telepítésére a rendszerére, ha Ubuntu vagy más Debian-alapú terjesztést használ. Más Linux disztribúcióknál használja inkább a Linux disztribúció csomagkezelő eszközét.

sudo apt-get install fa

A treeparancs futtatásával könnyen érthető diagramot hozhat létre a könyvtárstruktúráról és a fájlokról azon könyvtár alatt, amelyből futtatják.

fa

Megadhatja a treeparancs elérési útját is, hogy a fájt a fájlrendszer másik könyvtárából indítsa el.

fa elérési útja / könyvtárhoz

A rmparancsnak vannak --one-file-system, --no-preserve-root, --preserve-rootlehetőségei is, de ezeket csak haladó felhasználóknak ajánljuk. Ha valami rosszul esik, véletlenül törölheti az összes rendszerfájlt. További információ a parancs kézikönyv oldalán található.

Könyvtárak eltávolítása az rmdir segítségével

Van egy másik parancs, az úgynevezett rmdir, amellyel törölheti a könyvtárakat. A különbség rmés rmdiraz között rmdircsak az üres könyvtárakat lehet törölni. Soha nem fog fájlokat törölni.

A legegyszerűbb eset egyetlen üres könyvtár törlése. Akárcsak itt rm, több címtárnevet is átadhat egy könyvtárnak rmdir, vagy elérheti annak elérési útját.

Töröljön egyetlen könyvtárat az aktuális könyvtárból, továbbítva annak nevét rmdir:

rmdir könyvtár

Több címtár törléséhez adja át a névlistát   rmdir:

rmdir könyvtár1 könyvtár2 könyvtár3

Az aktuális könyvtárban nem található könyvtár törléséhez adja meg a könyvtár teljes elérési útját:

rmdir / elérési út / könyvtárhoz

Ha nem üres mappát próbál meg törölni, rmdirhibaüzenetet kap. Az alábbi példában rmdirsikeresen és csendesen törli a clientskönyvtárat, de nem hajlandó törölni a projectskönyvtárat, mert fájlokat tartalmaz. A projectskönyvtár pontosan olyan maradt, mint volt, és a benne lévő fájlok érintetlenek.

Amikor rmdira „Directory not empty” hibaüzenetet ad, leállítja a parancssorban átadott könyvtárak feldolgozását. Ha négy könyvtár törlését kérte, és az elsőben fájlok voltak, rmdirakkor a hibaüzenetet kapja, és nem tesz többet. Kényszerítheti, hogy figyelmen kívül hagyja ezeket a hibákat az --ignore-fail-on-non-emptyopcióval, hogy más könyvtárakat dolgozzon fel.

Az alábbi példában két mappát továbbítottunk rmdir, ezek a work/reportsés work/quotes. Az --ignore-fail-on-non-emptyopció bekerült a parancsba. A work/reportsmappában vannak fájlok, ezért rmdirnem törölhető. Az --ignore-fail-on-non-emptyopció rmdirfigyelmen kívül hagyja a hibát, és továbblép a következő feldolgozandó mappába, amely az work/quotes. Ez egy üres mappa, és rmdirtörli azt.

Ez volt a használt parancs.

rmdir --ignore-fail-on-non-üres munka / jelentések / munka / idézetek

-p (szülők) opcióval törölhet egy könyvtárat és törölheti annak szülőkönyvtárát is. Ez a trükk azért működik, mert rmdira célkönyvtárral kezdődik, majd visszalép a szülőhöz. Ennek a könyvtárnak most üresnek kell lennie, így törölhető vele rmdir, és a folyamat megismétli a megadott elérési út visszalépését rmdir.

A következő példában a továbbított parancs a következő rmdir:

rmdir -p munka / számlák

A könyvtárat invoicesés a workkönyvtárakat is töröljük, a kérésnek megfelelően.

Akár Bash-t, akár bármely más shellt használ, a Linux rugalmas és hatékony parancsokat kínál a könyvtárak és fájlok törlésére közvetlenül a terminál parancssorából. Vannak, akik inkább a terminál körül forognak. Lehet, hogy másoknak nincs választási lehetőségük az ügyben. Lehet, hogy olyan szervereken dolgoznak, amelyeken nincs GUI telepítve, vagy távoli munkameneten egy fej nélküli rendszeren, például egy Raspberry Pi-n. Ezek a parancsok tökéletesek az adott embercsoport számára.

De bármilyen típusú munkafolyamatot szeretne, ezek a parancsok kiválóan alkalmasak arra, hogy bekerüljenek a shell parancsfájlokba. Ha egy szkriptet egy cronmunka vált ki , az segíthet a rutin takarítási feladatok automatizálásában, például a nem kívánt naplófájlok megtisztításában. Ha megvizsgálja ezt a felhasználási esetet, ne feledje a parancsok erejét, mindent gondosan teszteljen, és mindig tartson friss frissítést.