Kuidas luua kataloogid Linuxis käsuga mkdir

See juhend näitab teile, kuidas luua Linuxis uusi käsuallika abil uusi kaustu või katalooge.

Käsk, mida te kataloogide loomiseks kasutate, on mkdir. See artikkel näitab Linuxi kataloogide loomise põhilist moodust ja kõiki olemasolevaid lülitusi.

Kuidas luua uut kataloogi

Kõige lihtsam viis uue kataloogi loomiseks on järgmine:

mkdir

Näiteks kui soovite luua kataloogi oma kodukataloogi nimega test, avage terminali aken ja veenduge, et olete oma kodukataloogis (kasutage käsku cd ~ ).

mkdiri test

Uue kataloogi õiguste muutmine

Pärast uue kausta loomist võite lubasid määrata nii, et ainult teatud kasutaja saaks sellele kausta juurde pääseda või et mõned inimesed saaksid kataloogis faile redigeerida, kuid teised on ainult lugenud.

Viimases osas näitasin ma, kuidas luua kataloogi test. Käsu ls käivitamine näitab teile selle kataloogi õigusi:

ls -lt

Võimalik, et teil on midagi sellist:

drwxr-xr-x 2 omanik 4096 Märts 9 19:34 test

Bitid, mida oleme huvitatud, on drwxr-xr-x omanik ja rühm

D ütleb meile, et test on kataloog.

Esimesed kolm tähte pärast d on omaniku õigused kataloogi, mille on määranud omaniku nimi.

Järgmised kolm märki on rühma nimega määratud faili rühma õigused. Valikud on jällegi r, w ja x. - tähendab, et puudub luba. Eespool toodud näites saab igaüks, kes kuulub gruppi, juurdepääsu kausta ja lugema failid, kuid ei saa seda kausta kirjutada.

Kolm viimast tähemärki on õigused, mida kõik kasutajad on ja nagu näete ülaltoodud näites, on need samad kui grupi õigused.

Faili või kausta õiguste muutmiseks võite kasutada chmod- käsku. Chmod käsk võimaldab määrata 3 numbrit, mis määravad õigused.

Lubade segu saamiseks lisage numbrid koos. Näiteks selleks, et lugeda ja käivitada õigusi, on vajalik number 5, lugemis- ja kirjutamisõiguse saamiseks number 6 ja õiguste kirjutamise ja täitmise saamiseks number 3.

Pea meeles, et chmod käsu osana tuleb määrata 3 numbrit. Esimene number on omaniku õiguste jaoks, teine ​​number on grupi õiguste jaoks ja viimane number on kõigile teistele.

Näiteks omaniku täielike õiguste saamiseks, grupi õiguste lugemiseks ja täitmiseks ning keegi ei anna õigusi, sisestage järgmised andmed:

chmod 750 test

Kui soovite kataloogi omava grupi nime muuta, kasutage käsku chgrp.

Näiteks kujutage ette, et soovite luua kataloogi, mida kõik teie ettevõtte raamatupidajad saavad kasutada.

Kõigepealt looge grupikontod, kirjutades järgmised andmed:

groupadd kontod

Kui sul ei ole õiget luba grupi loomiseks, peate võib-olla kasutama sudo lisavõimaluste saamiseks või su käsu abil kehtivate õigustega kontole üle minema.

Nüüd saate kausta gruppi muuta, sisestades järgmised andmed:

chgrp kontod

Näiteks:

chgrp kontode test

Selleks, et anda kellelegi kontode grupile lugeda, kirjutada ja käivitada juurdepääs, samuti omanik, kuid kõigile teistele saab seda lugeda ainult järgmise käsuga:

chmod 770 test

Kasutaja lisamiseks konto gruppi soovid tõenäoliselt kasutada järgmist käsku:

usermod -a -G kontod

Ülalolev käsu lisab kontode rühma teiseste rühmade loendisse, millele kasutajal on juurdepääs.

Kuidas luua kataloogi ja määrata õigused samal ajal

Saate luua kataloogi ja seadistada selle kataloogi õigused samaaegselt järgmise käsuga:

mkdir -m777

Ülalolev käsk loob kataloogi, millele kõigil on juurdepääs. On väga haruldane, et soovite selliseid lubasid luua.

Loo kaust ja kõik vanemad, mis on vajalikud

Kujutage ette, et soovite luua kataloogistruktuuri, kuid te ei soovi luua iga üksiku kausta viisil ja töötada oma puu alla.

Näiteks võite oma muusika kaustu luua järgmiselt:

Oleks tüütu luua rock kausta, seejärel alice cooper ja queen kausta ning seejärel luua rap-kaust ja dr dre kaust ja seejärel jazz kaust ja seejärel louisjordan kaust.

Kui määrate järgmise lüliti, saate luua kõik vanemate kaustad, kui need pole veel olemas.

mkdir -p

Näiteks ülal loetletud kaustade loomiseks proovige järgmist käsku:

mkdir-p ~ / music / rock / alicecooper

Kinnitus, et kataloog loodi

Vaikimisi ei ütle mkdir-käsk sulle, kas loodud kataloog loodi edukalt. Kui vead ei ilmu, võite eeldada, et see on olemas.

Kui soovite rohkem verbaalset väljundit, nii et saate teada, mis on loodud, kasutage järgmist lülitit.

mkdir -v

Väljund on mkdir: loodud directory / path / to / directoryname .

& # 34; mkdir & # 34; Shelli skriptis

Mõnikord soovid kasutada käsku "mkdir" shelliskripti osana. Näiteks vaatame skripti, mis võtab tee vastu. Kui skript käivitatakse, luuakse see kaust ja lisatakse üks tekstfail nimega "hello".

#! / bin / bash

mkdir $ @

cd $ @

puudutage tere

Esimene rida tuleks lisada igasse skripti, mida kirjutad ja mida kasutatakse, et näidata, et see on tõepoolest BASH-skript.

Käsku "mkdir" kasutatakse kausta loomiseks. 2. ja 3. rida lõpus asuv "$ @" ( tuntud ka kui sisendparameetrid ) asendatakse skripti käivitamisel määratud väärtusega.

Käsk "cd" muudab teie määratud kataloogi ja lõpuks teeb puute käsk tühja faili nimega "hello".

Võite skripti ise proovida. Selleks järgige neid juhiseid:

  1. Avage terminali aken (vajutage klahvi Alt ja T peaks seda tegema)
  2. Sisesta nano createhellodirectory.sh
  3. Sisestage redaktorisse ülaltoodud käskud
  4. Salvestage fail, vajutades CTRL ja O samal ajal
  5. Väljuge failist, vajutades CTRL ja X samal ajal
  6. Muutke õigusi, kirjutades chmod + x createhellodirectory.sh
  7. Käivitage skript, kirjutades ./createhellodirectory.sh test

Skripti käivitamisel luuakse kataloog "test" ja kui te selle kataloogi ( cd test) muutke ja käitate katalooginimekirjas ( ls), näete ühte faili nimega "hello".

Siiani nii hea, kuid nüüd proovige uuesti käivitada 7. samm.

  1. Ilmub veateade, mis kinnitab, et kaust on juba olemas.

Skripti täiustamiseks võime teha erinevaid asju. Näiteks kui kaust on juba olemas, siis me eriti ei hooli, kui see on olemas.

#! / bin / bash

mkdir-p $ @

cd $ @

puudutage tere

Kui määrate käsu mkdir osana -p, siis pole see ka siis, kui kaust on juba olemas, kuid kui seda pole, loob see ka selle.

Nagu juhtub, käivitab puudutus käsk faili, kui seda ei eksisteeri, kuid kui see eksisteerib, siis muudab see lihtsalt viimast kasutatud kuupäeva ja kellaaega.

Kujutage ette, et puuteavaldus asendati echo avaldusega, mis kirjutab teksti faili järgmiselt:

#! / bin / bash

mkdir-p $ @

cd $ @

echo "hello" >> hello

Kui käivitate käskluse "./createhellodirectory.sh test", siis taaskord ja jälle mõjutab see, et testkataloogis olev fail "tere" kasvab suuremaks ja suuremaks, lisades rohkem ja rohkem sõnu "hello".

Nüüd võib see olla või mitte olla nii ette nähtud, kuid ütleme nüüd, et see pole soovitud toiming. Saate kirjutada testi, et veenduda, et kataloogi ei eksisteeri enne, kui käivitage kaja käsu järgmiselt.

#! / bin / bash

mkdir $ @ 2> / dev / null;

kui [$? - eq 0]; siis

cd $ @

echo "hello" >> hello

väljumine

fi

Eespool toodud skript on minu eelistatud meetod kaustade loomise käitlemiseks. Käsk mkdir loob kausta, mis edastatakse sisendparameetrina, kuid mis tahes veaväljund saadetakse / dev / nullile (mis põhimõtteliselt tähendab kuhugi).

Kolmas rida kontrollib eelmise käsu, mis on "mkdir" avaldus, väljundi olekut ja kui see õnnestub, esitab see avaldused kuni fi-avalduse jõudmiseni.

See tähendab, et saate luua kausta ja täita kõik, mida soovid, kui käsk on edukas. Kui soovite midagi muud teha, kui käsk ei õnnestunud, võite lihtsalt sisestada muu avalduse järgmiselt:

#! / bin / bash

mkdir $ @ 2> / dev / null;

kui [$? - eq 0]; siis
cd $ @
echo "hello" >> hello
väljumine
muidu
cd $ @
echo "hello"> hello
väljumine
fi

Kui ülaltoodud skripti töötab mkdir-aruanne, saadab echo-avaldus sõna "hello" faili lõppu nimega "hello", samas kui selle olemasolu korral luuakse uus fail nimega "hello" sõnaga " tere "selles.

See näide ei ole eriti praktiline, sest võite saavutada samad tulemused lihtsalt alati, kui käidate kaja "hello"> hello line . Selle näite näide on näidata, et saate käivitada käsu "mkdir", peita veaväljund, kontrollida käsku olekut, et näha, kas see oli edukas või mitte, ja seejärel käivitada üks käskude komplekt, kui käsk "mkdir" oli edukas ja teine ​​käskude komplekt, kui seda ei tehtud.