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.
- r stiet foar lêzen
- w stiet foar skriuwen
- x stiet foar útfieren (wat yn dit gefal betsjut dat jo tagong kinne ta de map)
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.
- Lês tagongsrjochten = 4
- skriuwrjochten = 2 skriuwe
- fergunning permissions = 1
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:
- / home / music / rock / alicecooper
- / home / music / rock / keninginne
- / home / music / rap / drdre
- / home / music / jazz / louisjordan
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:
- Iepenje in terminalfinster (druk Alt en T moat it dwaan)
- Enter nano createhellodirectory.sh
- Typje de kommando's hjirboppe yn de redakteur
- Besparje it bestân troch op CTRL en o op deselde tiid te drukken
- Tafoegje it bestân troch te drukken op CTRL en X tagelyk
- Feroarje de tagongsrjochten troch te typen fan chmod + x createhellodirectory.sh
- 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.
- 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.