Skeakelje Directory's yn Linux mei de "mkdir" kommando

Dizze guod sil jo sjen litte hoe nije mappen of mappen te meitsjen binnen Linux biede mei de kommando-rigel.

It kommando dat jo brûke foar it oanmeitsjen fan mappen is mkdir. Dit artikel lit jo de basis wize om direksjes yn Linux te meitsjen en ek de beskikbere skeakels te besjen.

Hoe meitsje in nije map

De ienfâldige manier om in nije map te meitsjen is sa:

mkdir

As jo ​​bygelyks in testbehearder meitsje wolle, iepenje in terminalfinster en soargje dat jo binne yn jo thúsblêd (brûk de cd ~ kommando ).

mkdir test

It feroarjen fan de permissions fan it Nije Directory

Nei it meitsjen fan in nije map kinne jo de tagongsrjochten soargje, sadat allinich in bepaalde brûker tagong hat ta de map of sa dat guon minsken bestannen yn 'e map bewurkje kinne, mar oaren hawwe allinich lêzen.

Yn 'e lêste paragraaf haw ik jo oanjûn hoe't jo in kontrôle meitsje dy't test is. It ls-kommando útfiere sil jo de tagongsrjochten foar dit map sjen litte:

ls -lt

De kânsen binne dat jo wat hawwe by dizze rigels:

drwxr-xr-x 2 eigener groep 4096 9 mar 19 19:34 test

De bits dy't wy belangend binne binne drwxr-xr-x eigner en groep

De d fertelt ús dat it test in directory is.

De earste trije letters fan 'e d binne de eigner tagongsrjochten foar it map dat oanjûn is troch de namme fan de eigner.

De neikommende trije letters binne de groepsberjochten foar de triem oantsjutte troch de groepsnamme. Eartiids binne de opsjes r, w, en x. De - betsjut dat der in tastimming fynt. Yn it foarbyld boppe ien dy't ta de groep hearre kin tagong hawwe ta de map en lês de triemmen mar kin net skriuwe nei de map.

De einige trije letters binne de tagongsrjochten dy't alle brûkers hawwe en sa't jo yn it foarbyld sjen kinne sjogge dit deselde as de groepsberjochten.

Om de tagongsrjochten foar in bestân of map te wizigjen kinne jo it kommando chmod brûke. It kommando chmod lit jo 3 getallen spesifisearje dy't de tagongsrjochten ynstelle.

Om in mingfoarm fan tagongsrjochten te krijen meitsje jo de nûmers tegearre. Om bygelyks de tagongsrjochten te lêzen en út te fieren, is it nûmer dat jo nedich is 5, om tagong te krijen en te skriuwen te krijen it nûmer 6 en om te skriuwen en fergunningen te krijen is it nûmer 3.

Tink derom dat jo 3 getallen as in part fan it kommando chmod opjaan moatte. It earste nûmer is foar de eigner tagongsrjochten, it twadde nûmer is foar de groepsregelingen en it lêste nûmer is foar elkenien.

Om bygelyks folsleine tagongsrjochten op 'e eigner te krijen, lêze en útfiere tagongsrjochten op' e groep en gjin tagongsrjochten foar elkenien type de folgjende:

chmod 750 test

As jo ​​de groepsnamme wizigje dat in map bestiet, brûk de kommando chgrp.

Soargje dan foarbylden dat jo in map meitsje wolle dat alle kontosters yn jo bedriuw tagong kinne.

Eerst it meitsjen fan de groepsakkounts troch de folgjende te typen:

groupadd accounts

As jo ​​gjin korrekt genôch hawwe om in groep te meitsjen, moatte jo sudo brûke om ekstra privileezjes te krijen of te wikseljen op in akkount mei jildige tagongsrjochten mei it su-kommando .

No kinne jo de groep feroarje foar in map troch de folgjende te typen:

chgrp-accounts

Bygelyks:

chgrp-account test

Om elkenien yn 'e akkount groep lêze, skriuwe en útfiere as de eigner mar lês-allinich foar elkenien kinne jo it folgjende kommando brûke:

chmod 770 test

Om in brûker yn 'e akkountgrutte te foegjen wolst it folgjende kommando brûke:

usermod -a -G accounts

It boppesteande kommando befettet de akkount groep oan de list fan fuortset groepen de brûker hat tagong ta.

Hoe meitsje in Directory en Set permissions yn 'e deselde tiid

Jo kinne in map meitsje en de tagongsrjochten foar dizze map tagelyk brûke by it folgjende kommando brûke:

mkdir -m777

It boppeste kommando sil in map meitsje dy't elkenien tagong hat. It is hiel seldsum dat jo alles mei dit soarte fan tagongsrjochten meitsje wolle.

Meitsje in map en alle âlders dy't ferplicht binne

Stel dan dat jo in triemstruktuer meitsje wolle, mar jo wolle net elke yndividuele map mei de manier oanmeitsje en jo wei nei in beam wurkje.

Jo kinne bygelyks folders foar jo muzyk meitsje:

It soe soargen meitsje dat de rock folder, de alice cooper en de keninginne map, en dan de rap folder en de dr dre map en dan de jazz-map en dan de louisjordan-map oanmeitsje moat.

Troch it oanpassen fan de neikommende skeakel kinne jo alle âldere mappen op 'e flecht meitsje as se net al binne.

mkdir -p

Om bygelyks ien fan de hjirboppe opnij mappen te meitsjen, besykje it folgjende kommando:

mkdir -p ~ / muzyk / rock / alicecooper

Befestiging befetsje dat in map makke is

Standert is it kommando mkdir jo net te fertellen as de triem dy't jo skeppe is mei sukses makke. As der gjin flater ferskynt dan kinne jo derfan oerjaan dat it hat.

As jo ​​mear verbose útfier krije wolle, dat jo witte wat der kreëarre is makke binne de folgjende wiksel.

mkdir -v

De útfier sil liede by de rigels fan mkdir: makke directory / path / to / directory name .

Mei & # 34; mkdir & # 34; yn in Shell Skript

Soms wolle jo it kommando "mkdir" as in diel fan in shellskript brûke. Bygelyks litte wy sjen nei in skript dat in paad nimt. As it skript útfiert wurdt, sil de map kreëarje en in inkele tekst bestân taheakje as "hallo".

#! / bin / bash

mkdir $ @

cd $ @

hello harkje

De earste line moat yn elke skript opnommen wurde dy't jo skriuwe en wurdt brûkt om te sjen dat dit in feit is in BASH-skript.

It kommando "mkdir" wurdt brûkt om in map te meitsjen. De "$ @" ( ek bekend as input parameters ) oan 'e ein fan' e 2e en 3e rigel is ferfongen troch de wearde dy't jo oanpasse by it útfieren fan it skript.

It kommando "cd" feroaret yn 'e triemtafel dy't jo oantsjutte en úteinlik liedt it touch-kommando in lege bestân as "hallo".

Jo kinne it skript foar jo sels probearje. Om sa te dwaan folgje dizze ynstruksje:

  1. Iepenje in terminalfinster (druk Alt en T moat it dwaan)
  2. Enter nano createhellodirectory.sh
  3. Typje de kommando's hjirboppe yn de redakteur
  4. Besparje it bestân troch op CTRL en o op deselde tiid te drukken
  5. Tafoegje it bestân troch te drukken op CTRL en X tagelyk
  6. Feroarje de tagongsrjochten troch te typen fan chmod + x createhellodirectory.sh
  7. Fiere it skript troch te typen ./createhellodirectory.sh test

As jo ​​it skript útfiere, sil in triemtafel neamd "test" wurde makke en as jo wizigje yn dat triemtafel ( cd test) en in directorylist ( ls) útfiere , sille jo in ienichriem sjogge "hello".

Sawat sa goed, mar no probearje no 7 nochris.

  1. In flater sil ferskine dat de map al bestiet.

Der binne ferskate dingen dy't wy dwaan kinne om it skript te ferbetterjen. Bygelyks, as de map al bestiet, dogge wy net sa lang as it bestiet.

#! / bin / bash

mkdir -p $ @

cd $ @

hello harkje

As jo ​​de -p as in diel fan it kommando mkdir oantsjutte dan sil it net flater wêze as de map bestiet al, mar as it net bestiet, sil it it meitsje.

As it bart, sil it berekkeningsgegevens in bestân meitsje as it net bestiet, mar as it bestiet, it makket gewoan de lêste tagong ta datum en tiid.

Stel dan de touch-oanfetting wer ferfongen troch in echo-ferklearring dy't de tekst skriuwt nei in triem:

#! / bin / bash

mkdir -p $ @

cd $ @

echo "hallo" >> hallo

As jo ​​it kommando "./createhellodirectory.sh test" werneame, dan wurdt it effekt sa dat de bestânsnamme "hallo" yn 't testriem grutter en grutter groeie mei mear en mear linen mei it wurd "hallo" yn it.

No kin dit wêze of miskien net as bedoeld mar lit ús no sizze dat dit net de winske aksje is. Jo kinne in test skriuwe om te soargjen dat it map bestiet net foardat jo de echo kommando útfiere.

#! / bin / bash

mkdir $ @ 2> / dev / null;

as [$? -eq 0]; dan

cd $ @

echo "hallo" >> hallo

útgong

fi

It boppeste skript is myn foarkommende metoade foar it behanneljen fan mappen fan mappen. It kommando mkdir soarget foar de map dy't as in inputparameter oerjûn wurdt, mar elke flaterútfier wurdt stjoerd nei / dev / null (wat it noedlik betsjut).

De tredde line kontrolearret de útfierstatus fan it foarige befeljen dat de "mkdir"-statement is en as it slagget it de ferklearring útfiere oant de statement fan 'fi' berikt is.

Dit betsjut dat jo de map oanmeitsje en alle dingen dwaan kinne jo wolle as it kommando súksesfol is. As jo ​​wat oars dwaan as it kommando net slagge dan kinne jo in oare deklaraasje as folgjende ynfiere:

#! / bin / bash

mkdir $ @ 2> / dev / null;

as [$? -eq 0]; dan
cd $ @
echo "hallo" >> hallo
útgong
oars
cd $ @
echo "hallo"> hallo
útgong
fi

Yn it boppeste skript as de mkdir-deklaraasje wurket dan stjoert it echo-ferklearring it wurd "hallo" oan it ein fan it bestân dat "hallo" neamd wurdt, wylst as it net bestiet, in nije triem sil makke wurde "Hello" mei it wurd " hello "yn it.

Dit foarbyld is net spesjaal praktysk om't jo de deselde resultaten gewoan trochgean koenen troch altyd de echo "hello"> hello line . It punt fan it foarbyld is te sjen dat jo it kommando "mkdir" útfiere kinne, ferbergje de flaterútfier, kontrolearje de status fan it kommando om te sjen oft it suksesfol is of net en set dan ien kommando set as it "mkdir" kommando wie suksesfol en in oare set fan kommando's as it net wie.