Primjeri Linux rmdir naredbe za početnike


Kao korisnici Linuxa, redovito komuniciramo s datotekama i direktorijima. Jedna uobičajena operacija koju korisnici izvode je uklanjanje direktorija iz datotečnog sustava. Međutim, moramo biti posebno oprezni prilikom uklanjanja imenika. Budući da nemarno izvedeni postupci uklanjanja mogu rezultirati gubitkom podataka.

U ovom članku prilagođenom početnicima naučit ćemo o naredbi rmdir. Također ćemo razgovarati o nekim praktičnim primjerima koji se mogu koristiti u svakodnevnom životu.

Sintaksa naredbe rmdir slična je ostalim Linux naredbama. Na visokoj razini, podijeljen je u dva dijela – opcije i argumenti:

rmdir [OPTIONS] ... <DIRECTORY1> <DIRECTORY2> ...

Ovdje uglate zagrade ([]) predstavljaju neobavezne argumente, dok uglate zagrade (<>) predstavljaju obavezne argumente.

Osnovna upotreba naredbe rmdir u Linuxu

Kao što naziv sugerira, naredba rmdir koristi se za uklanjanje imenika. Međutim, važno je napomenuti da može ukloniti samo prazne direktorije. U ovom odjeljku vidjet ćemo osnovnu upotrebu naredbe rmdir.

Izbrišite prazan direktorij u Linuxu

Prvo stvorite nekoliko praznih direktorija:

mkdir dir1 dir2 dir3 dir4

Provjerimo jesu li stvoreni potrebni direktoriji:

ls -l

Uklonimo sada direktorij dir1 i potvrdimo da je uklonjen:

rmdir dir1
ls -l

Na sličan način, možemo koristiti naredbu rmdir za uklanjanje više praznih direktorija odjednom.

Uklonimo preostale direktorije:

rmdir dir2 dir3 dir4

Na kraju, provjerite jesu li svi direktoriji uklonjeni:

ls -l

Ovdje možemo vidjeti da naredba ls ne prikazuje nijedan direktorij.

rmdir Verbose Mode

U prethodnom smo odjeljku koristili naredbu ls za provjeru uklanjanja imenika. Međutim, nema smisla izvršiti još jednu naredbu samo da biste provjerili radnje prethodnih naredbi.

U takvim slučajevima možemo omogućiti opširni način rada pomoću opcije -v koja pruža dijagnostiku za svaki obrađeni direktorij.

Kreirajmo istu strukturu imenika koju smo prethodno stvorili:


mkdir dir1 dir2 dir3 dir4

Uklonimo sada direktorije s uključenim verbose načinom rada:

rmdir -v dir1 dir2 dir3 dir4
ls -l

Iz gornjeg rezultata možemo zaključiti da su svi imenici uklonjeni.

Uklonite prazne poddirektorije u Linuxu

Često stvaramo poddirektorije na datotečnom sustavu, što nam omogućuje da svoje podatke organiziramo na pravilan način. Pogledajmo kako raditi s praznim poddirektorijima.

Kao što je objašnjeno u prvom primjeru, možemo ukloniti više direktorija pomoću naredbe rmdir. Međutim, situacija postaje škakljiva kada je broj poddirektorija velik.

U takvim slučajevima možemo koristiti opciju -p koja uklanja direktorij i sve njegove pretke. Shvatimo ovo na primjeru.

Najprije stvorite strukturu poddirektorija:

mkdir -p dir1/dir2/dir3/dir4/dir5

U ovom smo primjeru upotrijebili opciju -p s naredbom mkdir za stvaranje strukture poddirektorija.

Uklonimo sve ove direktorije odjednom:

rmdir -p -v dir1/dir2/dir3/dir4/dir5

rmdir: removing directory, 'dir1/dir2/dir3/dir4/dir5'
rmdir: removing directory, 'dir1/dir2/dir3/dir4'
rmdir: removing directory, 'dir1/dir2/dir3'
rmdir: removing directory, 'dir1/dir2'
rmdir: removing directory, 'dir1'

Ovdje verbose način uklanja dir5 direktorij i sve njegove prethodnike.

Neuspjeh obrade direktorija koji nije prazan

Već znamo da rmdir može ukloniti samo prazne direktorije. Svaki pokušaj uklanjanja direktorija koji nije prazan rezultirat će pogreškom. Iako to pruža zaštitu od gubitka podataka, u nekim rijetkim slučajevima može stvoriti problem.

Na primjer, ako pokušamo ukloniti neprazan direktorij iz skripte koju Jenkins izvršava tada će posao prijaviti neuspjeh.

Da ovo simuliramo, pokušajmo ukloniti neprazan direktorij:

mkdir -p dir1/dir2/dir3/dir4/dir5
rmdir dir1

rmdir: failed to remove 'dir1': Directory not empty

Za takve slučajeve pogrešaka možemo upotrijebiti opciju --ignore-fail-on-non-empty koja zanemaruje sve pogreške do kojih je došlo zbog nepraznog direktorija.

Upotrijebimo ovu opciju s naredbom i provjerimo povratnu vrijednost:

rmdir --ignore-fail-on-non-empty dir1
echo $?

0

U ovom primjeru možemo vidjeti da naredba nije prijavila nikakvu pogrešku, a vraćena vrijednost nula označava uspješno izvršenje naredbe. Međutim, važno je napomenuti da ova opcija samo potiskuje pogrešku i ne uklanja neprazan direktorij.

Koristite regularne izraze u naredbi rmdir

Slično ostalim Linux naredbama, možemo koristiti regularne izraze s naredbom rmdir. Pogledajmo upotrebu sljedeća dva regularna izraza:

  • ? – Odgovara točno jednom znaku.
  • * – odgovara nula ili više pojavljivanja prethodnih znakova.

Prvo stvorite nekoliko praznih direktorija:

mkdir dir1 dir2 dir-01 dir-02

Sada upotrijebimo regularni izraz '?' s nizom 'dir' da uklonimo dir1 i dir2 imenici:

rmdir -v dir?

rmdir: removing directory, 'dir1'
rmdir: removing directory, 'dir2'

Ovdje možemo vidjeti da je naredba uklonila ispravne direktorije.

Zatim upotrijebite regularni izraz '*' za uklanjanje druga dva direktorija:

rmdir -v dir-*

rmdir: removing directory, 'dir-01'
rmdir: removing directory, 'dir-02'

U ovom primjeru možemo vidjeti da su ostala dva direktorija uklonjena.

U ovom odjeljku raspravljali smo o upotrebi samo dva regularna izraza. Međutim, možemo koristiti i druge napredne regularne izraze s naredbom rmdir.

U ovom smo članku prvo vidjeli osnovnu upotrebu naredbe rmdir. Zatim smo razgovarali o opširnom načinu rada i uklanjanju poddirektorija. Zatim smo vidjeli kako postupati s pogreškama kada direktorij nije prazan. Na kraju smo razgovarali o tome kako koristiti regularne izraze.