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.
- r znamená čítanie
- w znamená zápis
- x znamená vykonať (čo v tomto prípade znamená, že máte prístup do priečinka)
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.
- čítanie povolení = 4
- oprávnenia na zápis = 2
- vykonať povolenia = 1
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:
- / Home / music / rock / Alice Cooper
- / Home / music / rock / queen
- / Home / music / rap / Dr.Dre
- / Home / music / jazz / louisjordan
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:
- Otvorte okno terminálu (stlačte kláves Alt a T to urobte)
- Zadajte nano createhellodirectory.sh
- Zadajte príkazy do editora
- Súbor uložte stlačením klávesov CTRL a O súčasne
- Ukončite súbor stlačením klávesov CTRL a X súčasne
- Zmeňte povolenia zadaním chmod + x createhellodirectory.sh
- 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.
- 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.