Si të krijoni direktoriume në Linux me komandën "mkdir"

Ky udhëzues do t'ju tregojë se si të krijoni dosje të reja ose drejtori brenda Linux duke përdorur linjën e komandave.

Komanda që përdorni për krijimin e drejtorive është mkdir. Ky artikull ju tregon mënyrën bazë për të krijuar direktori në Linux, si dhe mbulimin e të gjithë çelsave në dispozicion.

Si të krijoni një direktori të re

Mënyra më e thjeshtë për të krijuar një direktori të re është si më poshtë:

mkdir

Për shembull, nëse dëshironi të krijoni një direktori në dosjen tuaj të shtëpisë të quajtur test, hapni një dritare të terminalit dhe sigurohuni që jeni në dosjen tuaj të shtëpisë (përdorni cd ~ command ).

test mkdir

Ndryshimi i Lejeve të Drejtorisë së Re

Pas krijimit të një dosjeje të re, mund të dëshironi të vendosni lejet në mënyrë që vetëm një përdorues të caktuar të mund të hyjë në dosje ose në mënyrë që disa njerëz të mund të modifikojnë skedarët në dosje, por të tjerët kanë lexuar vetëm.

Në pjesën e fundit, ju tregova se si të krijoni një directory të quajtur test. Running command ls do t'ju tregojë lejet për atë directory:

ls -lt

Shanset janë që ju do të keni diçka përgjatë këtyre vijave:

drwxr-xr-x 2 grupi i pronarëve 4096 9 mars 19:34 test

BITS ne jemi të interesuar në janë drwxr-xr-x pronar dhe grup

D na tregon se prova është një direktori.

Tre karakteret e para pas d janë lejet e pronarit për direktorinë e specifikuar nga emri i pronarit.

Tre personazhet e ardhshme janë lejet e grupit për skedarin e specifikuar nga emri i grupit. Përsëri opsionet janë r, w, dhe x. - do të thotë që mungon një leje. Në shembullin e mësipërm cilido që i përket grupit mund të hyjë në dosje dhe të lexojë skedarët por nuk mund të shkruajë në dosje.

Tre personazhet e fundit janë lejet që të gjithë përdoruesit kanë dhe siç mund ta shihni në shembullin e mësipërm, janë të njëjta me lejet e grupit.

Për të ndryshuar lejet për një skedar ose dosje, mund të përdorni komandën chmod . Komanda chmod ju lejon të specifikoni 3 numra që përcaktojnë lejet.

Për të marrë një përzierje të lejeve ju shtoni numrat së bashku. Për shembull, për të lexuar dhe ekzekutuar lejet, numri që ju nevojitet është 5, për të marrë lejet e leximit dhe të shkruarit numri është 6 dhe për të marrë leje për të shkruar dhe ekzekutuar numri është 3.

Mos harroni që duhet të specifikoni 3 numra si pjesë e komandës chmod. Numri i parë është për lejet e pronarit, numri i dytë është për lejet e grupit dhe numri i fundit është për të gjithë të tjerët.

Për shembull, për të marrë leje të plota mbi pronarin, lexoni dhe ekzekutoni lejet në grup dhe nuk keni leje për cilindo tjetër, shkruani sa vijon:

provë chmod 750

Nëse dëshironi të ndryshoni emrin e grupit që posedon një dosje, përdorni komandën chgrp.

Për shembull, imagjinoni që dëshironi të krijoni një direktori që të gjithë kontabilistët në kompaninë tuaj mund të kenë qasje.

Para së gjithash, krijoni llogaritë e grupit duke shtypur në vijim:

llogaritë grupore

Nëse nuk keni lejen e duhur për të krijuar një grup, mund të duhet të përdorni sudo për të fituar privilegje shtesë ose të kaloni në një llogari me leje të vlefshme duke përdorur komandën su .

Tani mund ta ndryshoni grupin për një dosje duke shtypur në vijim:

llogaritë chgrp

Për shembull:

testet e llogarive chgrp

Për t'i dhënë secilit në grupin e llogarive lexoni, shkruani dhe ekzekutoni aksesin si dhe pronarin, por lexoni vetëm për të gjithë të tjerët që mund të përdorni komandën e mëposhtme:

provë chmod 770

Për të shtuar një përdorues në grupin e llogarive, ndoshta do të dëshironi të përdorni komandën e mëposhtme:

usermod -a -G llogaritë

Komanda e mësipërme shton grupin e llogarive në listën e grupeve dytësore që përdoruesi ka qasje.

Si të krijoni një direktori dhe të vendosni leje në të njëjtën kohë

Mund të krijoni një direktori dhe të vendosni lejet për atë directory në të njëjtën kohë duke përdorur komandën e mëposhtme:

mkdir -m777

Komanda e mësipërme do të krijojë një dosje që të gjithë kanë qasje. Është shumë e rrallë që dëshironi të krijoni diçka me këtë lloj leje.

Krijo një dosje dhe çdo prind që kërkohet

Imagjinoni që dëshironi të krijoni një strukturë të direktorisë, por nuk doni të krijoni çdo dosje individuale së bashku me mënyrën dhe punoni në rrugën tuaj poshtë një peme.

Për shembull, mund të krijoni dosje për muzikën tuaj si më poshtë:

Do të ishte e bezdisshme të kishit të krijoni dosjen e shkëmbinjve, pastaj arkivin alice dhe dosjen e mbretëreshës dhe pastaj të krijoni dosjen rap dhe dosjen e dr dre dhe pastaj dosjen e xhazit dhe pastaj dosjen e louisjordan.

Duke specifikuar kalimin e mëposhtëm, mund të krijoni të gjitha dosjet mëmë për të fluturuar nëse nuk ekzistojnë.

mkdir -p

Për shembull, për të krijuar një nga dosjet e renditura më sipër, provoni komandën e mëposhtme:

mkdir -p ~ / music / rock / alicecooper

Marrja e konfirmimit Që u krijua një direktori

By default, komanda mkdir nuk ju tregon nëse dosja që po krijoni u krijua me sukses. Nëse nuk shfaqet ndonjë gabim atëherë mund të supozoni se ka.

Nëse doni të merrni më shumë prodhime në mënyrë të tillë që të dini se çfarë është krijuar, përdorni kalimin e mëposhtëm.

mkdir -v

Dalja do të jetë përgjatë vijave të mkdir: directory krijuar / path / to / directoryname .

Duke përdorur & # 34; mkdir & # 34; në një Shell Script

Ndonjëherë do të dëshironi të përdorni komandën "mkdir" si pjesë e një skriptë shell. Për shembull, le të shohim një skript që pranon një rrugë. Kur ekzekutohet skripti do të krijojë dosjen dhe do të shtojë një skedar teksti të vetëm të quajtur "hello".

#! / Bin / bash

mkdir $ @

cd $ @

prekni hello

Rreshti i parë duhet të përfshihet në çdo skript që ju shkruani dhe përdoret për të treguar se ky është me të vërtetë një skenar i BASH.

Komanda "mkdir" përdoret për të krijuar një dosje. "$ @" (I njohur gjithashtu si parametra hyrjeje ) në fund të vijës së dytë dhe të tretë zëvendësohet me vlerën që specifikoni gjatë drejtimit të skriptit.

Komanda "cd" ndryshon në direktorinë që specifikoni dhe më në fund komanda prek krijon një skedar të zbrazët të quajtur "hello".

Ju mund ta provoni skenarin për veten tuaj. Për ta bërë këtë, ndiqni këto udhëzime:

  1. Hapni një dritare terminali (shtypni Alt dhe T duhet ta bëni)
  2. Shkruani nano createhellodirectory.sh
  3. Shkruani komandat e mësipërme në editor
  4. Ruaj skedarin duke shtypur CTRL dhe O në të njëjtën kohë
  5. Dalja e skedarit duke shtypur CTRL dhe X në të njëjtën kohë
  6. Ndryshoni lejet duke shtypur chmod + x createhellodirectory.sh
  7. Drejtoni skenarin duke shtypur ./createhellodirectory.sh test

Kur drejtoni skriptin, do të krijohet një directory e quajtur "test" dhe nëse ndryshoni në atë dosje ( cd test) dhe drejtoni listën e listave ( ls), do të shihni një skedar të vetëm të quajtur "hello".

Deri tani kaq mirë, por tani provo sërish hapin 7 përsëri.

  1. Do të shfaqet një gabim ku thuhet se dosja tashmë ekziston.

Ka gjëra të ndryshme që mund të bëjmë për të përmirësuar skenarin. Për shembull, nëse dosja tashmë ekziston, ne nuk e interesojmë veçanërisht për aq kohë sa ekziston.

#! / Bin / bash

mkdir -p $ @

cd $ @

prekni hello

Nëse specifikoni -p si pjesë të komandës mkdir, atëherë nuk do të gabojë nëse dosja tashmë ekziston, por nëse nuk ekziston ajo do ta krijojë atë.

Siç ndodh, komanda me prekje do të krijojë një skedar nëse nuk ekziston, por nëse ekziston ai thjesht ndryshon datën dhe kohën e fundit të qasjes.

Imagjinoni që deklarata prekëse u zëvendësua me një deklaratë të jehonës që shkruan tekstin në një skedar si më poshtë:

#! / Bin / bash

mkdir -p $ @

cd $ @

echo "hello" >> hello

Nëse e nisni komandën "./createhellodirectory.sh test" përsëri dhe përsëri, efekti do të jetë që skedari i quajtur "hello" në dosjen e testimit do të rritet gjithnjë e më shumë me më shumë rreshta me fjalën "hello" në të.

Tani, kjo mund ose nuk mund të jetë si qëllim, por le të themi tani për tani se ky nuk është veprimi i dëshiruar. Ju mund të shkruani një test për të siguruar që dosja të mos ekzistojë para se të ekzekutoni komandën e echo si më poshtë.

#! / Bin / bash

mkdir $ @ 2> / dev / null;

nëse [$? -eq 0]; atëherë

cd $ @

echo "hello" >> hello

dalje

fi

Skenari i mësipërm është metoda ime e preferuar për trajtimin e krijimit të dosjeve. Komanda mkdir krijon dosjen e cila kalon si një parametër të hyrjes, por çdo dalje gabimi është dërguar në / dev / null (që në thelb nuk do të thotë askund).

Linja e tretë kontrollon statusin e prodhimit të komandës së mëparshme, që është deklarata "mkdir" dhe nëse ajo arrin, do të kryejë deklaratat derisa të arrihet deklarata "fi".

Kjo do të thotë që ju mund të krijoni dosjen dhe të kryeni të gjitha gjërat që dëshironi nëse komanda është e suksesshme. Nëse doni të bëni diçka tjetër nëse komanda nuk ka sukses atëherë ju thjesht mund të shkruani një deklaratë tjetër si më poshtë:

#! / Bin / bash

mkdir $ @ 2> / dev / null;

nëse [$? -eq 0]; atëherë
cd $ @
echo "hello" >> hello
dalje
tjetër
cd $ @
echo "hello"> hello
dalje
fi

Në skenarin e mësipërm nëse funksionon deklarata mkdir atëherë deklarata e echo dërgon fjalën "hello" në fund të skedarit të quajtur "hello" ndërsa nëse nuk ekziston një skedar i ri do të krijohet quajtur "hello" me fjalën " hello "në të.

Ky shembull nuk është veçanërisht praktik sepse mund të arrini të njëjtat rezultate thjesht duke drejtuar echo "hello"> hello line . Pika e shembullit është të tregoni se mund të kryeni komandën "mkdir", fshehni daljen e gabimit, kontrolloni statusin e komandës për të parë nëse ai ishte i suksesshëm ose jo dhe pastaj kryeni një grup komandash nëse komanda "mkdir" ishte e suksesshme dhe një grup tjetër komandash nëse nuk ishte.