În calitate de utilizatori Linux, interacționăm cu fișierele și directoarele în mod regulat. O operațiune obișnuită pe care o efectuează utilizatorii este eliminarea directoarelor din sistemul de fișiere. Cu toate acestea, trebuie să fim foarte atenți când eliminăm directoarele. Deoarece operațiunile de eliminare efectuate cu neglijență pot duce la pierderea datelor.
În acest articol prietenos pentru începători, vom afla despre comanda rmdir. Vom discuta, de asemenea, câteva dintre exemplele practice care pot fi folosite de zi cu zi.
Sintaxa lui rmdir comanda este similară cu alte comenzi Linux. La un nivel înalt, este împărțit în două părți - Opțiuni și argumente:
$ rmdir [OPȚIUNI]......
Aici, parantezele drepte ([])
reprezintă argumentele opționale în timp ce parantezele unghiulare (<>)
reprezintă argumentele obligatorii.
După cum sugerează și numele, rmdir comanda este folosită pentru a elimina directorul. Cu toate acestea, este important să rețineți că poate elimina doar directoarele goale. În această secțiune, vom vedea modul de utilizare de bază a
rmdir comanda.Mai întâi, creați câteva directoare goale:
$ mkdir dir1 dir2 dir3 dir4.
Să verificăm dacă directoarele necesare au fost create:
$ ls -l.
Acum, să eliminăm dir1 director și verificați dacă a fost eliminat:
$ rmdir dir1. $ ls -l.
Într-un mod similar, putem folosi rmdir comandă pentru a elimina mai multe directoare goale simultan.
Să eliminăm directoarele rămase:
$ rmdir dir2 dir3 dir4.
În cele din urmă, verificați dacă toate directoarele au fost eliminate:
$ ls -l.
Aici, putem vedea că comanda ls nu afișează niciun director.
În secțiunea anterioară, am folosit comanda ls pentru a verifica eliminarea directorului. Cu toate acestea, nu are sens să executați încă o comandă doar pentru a verifica acțiunile comenzilor anterioare.
În astfel de cazuri, putem activa modul verbose folosind -v
opțiunea, care oferă diagnostice pentru fiecare director procesat.
Să creăm aceeași structură de directoare pe care am creat-o anterior:
$ mkdir dir1 dir2 dir3 dir4.
Acum, să eliminăm directoarele cu modul verbose activat:
$ rmdir -v dir1 dir2 dir3 dir4. $ ls -l.
Din rezultatul de mai sus, putem concluziona că toate directoarele au fost eliminate.
De multe ori creăm subdirectoare pe un sistem de fișiere, ceea ce ne permite să ne organizăm datele într-un mod adecvat. Să vedem cum să lucrăm cu subdirectoare goale.
După cum sa discutat în primul exemplu, putem elimina mai multe directoare folosind rmdir comanda. Cu toate acestea, situația devine dificilă atunci când subdirectoarele sunt mari ca număr.
În astfel de cazuri, putem folosi -p
opțiunea, care elimină directorul și toți strămoșii săi. Să înțelegem asta cu un exemplu.
Mai întâi, creați o structură de subdirectoare:
$ mkdir -p dir1/dir2/dir3/dir4/dir5.
În acest exemplu, am folosit -p
opțiunea cu comanda mkdir pentru a crea o structură de subdirectoare.
Să eliminăm toate aceste directoare dintr-o dată:
$ rmdir -p -v dir1/dir2/dir3/dir4/dir5rmdir: se elimină directorul, „dir1/dir2/dir3/dir4/dir5” rmdir: se elimină directorul, „dir1/dir2/dir3/dir4” rmdir: se elimină directorul, „dir1/dir2/dir3” rmdir: se elimină directorul, „dir1/dir2” rmdir: se elimină directorul, „dir1”
Aici, modul verbose elimină dir5 directorul și toate directoarele sale strămoși.
Știm deja că rmdir poate elimina doar directoarele goale. Orice încercare de a elimina un director care nu este gol va avea ca rezultat o eroare. Deși acest lucru oferă protecție împotriva pierderii de date, în unele cazuri rare poate crea o problemă.
De exemplu, dacă încercăm să eliminăm un director care nu este gol din scriptul care este executat de Jenkins atunci lucrarea va raporta un eșec.
Pentru a simula acest lucru, să încercăm să eliminăm directorul care nu este gol:
$ mkdir -p dir1/dir2/dir3/dir4/dir5. $ rmdir dir1 rmdir: a eșuat la eliminarea „dir1”: directorul nu este gol.
Pentru astfel de cazuri de eroare, putem folosi --ignore-fail-on-non-empty
opțiunea, care ignoră toate eșecurile care au avut loc din cauza unui director care nu este gol.
Să folosim această opțiune cu comanda și să verificăm valoarea returnată:
$ rmdir --ignore-fail-on-non-empty dir1. $ echo $? 0.
În acest exemplu, putem vedea că comanda nu a raportat nicio eroare, iar valoarea returnată zero indică executarea cu succes a comenzii. Cu toate acestea, este important să rețineți că această opțiune pur și simplu suprimă eroarea și nu elimină directorul care nu este gol.
Similar altor comenzi Linux, putem folosi expresii regulate cu rmdir comanda. Să vedem cum se utilizează următoarele două expresii regulate:
?
– Se potrivește exact cu un personaj.*
– Se potrivește cu zero sau mai multe apariții ale caracterelor anterioare.Mai întâi, creați câteva directoare goale:
$ mkdir dir1 dir2 dir-01 dir-02.
Acum, să folosim '?'
expresie regulată cu șirul ‘dir’ pentru a elimina dir1 și dir2 directoare:
$ rmdir -v dir?rmdir: se elimină directorul, „dir1” rmdir: se elimină directorul, „dir2”
Aici, putem vedea că comanda a eliminat directoarele corecte.
Apoi, utilizați '*'
expresie regulată pentru a elimina celelalte două directoare:
$ rmdir -v dir-*rmdir: se elimină directorul, „dir-01” rmdir: se elimină directorul, „dir-02”
În acest exemplu, putem vedea că celelalte două directoare au fost eliminate.
În această secțiune, am discutat despre utilizarea doar a două expresii regulate. Cu toate acestea, putem folosi și celelalte expresii regulate avansate cu rmdir comanda.
În acest articol, în primul rând, am văzut utilizarea de bază a rmdir comanda. Apoi am discutat despre modul verbose și despre eliminarea subdirectoarelor. Apoi, am văzut cum să gestionăm eșecurile atunci când un director nu este gol. În cele din urmă, am discutat despre cum să folosim expresiile regulate.