A könyvtárak létrehozása Linux alatt az "mkdir" paranccsal

Ez az útmutató megmutatja, hogyan hozhat létre új mappákat vagy könyvtárakat Linux alatt a parancssor használatával.

A könyvtárak létrehozásához használt parancs mkdir. Ez a cikk megmutatja a Linux könyvtárak létrehozásának alapvető módját, valamint az összes rendelkezésre álló kapcsolót.

Hogyan hozzunk létre egy új könyvtárat

Az új könyvtár létrehozásának legegyszerűbb módja a következő:

mkdir

Például, ha könyvtárat szeretne létrehozni a címtárban a teszt alatt, akkor nyisson meg egy terminál ablakot, és győződjön meg róla, hogy otthoni mappájában van (használja a cd ~ parancsot ).

mkdir teszt

Az új könyvtár jogosultságainak módosítása

Miután létrehozott egy új mappát, meg szeretné állítani az engedélyeket, hogy csak egy adott felhasználó férhessen hozzá a mappához, vagy hogy egyesek szerkeszthetnek fájlokat a mappában, mások csak olvassák.

Az utolsó részben megmutattam, hogyan hozhat létre egy tesztelt könyvtárat. Az ls parancs futtatása megmutatja a könyvtár jogosultságait:

ls -lt

Az esélye van, hogy neked van valami ilyen vonal mentén:

drwxr-xr-x 2 tulajdonos csoport 4096 9. márc 19:34 teszt

A bitek, amiről érdekel minket, a drwxr-xr-x tulajdonos és csoport

A d azt mondja, hogy a teszt könyvtár.

Az első három karakter a d után a tulajdonos nevére megadott könyvtár tulajdonosi engedélyei.

A következő három karakter a csoportnév által megadott fájlhoz tartozó csoportos engedélyek. Ismét a lehetőségek r, w, és x. A - azt jelenti, hogy engedély hiányzik. A fenti példában bárki, aki a csoporthoz tartozik, hozzáférhet a mappához és elolvashatja a fájlokat, de nem tud írni a mappába.

Az utolsó három karakter az összes felhasználó jogosultsága, és amint azt a fenti példában láthatja, ezek ugyanazok, mint a csoportos engedélyek.

A fájlok vagy mappák engedélyeinek megváltoztatásához használhatja a chmod parancsot. A chmod parancs segítségével 3 számot adhat meg, amelyek beállítják az engedélyeket.

Az engedélyek keverékéhez hozzáadja a számokat. Például az engedélyek elolvasásához és végrehajtásához a szükséges szám 5, olvasási és írási jogosultságok megszerzéséhez a szám 6, és írási és engedélyek végrehajtásához a szám 3.

Ne feledje, hogy a chmod parancs részeként 3 számot kell megadnia. Az első szám a tulajdonos engedélyeire vonatkozik, a második szám a csoportos engedélyekhez és az utolsó szám mindenki számára.

Például, ha teljes engedélyt kap a tulajdonosnál, olvasni és végrehajtani a csoport jogosultságait, és senki máshoz nem engedélyezi, írja be a következőket:

chmod 750 teszt

Ha módosítani szeretné a mappa tulajdonosait, használja a chgrp parancsot.

Képzeld el például, hogy olyan könyvtárat szeretne létrehozni, amelyet a vállalat összes könyvelője hozzáférhet.

Először is hozz létre a csoportos fiókokat az alábbiak beírásával:

groupadd számlák

Ha nem rendelkezik megfelelő jogosultsággal a csoport létrehozásához, akkor a sudo használatához extra jogosultságokat kell kérnie, vagy át kell váltania érvényes engedélyekkel rendelkező fiókra a su parancs használatával .

Most megváltoztathatja a mappák csoportját az alábbiak beírásával:

chgrp fiók

Például:

chgrp fiókok tesztelése

Annak érdekében, hogy valaki a számlák csoportjában bárkit olvashasson, írhasson és végrehajthassa a hozzáférést, valamint a tulajdonosat, de csak olvasható legyen mindenki számára, a következő parancsot használhatja:

chmod 770 teszt

Ha egy felhasználót fel szeretne venni a fiókcsoportba, akkor valószínűleg a következő parancsot szeretné használni:

usermod -a -G számlák

A fenti parancs hozzáadja a fiókcsoportot azokhoz a másodlagos csoportokhoz, amelyekhez a felhasználó hozzáfér.

Hogyan hozzunk létre egy könyvtárat és állítsuk be a jogosultságokat egy időben

Készíthet egy könyvtárat, és egyidejűleg állíthatja be a könyvtár jogosultságait a következő parancs használatával:

mkdir -m777

A fenti parancs létrehoz egy mappát, amelyhez mindenki hozzáfér. Nagyon ritka, hogy ilyen típusú engedélyekkel szeretne bármit létrehozni.

Hozzon létre egy mappát és minden szükséges szülőt

Képzeld el, hogy létre szeretne hozni egy könyvtárstruktúrát, de nem szeretné létrehozni az egyes mappákat az út és a munka végig egy fa mellett.

Például a következőképpen hozhat létre mappákat a zenéhez:

Bosszantó lenne létrehozni a rock mappát, majd az alice cooper és a queen mappát, majd létrehozni a rap mappát és a dr dre mappát, majd a jazz mappát, majd a louisjordan mappát.

A következő kapcsoló megadásával minden szülőmappát létrehozhat, ha már nem léteznek.

mkdir -p

Például a fent felsorolt ​​mappák létrehozásához próbálkozzon a következő paranccsal:

mkdir -p ~ / zene / rock / alicecooper

Megerősítés arról, hogy létrehozták a könyvtárat

Alapértelmezés szerint az mkdir parancs nem mondja meg, hogy a létrehozott könyvtár sikeresen létrejött-e. Ha nem jelenik meg hiba, akkor feltételezheti, hogy van.

Ha több verbose kimenetet szeretne kapni, hogy tudja, mi lett létrehozva, használd a következő kapcsolót.

mkdir -v

A kimenet az mkdir: created directory / path / to / könyvtárnév sorában lesz.

A & # 34; mkdir & # 34; egy Shell Scriptben

Néha az "mkdir" parancsot szeretné használni egy shell parancsfájl részeként. Például nézzünk egy olyan szkriptet, amely elfogad egy elérési utat. A parancsfájl végrehajtásakor létre fog hozni a mappát, és hozzáad egy "hello" nevű szöveges fájlt.

#! / Bin / bash

mkdir $ @

cd $ @

érintse meg a hello

Az első sort be kell venni minden írásra, amit írsz, és azt mutatják, hogy ez valóban egy BASH szkript.

Az "mkdir" parancs létrehoz egy mappát. A 2. és 3. sor végén a "$ @" ( más néven bemeneti paraméterek ) helyett a szkript futásakor megadott érték kerül.

A "cd" parancs a megadott könyvtárba változik, és végül az érintőképernyő létrehoz egy üres fájlt "hello" -nak.

Kipróbálhatja a szkriptet magának. Ehhez kövesse az alábbi utasításokat:

  1. Nyisson meg egy terminál ablakot (nyomja meg az Alt billentyűt és T kell tennie)
  2. Adja meg a nano createhellodirectory.sh nevet
  3. Írja be a fenti parancsokat a szerkesztőbe
  4. Mentse a fájlt egyszerre a CTRL és az O gombokkal
  5. A fájl megnyitásához nyomja meg egyszerre a CTRL és az X gombot
  6. Módosítsa az engedélyeket a chmod + x createhellodirectory.sh beírásával
  7. Futtassa a szkriptet a ./createhellodirectory.sh teszt használatával

A parancsfájl futtatásakor létrejön egy "teszt" nevű könyvtár, és ha átkerül a könyvtárba ( cd teszt), és futtat egy könyvtárlistát ( ls), egy "hello" nevű fájlt fog látni.

Eddig olyan jó, de most próbálkozzon újra a 7. lépéssel.

  1. Hiba jelenik meg arról, hogy a mappa már létezik.

Különböző dolgokat tehetünk a forgatókönyv javítása érdekében. Ha például a mappa már létezik, akkor nem különösebben érdekel, ha létezik.

#! / Bin / bash

mkdir -p $ @

cd $ @

érintse meg a hello

Ha a -p parancsot az mkdir parancs részeként adja meg, akkor nem fog hiba, ha a mappa már létezik, de ha nem létezik, létrehozza azt.

Ahogyan ez történik, az érintőparancs létrehoz egy fájlt, ha nem létezik, de ha létezik, egyszerűen módosítja az utolsó elérni kívánt dátumot és időt.

Képzelje el, hogy az érintéses nyilatkozatot egy echo utasítással cserélték le, amely a következőképpen ír le egy fájlt:

#! / Bin / bash

mkdir -p $ @

cd $ @

echo "hello" >> hello

Ha a "./createhellodirectory.sh teszt" parancsot újra és újra futtatja, akkor az lesz a hatása, hogy a tesztkönyvtár "hello" nevű fájlja egyre nagyobb és nagyobb lesz, egyre több sorral a "hello" szóval.

Nos, ez lehet, vagy nem lehet olyan szándékolt, de most mondjuk most, hogy ez nem a kívánt akció. Tesztet írhat, hogy ellenőrizze, hogy a könyvtár nem létezik, mielőtt az echo parancsot az alábbiak szerint futtatná.

#! / Bin / bash

mkdir $ @ 2> / dev / null;

ha [$? -eq 0]; akkor

cd $ @

echo "hello" >> hello

kijárat

fi

A fenti parancsfájl az elsődleges módszer a mappák létrehozásának kezelésére. Az mkdir parancs létrehozza a mappát, amelyet bemeneti paraméterként továbbítanak, de a hiba kimenetét a / dev / null fájlba küldi (ami lényegében sehol semmit jelent).

A harmadik sor ellenőrzi az előző parancs kimeneti állapotát, amely az "mkdir" utasítás, és ha sikeres lesz, akkor végrehajtja a kijelentéseket mindaddig, amíg a "fi" utasítás el nem ér.

Ez azt jelenti, hogy létrehozhatja a mappát és elvégezheti az összes kívánt dolgot, ha a parancs sikeres. Ha valami mást szeretne tenni, ha a parancs nem sikerült, egyszerűen be kell írnia a másik kifejezést az alábbiak szerint:

#! / Bin / bash

mkdir $ @ 2> / dev / null;

ha [$? -eq 0]; akkor
cd $ @
echo "hello" >> hello
kijárat
más
cd $ @
echo "hello"> hello
kijárat
fi

A fenti szkriptben, ha az mkdir utasítás működik, akkor az echo utasítás elküldi a "hello" szót a "hello" nevű fájl végére, míg ha nem létezik, létrehoz egy új fájlt, amelyet "hello" hello "benne.

Ez a példa nem különösen praktikus, mert ugyanazokat az eredményeket érheti el, ha mindig a "hello"> hello vonalat futtatja. A példa lényege, hogy megmutatja, hogy futtathatja az "mkdir" parancsot, elrejti a hiba kimenetét, ellenőrizze a parancs állapotát, hogy meggyőződött-e sikeres vagy sem, majd végrehajt egy parancskészletet, ha az "mkdir" parancs sikeres volt, és még egy parancskészlet is, ha nem.