Linux rmdir komandu piemēri iesācējiem


Kā Linux lietotāji mēs regulāri mijiedarbojamies ar failiem un direktorijiem. Viena no izplatītākajām darbībām, ko lietotāji veic, ir direktoriju noņemšana no failu sistēmas. Tomēr mums ir jābūt īpaši uzmanīgiem, noņemot direktorijus. Tā kā neuzmanīgi veiktas noņemšanas darbības var izraisīt datu zudumu.

Šajā iesācējiem draudzīgajā rakstā mēs uzzināsim par komandu rmdir. Apspriedīsim arī dažus praktiskos piemērus, kurus var izmantot ikdienā.

Komandas rmdir sintakse ir līdzīga citām Linux komandām. Augstā līmenī tas ir sadalīts divās daļās – variantos un argumentos:

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

Šeit kvadrātiekavas ([]) apzīmē neobligātos argumentus, savukārt leņķiekavas (<>) apzīmē obligātos argumentus.

Komandas rmdir pamata lietojums operētājsistēmā Linux

Kā norāda nosaukums, direktorija noņemšanai tiek izmantota komanda rmdir. Tomēr ir svarīgi atzīmēt, ka tas var noņemt tikai tukšus direktorijus. Šajā sadaļā mēs redzēsim komandas rmdir pamata lietojumu.

Vispirms izveidojiet dažus tukšus direktorijus:

$ mkdir dir1 dir2 dir3 dir4

Pārbaudīsim, vai ir izveidoti nepieciešamie direktoriji:

$ ls -l

Tagad noņemsim direktoriju dir1 un pārbaudīsim, vai tas ir noņemts:

$ rmdir dir1
$ ls -l

Līdzīgā veidā mēs varam izmantot komandu rmdir, lai vienlaikus noņemtu vairākus tukšus direktorijus.

Noņemsim atlikušos direktorijus:

$ rmdir dir2 dir3 dir4

Visbeidzot pārbaudiet, vai visi direktoriji ir noņemti:

$ ls -l

Šeit mēs redzam, ka komanda ls nerāda nevienu direktoriju.

Iepriekšējā sadaļā mēs izmantojām komandu ls, lai pārbaudītu direktorija noņemšanu. Tomēr nav jēgas izpildīt vēl vienu komandu, lai pārbaudītu iepriekšējo komandu darbības.

Šādos gadījumos mēs varam iespējot detalizēto režīmu, izmantojot opciju -v, kas nodrošina diagnostiku katram apstrādātajam direktorijam.

Izveidosim to pašu direktoriju struktūru, ko izveidojām iepriekš:

$ mkdir dir1 dir2 dir3 dir4

Tagad noņemsim direktorijus ar iespējotu detalizēto režīmu:

$ rmdir -v dir1 dir2 dir3 dir4
$ ls -l

No iepriekš minētās izvades mēs varam secināt, ka visi direktoriji ir noņemti.

Mēs bieži veidojam apakšdirektorijus failu sistēmā, kas ļauj pareizi sakārtot savus datus. Apskatīsim, kā strādāt ar tukšiem apakšdirektorijiem.

Kā minēts pirmajā piemērā, mēs varam noņemt vairākus direktorijus, izmantojot komandu rmdir. Tomēr situācija kļūst sarežģīta, ja apakšdirektoriju skaits ir liels.

Šādos gadījumos mēs varam izmantot opciju -p, kas noņem direktoriju un visus tā priekštečus. Sapratīsim to ar piemēru.

Vispirms izveidojiet apakšdirektorija struktūru:

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

Šajā piemērā mēs esam izmantojuši opciju -p ar komandu mkdir, lai izveidotu apakšdirektorija struktūru.

Noņemsim visus šos direktorijus vienā piegājienā:

$ 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'

Šeit detalizētais režīms noņem direktoriju dir5 un visus tā priekšteču direktorijus.

Mēs jau zinām, ka rmdir var noņemt tikai tukšus direktorijus. Jebkurš mēģinājums noņemt direktoriju, kas nav tukšs, radīs kļūdu. Lai gan tas nodrošina aizsardzību pret datu zudumu, dažos retos gadījumos tas var radīt problēmas.

Piemēram, ja mēs mēģinām noņemt no skripta direktoriju, kas nav tukšs un kuru izpilda Dženkinss, darbs ziņos par kļūmi.

Lai to simulētu, mēģināsim noņemt netukšo direktoriju:

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

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

Šādos kļūdu gadījumos mēs varam izmantot opciju ---ignore-fail-on-non-empty, kas ignorē visas kļūdas, kas radušās sakarā ar direktoriju, kas nav tukšs.

Izmantosim šo opciju ar komandu un pārbaudīsim atgriešanas vērtību:

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

0

Šajā piemērā mēs redzam, ka komanda neziņoja par kļūdu, un nulles atgriešanas vērtība norāda uz veiksmīgu komandas izpildi. Tomēr ir svarīgi atzīmēt, ka šī opcija tikai nomāc kļūdu un nenoņem direktoriju, kas nav tukša.

Līdzīgi kā citās Linux komandās, mēs varam izmantot regulāras izteiksmes ar komandu rmdir. Apskatīsim šādu divu regulāro izteiksmju lietojumu:

  • ? — tas atbilst tieši vienai rakstzīmei.
  • * — tas atbilst nullei vai vairākiem iepriekšējo rakstzīmju gadījumiem.

Vispirms izveidojiet dažus tukšus direktorijus:

$ mkdir dir1 dir2 dir-01 dir-02

Tagad izmantosim regulāro izteiksmi ? ar virkni “dir”, lai noņemtu direktorijus dir1 un dir2:

$ rmdir -v dir?

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

Šeit mēs redzam, ka komanda noņēma pareizos direktorijus.

Pēc tam izmantojiet regulāro izteiksmi *, lai noņemtu pārējos divus direktorijus:

$ rmdir -v dir-*

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

Šajā piemērā mēs redzam, ka pārējie divi direktoriji ir noņemti.

Šajā sadaļā mēs apspriedām tikai divu regulāro izteiksmju izmantošanu. Tomēr mēs varam izmantot arī citas uzlabotās regulārās izteiksmes ar komandu rmdir.

Šajā rakstā, pirmkārt, mēs redzējām komandas rmdir pamata lietojumu. Pēc tam mēs apspriedām detalizēto režīmu un apakšdirektoriju noņemšanu. Tālāk mēs redzējām, kā rīkoties ar kļūmēm, ja direktorijs nav tukšs. Visbeidzot, mēs apspriedām, kā izmantot regulārās izteiksmes.