Ako vytvoriť adresáre v systéme Linux pomocou príkazu "mkdir"

Táto príručka vám ukáže, ako vytvoriť nové priečinky alebo adresáre v systéme Linux pomocou príkazového riadku.

Príkaz, ktorý používate na vytváranie adresárov, je mkdir. Tento článok vám ukáže základný spôsob vytvárania adresárov v systéme Linux, ako aj pokrytie všetkých dostupných prepínačov.

Ako vytvoriť nový adresár

Najjednoduchší spôsob vytvorenia nového adresára je nasledujúci:

mkdir

Napríklad, ak chcete vytvoriť adresár vo vašom domácom priečinku s názvom test, otvorte okno terminálu a uistite sa, že ste vo vašom domovskom priečinku (použite príkaz cd ~ ).

test mkdir

Zmena oprávnení nového adresára

Po vytvorení nového priečinka môžete nastaviť povolenia tak, aby prístup k tomuto priečinku mohol mať iba určitý používateľ, alebo aby niektorí ľudia mohli upravovať súbory v priečinku, ale ostatní majú len pre čítanie.

V poslednej časti som vám ukázal, ako vytvoriť adresár s názvom test. Spustenie príkazu ls vám ukáže povolenia pre tento adresár:

ls -lt

Pravdepodobne budete mať niečo v týchto smeroch:

drwxr-xr-x 2 skupina vlastníkov 4096 marec 9 19:34 test

Bity, o ktoré máme záujem, sú drwxr-xr-x vlastník a skupina

D nám hovorí, že test je adresár.

Prvé tri znaky za znakom d sú oprávnenia vlastníka pre adresár špecifikovaný menom vlastníka.

Nasledujúce tri znaky predstavujú skupinové povolenia pre súbor špecifikovaný názvom skupiny. Opäť sú možnosti r, w a x. - znamená, že chýba povolenie. Vo vyššie uvedenom príklade môže každý, kto patrí do skupiny, pristupovať do priečinka a čítať súbory, ale nemôže zapisovať do priečinka.

Posledné tri znaky sú oprávnenia, ktoré majú všetci používatelia a ako vidíte v príklade vyššie, sú to isté ako povolenia skupiny.

Ak chcete zmeniť povolenia pre súbor alebo priečinok, môžete použiť príkaz chmod . Príkaz chmod umožňuje špecifikovať 3 čísla, ktoré nastavujú povolenia.

Ak chcete získať zmes povolení, pridajte čísla spolu. Napríklad, ak chcete získať povolenia na čítanie a spúšťanie, potrebujete číslo 5, získať povolenia na čítanie a zápis, číslo je 6 a na získanie povolení na zápis a vykonanie je číslo 3.

Nezabudnite, že musíte uviesť 3 čísla ako súčasť príkazu chmod. Prvé číslo je pre oprávnenia vlastníka, druhé číslo je pre skupinové povolenia a posledné číslo je pre všetkých ostatných.

Napríklad, ak chcete získať plné povolenia vlastníka, čítať a vykonávať povolenia v skupine a žiadne povolenia pre iného, ​​zadajte nasledovné:

chmod 750 test

Ak chcete zmeniť názov skupiny, ktorá vlastní priečinok, použite príkaz chgrp.

Predstavte si napríklad, že chcete vytvoriť adresár, ku ktorému majú prístup všetci účtovníci vo vašej spoločnosti.

Najprv vytvorte skupinové kontá zadaním nasledujúceho:

groupadd účtov

Ak nemáte správne povolenie na vytvorenie skupiny, budete musieť použiť sudo na získanie ďalších privilégií alebo prepnutie na účet s platnými povoleniami pomocou príkazu su .

Teraz môžete zmeniť skupinu pre priečinok zadaním nasledujúceho:

účty chgrp

Napríklad:

test chgrp účtov

Ak chcete dať komukoľvek v účtovnej skupine čítať, písať a vykonávať prístup, rovnako ako vlastník, ale len pre čítanie všetkým ostatným môžete použiť nasledujúci príkaz:

test chmod 770

Ak chcete pridať používateľa do skupiny účtov, pravdepodobne budete chcieť použiť nasledujúci príkaz:

usermod -a -G účty

Uvedený príkaz pripojí skupinu účtov k zoznamu sekundárnych skupín, ku ktorým má používateľ prístup.

Ako vytvoriť adresár a nastaviť oprávnenia v rovnakom čase

Môžete vytvoriť adresár a nastaviť oprávnenia pre tento adresár súčasne pomocou nasledujúceho príkazu:

mkdir -m777

Vyššie uvedený príkaz vytvorí priečinok, ku ktorému má prístup každý. Je veľmi zriedkavé, že by ste chceli vytvoriť čokoľvek s takýmto povolením.

Vytvorte požadovanú zložku a všetkých rodičov

Predstavte si, že chcete vytvoriť štruktúru adresárov, ale nechcete vytvoriť každú jednotlivú zložku spolu so spôsobom a pracovať si cestu po strome.

Môžete napríklad vytvárať priečinky pre vašu hudbu nasledovne:

Bolo by nepríjemné vytvoriť skalné zložky, potom alice cooper a queen zložku a potom vytvoriť zložku rap a zložku dr dre a potom jazz zložku a potom zložku louisjordan.

Zadaním nasledujúceho prepínača môžete vytvoriť všetky rodičovské zložky v pohybe, ak ešte neexistujú.

mkdir -p

Ak chcete napríklad vytvoriť jednu z vyššie uvedených zložiek, skúste použiť nasledujúci príkaz:

mkdir -p ~ / hudba / rock / alicecooper

Získanie potvrdenia o vytvorení adresára

V predvolenom nastavení príkaz mkdir nepovie, či sa úspešne vytvoril adresár, ktorý vytvárate. Ak sa nezobrazia žiadne chyby, môžete predpokladať, že to má.

Ak chcete získať viac podrobného výstupu, aby ste vedeli, čo bolo vytvorené, použite nasledujúci prepínač.

mkdir -v

Výstup bude pozdĺž riadkov mkdir: vytvorený adresár / path / to / directoryname .

Pomocou & # 34; mkdir & # 34; v Shell Script

Niekedy budete chcieť použiť príkaz "mkdir" ako súčasť shellového skriptu. Pozrime sa napríklad na skript, ktorý akceptuje cestu. Po vykonaní skriptu vytvorí priečinok a pridá jeden textový súbor s názvom "ahoj".

#! / Bin / bash

mkdir $ @

cd $ @

dotýkajte sa ahoj

Prvý riadok by mal byť zahrnutý do každého skriptu, ktorý píšete a ktorý sa používa na preukázanie, že ide o skript BASH.

Príkaz "mkdir" slúži na vytvorenie priečinka. Hodnota "$ @" ( známa aj ako vstupné parametre ) na konci druhého a tretieho riadka sa nahradí hodnotou, ktorú určujete pri spustení skriptu.

Príkaz "cd" sa zmení na zadaný adresár a nakoniec dotykový príkaz vytvorí prázdny súbor s názvom "ahoj".

Môžete skúsiť skript pre seba. Postupujte podľa týchto pokynov:

  1. Otvorte okno terminálu (stlačte kláves Alt a T to urobte)
  2. Zadajte nano createhellodirectory.sh
  3. Zadajte príkazy do editora
  4. Súbor uložte stlačením klávesov CTRL a O súčasne
  5. Ukončite súbor stlačením klávesov CTRL a X súčasne
  6. Zmeňte povolenia zadaním chmod + x createhellodirectory.sh
  7. Spustite skript zadaním príkazu ./createhellodirectory.sh

Pri spustení skriptu sa vytvorí adresár s názvom "test" a ak zmeníte na daný adresár ( cd test) a spustite zoznam adresárov ( ls), uvidíte jeden súbor s názvom "ahoj".

Zatiaľ to dobre, ale teraz skúste spustiť krok 7 znova.

  1. Zobrazí sa chyba, že priečinok už existuje.

Existujú rôzne veci, ktoré môžeme urobiť na zlepšenie skriptu. Napríklad, ak priečinok už existuje, netrpíme zvlášť, ak existuje.

#! / Bin / bash

mkdir -p $ @

cd $ @

dotýkajte sa ahoj

Ak zadáte príkaz -p ako súčasť príkazu mkdir, nebude to chyba, ak priečinok už existuje, ale ak neexistuje, vytvorí ho.

Ako sa to stane, dotykový príkaz vytvorí súbor, ak neexistuje, ale ak existuje, jednoducho mení posledný dátum a čas.

Predstavte si, že dotyčný príkaz bol nahradený príkazom echo, ktorý zapisuje text do súboru nasledovne:

#! / Bin / bash

mkdir -p $ @

cd $ @

echo "ahoj" >> ahoj

Ak spustíte príkaz "./createhellodirectory.sh test", znova a znova bude efektom, že súbor s názvom "hello" v testovacom adresári bude čoraz väčší a väčší s čoraz viac riadkov so slovom "ahoj" v ňom.

Teraz to môže alebo nemusí byť tak zamýšľané, ale teraz povedzme, že to nie je požadovaná akcia. Môžete napísať test, aby ste sa uistili, že adresár neexistuje skôr, ako spustíte príkaz echo takto.

#! / Bin / bash

mkdir $ @ 2> / dev / null;

ak [$? -eq 0]; potom

cd $ @

echo "ahoj" >> ahoj

VÝCHOD

fi

Vyššie uvedený skript je moja preferovaná metóda na spracovanie vytvárania priečinkov. Príkaz mkdir vytvorí priečinok, ktorý je odovzdaný ako vstupný parameter, ale akýkoľvek chybový výstup je odoslaný na / dev / null (čo v podstate neznamená nikde).

Tretí riadok skontroluje stav výstupu predchádzajúceho príkazu, ktorý je príkazom "mkdir" a ak sa podarí, vykoná príkazy až do dosiahnutia príkazu "fi".

To znamená, že môžete vytvoriť priečinok a vykonať všetky veci, ktoré chcete, ak je príkaz úspešný. Ak chcete urobiť niečo iné, ak príkaz nebol úspešný, môžete jednoducho zadať iný výrok takto:

#! / Bin / bash

mkdir $ @ 2> / dev / null;

ak [$? -eq 0]; potom
cd $ @
echo "ahoj" >> ahoj
VÝCHOD
inak
cd $ @
echo "hello"> ahoj
VÝCHOD
fi

Vo vyššie uvedenom skripte, ak príkaz mkdir funguje, potom príkaz echo pošle slovo "hello" na koniec súboru s názvom "hello", zatiaľ čo ak neexistuje, vytvorí sa nový súbor s názvom "hello" so slovom " ahoj "v ňom.

Tento príklad nie je príliš praktický, pretože by ste mohli dosiahnuť rovnaké výsledky jednoduchým spustením ozveny "hello"> hello line . Bodom príkladu je ukázať, že môžete spustiť príkaz "mkdir", skryť chybový výstup, skontrolovať stav príkazu a zistiť, či bol úspešný alebo nie, a potom vykonať jednu sadu príkazov, ak príkaz "mkdir" bol úspešný a iný súbor príkazov, ak to nebolo.