Linux rmdir Täze başlanlar üçin buýruk mysallary


Linux ulanyjylary hökmünde faýllar we kataloglar bilen yzygiderli aragatnaşyk saklaýarys. Ulanyjylaryň ýerine ýetirýän umumy amallary, faýl ulgamyndan kataloglary aýyrmakdyr. Şeýle-de bolsa, kataloglary aýyranymyzda gaty seresap bolmaly. Seresapsyz ýerine ýetirilen aýyrmak amallary maglumatlaryň ýitmegine sebäp bolup biler.

Bu başlangyç üçin amatly makalada, rmdir buýrugy barada öwreneris. Şeýle hem, gündelik ulanyp boljak käbir amaly mysallary ara alyp maslahatlaşarys.

Rmdir buýrugynyň sintaksis beýleki Linux buýruklaryna meňzeýär. Levelokary derejede iki bölege bölünýär - wariantlar we argumentler:

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

Bu ýerde kwadrat ýaýlar ([]) goşmaça argumentleri görkezýär, burçly ýaýlar (<>) hökmany argumentleri görkezýär.

Linux-da rmdir buýrugynyň esasy ulanylyşy

Adyndan görnüşi ýaly, katalogy aýyrmak üçin rmdir buýrugy ulanylýar. Şeýle-de bolsa, diňe boş kataloglary aýryp biljekdigini bellemelidiris. Bu bölümde rmdir buýrugynyň esasy ulanylyşyny göreris.

Ilki bilen birnäçe boş katalog dörediň:

$ mkdir dir1 dir2 dir3 dir4

Gerekli kataloglaryň döredilendigini barlalyň:

$ ls -l

Indi, dir1 katalogyny aýyralyň we onuň aýrylandygyny barlalyň:

$ rmdir dir1
$ ls -l

Şuňa meňzeş usulda, birbada birnäçe boş katalogy aýyrmak üçin rmdir buýrugyny ulanyp bileris.

Galan kataloglary aýyralyň:

$ rmdir dir2 dir3 dir4

Ahyrynda, ähli kataloglaryň aýrylandygyny barlaň:

$ ls -l

Bu ýerde, ls buýrugynyň hiç hili katalog görkezmeýändigini görüp bileris.

Öňki bölümde katalogyň aýrylmagyny barlamak üçin ls buýrugyny ulanýardyk. Şeýle-de bolsa, diňe öňki buýruklaryň hereketlerini barlamak üçin ýene bir buýrugy ýerine ýetirmegiň manysy ýok.

Şeýle ýagdaýlarda, her gaýtadan işlenen katalog üçin diagnostika üpjün edýän -v opsiýasyny ulanyp, söz re modeimini açyp bileris.

Geliň, ozal döreden katalog gurluşymyzy döredeliň:

$ mkdir dir1 dir2 dir3 dir4

Indi, söz düzümi açyk bolan kataloglary aýyralyň:

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

Aboveokardaky çykyşdan ähli kataloglaryň aýrylandygy barada netije çykaryp bileris.

Maglumatlarymyzy dogry tertipleşdirmäge mümkinçilik berýän faýl ulgamynda köplenç kiçi kataloglary döredýäris. Boş kiçi kataloglar bilen nähili işlemelidigini göreliň.

Birinji mysalda aýdylyşy ýaly, rmdir buýrugyny ulanyp birnäçe katalogy aýyryp bileris. Şeýle-de bolsa, kiçi kataloglar köp bolsa, ýagdaý kynlaşýar.

Şeýle ýagdaýlarda katalogy we ähli ata-babalaryny aýyrýan -p opsiýasyny ulanyp bileris. Geliň, muňa mysal bilen düşüneliň.

Ilki bilen kiçi katalog gurluşyny dörediň:

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

Bu mysalda kiçi bukjanyň gurluşyny döretmek üçin mkdir buýrugy bilen -p opsiýasyny ulandyk.

Geliň, bu kataloglaryň hemmesini bir gezek aýyralyň:

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

Bu ýerde söz düzümi dir5 katalogyny we ata-babalarynyň ähli kataloglaryny aýyrýar.

Rmdir-iň diňe boş kataloglary aýryp biljekdigini eýýäm bilýäris. Boş däl katalogy aýyrmak üçin edilen islendik synanyşyk ýalňyşlyga sebäp bolar. Maglumat ýitirilmeginden goragy üpjün etse-de, käbir seýrek ýagdaýlarda bu mesele döredip biler.

Mysal üçin, Jenkins tarapyndan ýerine ýetirilýän skriptden boş däl katalogy aýyrmaga synanyşsak, işiň şowsuzdygyny habar berer.

Muny simulasiýa etmek üçin, boş däl katalogy aýyrmaga synanyşalyň:

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

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

Şeýle ýalňyş ýagdaýlar üçin, boş däl katalog sebäpli ýüze çykan ähli şowsuzlyklary hasaba almaýan --ignore-fail-on-boş opsiýasyny ulanyp bileris.

Geliň, bu opsiýany buýruk bilen ulanalyň we yzyna gaýtaryş bahasyny barlalyň:

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

0

Bu mysalda, buýrugyň hiç hili ýalňyşlyk bermändigini we nol yzyna gaýtaryş bahasy buýrugyň üstünlikli ýerine ýetirilendigini görkezýär. Şeýle-de bolsa, bu opsiýanyň ýalňyşlygy basyp ýatyrýandygyny we boş däl bukjany aýyrmaýandygyny bellemelidiris.

Beýleki Linux buýruklary ýaly, rmdir buýrugy bilen yzygiderli aňlatmalary ulanyp bileris. Aşakdaky iki yzygiderli aňlatmanyň ulanylyşyna seredeliň:

  • ? - Diňe bir nyşan bilen gabat gelýär.
  • * - Öňki nyşanlaryň nol ýa-da has köp ýüze çykmagyna gabat gelýär.

Ilki bilen birnäçe boş katalog dörediň:

$ mkdir dir1 dir2 dir-01 dir-02

Indi, dir1 we dir2 kataloglaryny aýyrmak üçin dir setiri bilen ? yzygiderli aňlatmany ulanalyň:

$ rmdir -v dir?

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

Bu ýerde buýrugyň dogry kataloglary aýyrandygyny görüp bileris.

Ondan soň, beýleki iki katalogy aýyrmak üçin * yzygiderli aňlatmany ulanyň:

$ rmdir -v dir-*

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

Bu mysalda beýleki iki katalogyň aýrylandygyny görüp bileris.

Bu bölümde diňe iki sany yzygiderli aňlatmanyň ulanylyşyny ara alyp maslahatlaşdyk. Şeýle-de bolsa, rmdir buýrugy bilen beýleki ösen yzygiderli aňlatmalary hem ulanyp bileris.

Bu makalada ilki bilen rmdir buýrugynyň esasy ulanylyşyny gördük. Soňra söz düzümini we kiçi kataloglary aýyrmagy maslahatlaşdyk. Soň bolsa, katalog boş bolmasa, näsazlyklary nädip çözmelidigini gördük. Ahyrynda yzygiderli aňlatmalary nähili ulanmalydygyny ara alyp maslahatlaşdyk.