Kako stvoriti direktorije u Linuxu s naredbom "mkdir"

Ovaj vodič će vam pokazati kako stvoriti nove mape ili direktorije unutar Linuxa pomoću naredbenog retka.

Naredba koju koristite za izradu direktorija je mkdir. Ovaj vam članak prikazuje osnovni način stvaranja direktorija u Linuxu, kao i pokrivanje svih raspoloživih preklopnika.

Kako stvoriti novi imenik

Najjednostavniji način stvaranja novog imenika je sljedeći:

mkdir

Na primjer, ako želite stvoriti direktorij ispod svoje kuće mape pod nazivom test, otvorite prozor terminala i provjerite jeste li u svom kućnom folderu (koristite cd ~ naredbu ).

mkdir test

Promjena dozvola novog imenika

Nakon izrade nove mape možete postaviti dopuštenja tako da samo određeni korisnik može pristupiti mapi ili nekim ljudima može uređivati ​​datoteke u mapi, a drugi samo čitaju.

U zadnjem odjeljku pokazao sam vam kako izraditi katalog koji se zove test. Pokretanje ls naredbe će vam pokazati dozvole za taj direktorij:

ls -lt

Šanse su da ćete imati nešto slično:

drwxr-xr-x 2 vlasnička grupa 4096 9. ožujka 19:34 test

Bitovi za koje smo zainteresirani su drwxr-xr-x vlasnik i skupina

D nam govori da je test katalog.

Prva tri slova nakon d su vlasnička dopuštenja za direktorij određen vlasnikovim imenom.

Sljedeća tri znaka su grupna dopuštenja za datoteku određenu nazivom grupe. Opcije su opet r, w i x. - znači da nedostaje dopuštenje. U gornjem primjeru bilo tko iz grupe može pristupiti mapi i čitati datoteke, ali ne može pisati u mapu.

Posljednja tri znaka su dopuštenja koja imaju svi korisnici i kao što vidite u gore navedenom primjeru isti su kao dopuštenja za grupu.

Da biste promijenili dopuštenja za datoteku ili mapu, možete upotrijebiti naredbu chmod . Naredba chmod omogućuje vam da odredite 3 brojeve koji postavljaju dopuštenja.

Da biste dobili mješavinu dopuštenja, zajedno dodajte brojeve. Na primjer, da biste dobili dozvole za čitanje i izvršavanje, potreban vam je broj 5, da biste dobili dopuštenje za čitanje i pisanje, broj je 6, a za dobivanje dozvola za pisanje i izvršavanje, broj je 3.

Imajte na umu da morate navesti 3 brojeva u sklopu naredbe chmod. Prvi broj je za vlasničke dozvole, drugi broj je za dozvole za grupu, a posljednji broj za sve ostale.

Na primjer, da biste dobili punu dozvolu vlasniku, pročitali i izvršili dozvole za grupu i bez dozvole za bilo koga drugog, upišite sljedeće:

test chmod 750

Ako želite promijeniti naziv grupe koji posjeduje mapu, upotrijebite naredbu chgrp.

Na primjer, zamislite da želite izraditi direktorij koji mogu pristupiti svi računovođe u vašoj tvrtki.

Prije svega, izradite grupne račune unosom sljedećeg:

grupni računi

Ako nemate točnu dozvolu za stvaranje grupe, možda ćete morati koristiti sudo kako biste dobili dodatne privilegije ili se prebacili na račun s važećim dopuštenjima pomoću su naredbe .

Sada možete promijeniti grupu za mapu upisivanjem sljedećeg:

chgrp računi

Na primjer:

test chgrp račune

Da bi bilo tko u grupi računa mogao čitati, pisati i izvršiti pristup kao i vlasnika, ali samo čitati svima, možete upotrijebiti sljedeću naredbu:

test chmod 770

Da biste dodali korisnika u grupu računa vjerojatno ćete htjeti upotrijebiti sljedeću naredbu:

usermod -a -G računa

Gornja naredba dodaje grupi računa na popis sekundarnih skupina kojima korisnik ima pristup.

Kako stvoriti imenik i postaviti dozvole u isto vrijeme

Možete stvoriti direktorij i postaviti dozvole za taj direktorij istovremeno pomoću sljedeće naredbe:

mkdir -m777

Gornja naredba će stvoriti mapu s kojom svatko ima pristup. Vrlo je rijetko da biste htjeli stvoriti bilo što s ovakvim dozvolama.

Izradite mapu i sve roditelje koji su potrebni

Zamislite da želite stvoriti strukturu direktorija, ali ne želite stvoriti svaku pojedinačnu mapu zajedno s načinom rada i raditi dolje stablo.

Na primjer, možda stvarate mape za svoju glazbu na sljedeći način:

Bilo bi neugodno stvoriti mapu rocka, zatim mapu alice cooper i queen, a zatim stvoriti rap mapu i mapu za dr dre, a zatim jazz mapu, a zatim mapu louisjordan.

Označavanjem sljedeće skretnice možete stvoriti sve glavne mape u letu ako one već ne postoje.

mkdir -p

Na primjer, za stvaranje jedne od gore navedenih mapa pokušajte sa sljedećom naredbom:

mkdir -p ~ / glazba / rock / alicecooper

Dobivanje potvrde da je direktorij stvoren

Prema zadanim postavkama naredba mkdir ne kaže vam je li direktorij koji kreirate uspješno izrađen. Ako se ne pojavljuju pogreške, možete pretpostaviti da ima.

Ako želite dobiti veći izlaz tako da znate što je stvoreno, upotrijebite sljedeći prekidač.

mkdir -v

Izlaz će biti uz liniju mkdir: created directory / path / to / naziv mape .

Koristeći & # 34; mkdir & # 34; u Shell skripti

Ponekad ćete htjeti koristiti naredbu "mkdir" kao dio skripte ljuske. Na primjer, pogledajmo skriptu koja prihvaća put. Kada se izvršava skripta, kreirat će mapu i dodati jednu tekstualnu datoteku pod nazivom "Pozdrav".

#! / Bin / bash

mkdir $ @

cd $ @

dodirni pozdrav

Prva crta trebala bi biti uključena u svaku skriptu koju pišete, a koristi se za pokazivanje da je to doista BASH skripta.

Naredba "mkdir" koristi se za stvaranje mape. "$ @" ( Također poznat kao ulazni parametri ) na kraju drugog i trećeg retka zamjenjuje se vrijednostom koji ste naveli prilikom pokretanja skripte.

Naredba "cd" mijenja se u upisani direktorij i konačno dodirna naredba stvara praznu datoteku pod nazivom "hello".

Možete sami isprobati skriptu. Da biste to učinili, slijedite ove upute:

  1. Otvorite terminalski prozor (pritisnite Alt i T bi trebao to učiniti)
  2. Unesite nano createhellodirectory.sh
  3. Unesite gore navedene naredbe u uređivač
  4. Spremite datoteku istovremeno pritiskom na CTRL i O
  5. Izlaz iz datoteke istovremeno pritiskom na tipke CTRL i X
  6. Promijenite dozvole upisivanjem chmod + x createhellodirectory.sh
  7. Pokrenite skriptu upisivanjem ./createhellodirectory.sh testa

Kada pokrenete skriptu, izradit će se direktorij pod nazivom "test" i ako se promijenite u taj direktorij ( cd test) i pokrenete katalog ( ls), vidjet ćete jednu datoteku pod nazivom "hello".

Do sada je tako dobro, ali sada pokušajte ponovo pokrenuti korak 7.

  1. Pojavit će se pogreška navodeći da mapa već postoji.

Postoje razne stvari koje možemo učiniti kako bismo poboljšali skriptu. Na primjer, ako mapa već postoji, ne bismo osobito brinuli sve dok postoji.

#! / Bin / bash

mkdir -p $ @

cd $ @

dodirni pozdrav

Ako navedete -p kao dio mkdir naredbe onda neće biti greška ako mapa već postoji, ali ako ne postoji, on će ga stvoriti.

Kao što se događa, naredba za dodir će stvoriti datoteku ako ne postoji, ali ako postoji, to jednostavno mijenja posljednji pristup datumu i vremenu.

Zamislite da je izjavu o dodirom zamijenjena izjavom ehe koja piše tekst u datoteku kao što slijedi:

#! / Bin / bash

mkdir -p $ @

cd $ @

echo "hello" >> hello

Ako ponovo i ponovo pokrenete naredbu "./createhellodirectory.sh test", učinak će biti da se datoteka pod nazivom "hello" u testnom direktoriju povećava i povećava s više i više redaka sa riječju "hello" u njemu.

Sada, ovaj svibanj ili svibanj ne biti kao namijenjen, ali recimo za sada da to nije željena akcija. Možete napisati test kako biste bili sigurni da direktorij ne postoji prije nego što pokrenete naredbu echo na sljedeći način.

#! / Bin / bash

mkdir $ @> / dev / null;

ako [$? -eq 0]; zatim

cd $ @

echo "hello" >> hello

Izlaz

fi

Gornja skripta je moja preferirana metoda za rukovanje stvaranjem mapa. Mkdir naredba stvara mapu koja se prenosi kao ulazni parametar, no bilo koji izlaz pogreške šalje se / dev / null (što zapravo znači nigdje).

Treća linija provjerava stanje izlazne priče prethodne naredbe koja je izjava "mkdir" i ako uspije, izvršit će izjave dok se ne prikaže "fi" izjava.

To znači da možete stvoriti mapu i izvršiti sve što želite ako je naredba uspješna. Ako želite učiniti nešto drugo ako naredba nije bila uspješna, jednostavno unesite drugu izjavu kako slijedi:

#! / Bin / bash

mkdir $ @> / dev / null;

ako [$? -eq 0]; zatim
cd $ @
echo "hello" >> hello
Izlaz
drugo
cd $ @
echo "hello"> Pozdrav
Izlaz
fi

U gore navedenoj skripti, ako funkcionira mkdir, onda echo izjava šalje riječ "hello" do kraja datoteke pod nazivom "hello", a ako ne postoji, stvorit će se nova datoteka pod nazivom "hello" s riječ " hello "u njemu.

Ovaj primjer nije osobito praktičan jer biste mogli postići iste rezultate jednostavno tako da uvijek pokrenete echo "hello"> hello line . Primjer je pokazati da možete pokrenuti naredbu "mkdir", sakriti izlaz pogreške, provjeriti status naredbe da biste vidjeli je li uspješan ili ne, a zatim izvršiti jedan skup naredbi ako je naredba "mkdir" je bio uspješan i još jedan skup naredbi ako nije.