Linux rmdir Kmand Eżempji għal Jibdew


Bħala utenti Linux, aħna jinteraġixxu mal-fajls u direttorji fuq bażi regolari. Operazzjoni komuni li jagħmlu l-utenti hija li jneħħu direttorji mis-sistema tal-fajls. Madankollu, irridu noqogħdu attenti ħafna waqt li nneħħu d-direttorji. Minħabba li l-operazzjonijiet ta 'tneħħija mwettqa bi traskuraġni jistgħu jirriżultaw f'telf ta' data.

F'dan l-artikolu faċli għall-Bidu, se nitgħallmu dwar il-kmand rmdir. Se niddiskutu wkoll xi wħud mill-eżempji prattiċi li jistgħu jintużaw minn jum għal jum.

Is-sintassi tal-kmand rmdir hija simili għal kmandi Linux oħra. F'livell għoli, huwa maqsum f'żewġ partijiet - għażliet u argumenti:

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

Hawnhekk, il-parentesi kwadri ([]) jirrappreżentaw l-argumenti fakultattivi filwaqt li l-parentesi angolari (<>) jirrappreżentaw l-argumenti obbligatorji.

Użu Bażiku tal-Kmand rmdir fil-Linux

Kif jissuġġerixxi l-isem, il-kmand rmdir jintuża biex jitneħħa d-direttorju. Madankollu, huwa importanti li wieħed jinnota li jista 'jneħħi direttorji vojta biss. F'din it-taqsima, se naraw l-użu bażiku tal-kmand rmdir.

L-ewwel, oħloq ftit direttorji vojta:

$ mkdir dir1 dir2 dir3 dir4

Ejja nivverifikaw li nħolqu d-direttorji meħtieġa:

$ ls -l

Issa, ejja neħħi d-direttorju dir1 u nivverifikaw li tneħħa:

$ rmdir dir1
$ ls -l

B'mod simili, nistgħu nużaw il-kmand rmdir biex inneħħu direttorji vojta multipli f'daqqa.

Ejja neħħi d-direttorji li fadal:

$ rmdir dir2 dir3 dir4

Fl-aħħarnett, ivverifika li d-direttorji kollha tneħħew:

$ ls -l

Hawnhekk, nistgħu naraw li l-kmand ls ma juri l-ebda direttorju.

Fit-taqsima preċedenti, użajna l-kmand ls biex nivverifikaw it-tneħħija tad-direttorju. Madankollu, ma jagħmilx sens li tesegwixxi kmand ieħor biss biex tivverifika l-azzjonijiet tal-kmandi preċedenti.

F'każijiet bħal dawn, nistgħu nippermettu l-modalità verbose billi tuża l-għażla -v, li tipprovdi dijanjostika għal kull direttorju pproċessat.

Ejja noħolqu l-istess struttura tad-direttorju li ħloqna qabel:

$ mkdir dir1 dir2 dir3 dir4

Issa, ejja neħħi d-direttorji bil-modalità verbose attivata:

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

Mill-output ta 'hawn fuq, nistgħu nikkonkludu li d-direttorji kollha tneħħew.

Ħafna drabi noħolqu sub-direttorji fuq sistema ta 'fajls, li tippermettilna norganizzaw id-dejta tagħna b'mod xieraq. Ejja naraw kif taħdem b'sub-direttorji vojta.

Kif diskuss fl-ewwel eżempju, nistgħu nneħħu direttorji multipli billi tuża l-kmand rmdir. Madankollu, is-sitwazzjoni ssir delikata meta s-sottodirettorji jkunu kbar fin-numri.

F'każijiet bħal dawn, nistgħu nużaw l-għażla -p, li tneħħi d-direttorju u l-antenati kollha tiegħu. Ejja nifhmu dan b'eżempju.

L-ewwel, oħloq struttura ta' sotto-direttorju:

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

F'dan l-eżempju, użajna l-għażla -p bil-kmand mkdir biex noħolqu struttura ta' sotto-direttorju.

Ejja neħħi dawn id-direttorji kollha f'daqqa:

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

Hawnhekk, il-mod verbose tneħħi d-direttorju dir5 u d-direttorji kollha tal-antenati tiegħu.

Aħna diġà nafu li l-rmdir jista 'jneħħi biss direttorji vojta. Kwalunkwe tentattiv biex jitneħħa direttorju mhux vojt jirriżulta fi żball. Għalkemm dan jipprovdi protezzjoni kontra telf ta' data, f'xi każijiet rari jista' joħloq kwistjoni.

Pereżempju, jekk nippruvaw inneħħu direttorju mhux vojt mill-iskript li qed jiġi esegwit minn Jenkins allura l-impjieg jirrapporta falliment.

Biex tissimula dan, ejja nippruvaw ineħħu d-direttorju mhux vojt:

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

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

Għal każijiet ta’ żball bħal dawn, nistgħu nużaw l-għażla --ignore-fail-on-non-empty, li tinjora l-fallimenti kollha li ġraw minħabba direttorju mhux vojt.

Ejja nużaw din l-għażla mal-kmand u ċċekkja l-valur tar-ritorn:

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

0

F'dan l-eżempju, nistgħu naraw li l-kmand ma rrapporta l-ebda żball u l-valur ta 'ritorn żero jindika l-eżekuzzjoni tal-kmand b'suċċess. Madankollu, huwa importanti li wieħed jinnota li din l-għażla biss trażżan l-iżball u ma tneħħix id-direttorju mhux vojt.

Simili għal kmandi Linux oħra, nistgħu nużaw espressjonijiet regolari bil-kmand rmdir. Ejja naraw l-użu taż-żewġ espressjonijiet regolari li ġejjin:

  • ? – Taqbel eżattament karattru wieħed.
  • * – Taqbel ma' żero jew aktar okkorrenzi tal-karattri preċedenti.

L-ewwel, oħloq ftit direttorji vojta:

$ mkdir dir1 dir2 dir-01 dir-02

Issa, ejja nużaw l-espressjoni regolari ? bis-sekwenza 'dir' biex tneħħi d-direttorji dir1 u dir2:

$ rmdir -v dir?

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

Hawnhekk, nistgħu naraw li l-kmand neħħa d-direttorji korretti.

Sussegwentement, uża l-espressjoni regolari * biex tneħħi ż-żewġ direttorji l-oħra:

$ rmdir -v dir-*

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

F'dan l-eżempju, nistgħu naraw li ż-żewġ direttorji l-oħra tneħħew.

F'din it-taqsima, iddiskutejna l-użu ta 'żewġ espressjonijiet regolari biss. Madankollu, nistgħu nużaw ukoll l-espressjonijiet regolari avvanzati l-oħra bil-kmand rmdir.

F'dan l-artikolu, l-ewwel, rajna l-użu bażiku tal-kmand rmdir. Imbagħad iddiskutejna l-mod verbose u t-tneħħija tas-sub-direttorji. Sussegwentement, rajna kif nittrattaw il-fallimenti meta direttorju ma jkunx vojt. Fl-aħħarnett, iddiskutejna kif tuża espressjonijiet regolari.