Ինչպես ստեղծել Linux- ի կատալոգներ «mkdir» հրամանով

Այս ուղեցույցը ցույց կտա, թե ինչպես պետք է ստեղծել նոր թղթապանակներ կամ դիրեկտորիաներ Linux- ում, օգտագործելով հրամանի տողը:

Հրահանգը, որը դուք օգտագործում եք դիրեկտորիաների ստեղծման համար, mkdir է: Այս հոդվածը ցույց է տալիս Linux- ում դիրեկտորիաների ստեղծման հիմնական ուղին, ինչպես նաեւ ընդգրկելով բոլոր մատչելի անջատիչները:

Ինչպես ստեղծել նոր տեղեկատու

Նոր տեղեկատուի ստեղծման ամենալավ ձեւը հետեւյալն է.

mkdir

Օրինակ, եթե ցանկանում եք ստեղծել թղթապանակի ներքո ձեր տան թղթապանակում գրացուցակ ստեղծելիս, բացեք տերմինալային պատուհան եւ համոզվեք, որ դուք գտնվում եք ձեր տան պանակում (օգտագործեք cd ~ հրամանը ):

mkdir քննություն

Փոփոխելով նոր տեղեկատուի թույլտվությունները

Նոր թղթապանակը ստեղծվելուց հետո կարող եք թույլտվություն սահմանել, որպեսզի միայն որոշակի օգտվողը կարող է մուտք գործել թղթապանակ կամ այնպես, որ որոշ մարդիկ կարող են ֆայլեր խմբագրել թղթապանակում, բայց մյուսները միայն կարդում են:

Վերջին բաժնում ես ցույց տվեցի, թե ինչպես պետք է ստեղծել թեստի անվանման գրացուցակ: Ls- ի հրամանով աշխատելը ցույց կտա ձեզ այս դիրեկտորիայի թույլտվությունները.

ls -lt

Հնարավորությունները դուք կունենաք այս գծերի երկայնքով:

drwxr-xr-x 2 սեփականատեր խումբ 4096 Mar 9 19:34 թեստ

The bits մենք շահագրգռված են drwxr-xr-x սեփականատեր եւ խումբ

D- ը մեզ ասում է, որ թեստը գրացուցակ է:

D- ից հետո առաջին երեք նիշերը սեփականատիրոջ անվանումով նշված գրացուցակի սեփականատիրոջ թույլտվությունները են:

Հաջորդ երեք նիշը խմբային թույլտվություններն են, որոնք նշված են խմբի անունով: Կրկին ընտրանքներ են r, w, եւ x: Դա նշանակում է, որ բացակայում է թույլտվություն: Խմբի պատկանող ցանկացած անձի վերեւում գտնվող օրինակով կարող եք մուտք գործել թղթապանակը եւ կարդալ ֆայլերը, բայց չի կարող գրել թղթապանակը:

Վերջնական երեք նիշը թույլտվություններն են, որոնք բոլոր օգտվողներն ունեն եւ ինչպես կարող եք տեսնել վերը նշված օրինակները նույնն են, ինչ խմբային թույլտվությունները:

Ֆայլի կամ թղթապանակի թույլտվությունները փոխելու համար դուք կարող եք օգտագործել chmod հրամանը: Chmod հրամանը թույլ է տալիս 3 նիշ սահմանել, որոնք թույլտվությունները սահմանում են:

Թույլտվությունների խառնուրդ ստանալու համար ավելացնում եք թվերը միասին: Օրինակ, կարդալու եւ իրականացնելու թույլտվությունները Ձեզ անհրաժեշտ է 5, կարդալու եւ գրելու թույլտվությունների համարը համարը `6 եւ գրելու եւ կատարելու թույլտվությունները, համարը` 3:

Հիշեք, որ դուք պետք է նշեք 3 թվեր որպես chmod հրամանատարության մաս: Առաջին համարը սեփականատիրոջ թույլտվությունների համար է, երկրորդը `խմբի թույլտվությունների համար, իսկ վերջին համարը բոլորի համար է:

Օրինակ, սեփականատիրոջ լիարժեք թույլտվությունները ստանալու, կարդալ եւ իրականացնել թույլտվությունները խմբում, եւ որեւէ մեկի համար թույլտվություն չի տրվում հետեւյալը.

chmod 750 ստուգում

Եթե ​​ցանկանում եք փոխել խումբը, որը պատկանում է թղթապանակին, օգտագործում է chgrp հրամանը:

Օրինակ, պատկերացրեք, որ ցանկանում եք ստեղծել այնպիսի տեղեկատու, որը ձեր ընկերության բոլոր հաշվապահները կարող են մուտք գործել:

Նախ, ստեղծել խմբի հաշիվները `մուտքագրելով հետեւյալը.

groupadd հաշիվներ

Եթե ​​դուք չեք ունենա ճիշտ թույլտվություն խումբ ստեղծել, ապա կարող է անհրաժեշտ լինել օգտագործել sudo- ից լրացուցիչ արտոնություններ ստանալու կամ ջրային հրամանատարության միջոցով վավեր թույլտվություններով անցնել հաշիվ:

Այժմ դուք կարող եք փոխել խումբը թղթապանակով, մուտքագրելով հետեւյալը.

chgrp հաշիվները

Օրինակ:

chgrp հաշիվների քննություն

Հաշիվների խմբում որեւէ մեկին ընթերցելու, գրելու եւ իրականացնելու համար, ինչպես նաեւ սեփականատերը, բայց միայն կարդալ բոլորին, կարող եք օգտագործել հետեւյալ հրահանգը.

chmod 770 թեստ

Հաշիվների խմբի մեջ օգտվողին ավելացնելու համար, հավանաբար, ցանկանում եք օգտագործել հետեւյալ հրահանգը.

usermod -a -G հաշիվները

Վերոհիշյալ հրամանը հաշիվները խմբագրում է օգտվողին մուտք գործող երկրորդային խմբերի ցանկին:

Ինչպես ստեղծել տեղեկատու եւ սահմանել թույլտվություններ նույն ժամանակ

Դուք կարող եք ստեղծել գրացուցակ եւ սահմանել թույլտվությունները այդ գրացուցակի համար, օգտագործելով հետեւյալ հրահանգը.

mkdir -m777

Վերոհիշյալ հրամանը կստեղծի թղթապանակ, որը բոլորի համար հասանելի է: Դա շատ հազվադեպ է, որ դուք ցանկանում եք ստեղծել նման թույլտվություններ:

Ստեղծեք թղթապանակ եւ ցանկացած ծնող, որոնք անհրաժեշտ են

Պատկերացրեք, որ ցանկանում եք ստեղծել գրացուցակային կառուցվածք, բայց դուք չեք ցանկանում ստեղծել յուրաքանչյուր առանձին պանակ, ինչպես նաեւ ճանապարհը եւ աշխատեք ձեր ճանապարհը ծառի տակ:

Օրինակ, ձեր երաժշտության համար կարող եք պաստառներ ստեղծել հետեւյալ կերպ.

Անհանգստացնող է, որ պետք է ստեղծել ռոք թղթապանակը, ապա ալիս cooper and queen թղթապանակը եւ այնուհետեւ ստեղծել rap պանակ եւ dr dre թղթապանակ, ապա ջազ թղթապանակը եւ ապա louisjordan պանակը:

Հստակեցնելով հետեւյալ անցումը, դուք կարող եք ստեղծել բոլոր ծնողի թղթապանակները, եթե դրանք արդեն գոյություն չունեն:

mkdir -p

Օրինակ, վերը նշված թղթապանակներից մեկը ստեղծելու համար փորձեք հետեւյալ հրահանգը.

mkdir -p ~ / երաժշտություն / ռոք / alicecooper

Ստանալ հաստատում, որ ստեղծվել է տեղեկատու

Լռելյայնորեն, mkdir հրամանը չի ասում ձեզ, թե արդյոք ստեղծած ձեր գրացուցակը հաջողությամբ ստեղծվել է: Եթե ​​սխալներ չկան, ապա կարող եք ենթադրել, որ այն ունի:

Եթե ​​ցանկանում եք ավելի հստակ արդյունք ստանալ, որպեսզի գիտեք, թե ինչ է ստեղծվել, օգտագործեք հետեւյալ անջատիչը:

mkdir -v

Արդյունքը կլինի mkdir տողերի երկայնքով . Ստեղծված directory / path / to / directoryname :

Օգտագործում & # 34; mkdir & # 34; մի Shell սկրիպտում

Երբեմն դուք կցանկանաք օգտագործել «mkdir» հրամանը, որպես վահանակի սցենարի մաս: Օրինակ, եկեք դիտենք մի սցենար, որը ընդունում է ուղին: Երբ սցենարը կատարվում է, այն կձեւավորի թղթապանակը եւ կներառի «բարեւ» կոչվող մեկ տեքստային ֆայլ:

#! / bin / bash

mkdir $ @

cd $ @

հարվածել բարեւ

Առաջին տողը պետք է ներառվի այն ամեն սցենարի մեջ, որը դուք գրում եք եւ օգտագործվում է ցույց տալ, որ սա իսկապես BASH սցենար է:

«Mkdir» հրամանը օգտագործվում է թղթապանակ ստեղծելու համար: 2-րդ եւ 3-րդ գլխի վերջում «$ @» ( նաեւ մուտքային պարամետրերը հայտնի են ) փոխարինվում է սցենարի առաջադրման արժեքով:

«Cd» հրամանը փոխում է ձեր նշած տեղեկատուին, եւ վերջապես touch հրամանը ստեղծում է «բարեւ» դատարկ ֆայլ:

Դուք կարող եք փորձել սցենարը ձեզ համար: Դա անելու համար հետեւեք այս հրահանգներին.

  1. Բացեք տերմինալային պատուհանը (սեղմեք Alt եւ T- ը պետք է դա անի)
  2. Մուտքագրեք nano creationhellodirectory.sh- ը
  3. Վերեւում հրամանները մուտքագրեք խմբագրին
  4. Պահեք ֆայլը, սեղմելով CTRL եւ O միաժամանակ
  5. Ընտրեք ֆայլը, սեղմելով CTRL եւ X միաժամանակ
  6. Փոխել թույլտվությունները chmod + x createhellodirectory.sh- ը մուտքագրելիս
  7. Ստեղծեք սցենարը `մուտքագրելով: /createhellodirectory.sh թեստը

Երբ սցենար եք վարում, կստեղծվի «թեսթ» կոչվող տեղեկագիր, եւ եթե դուք փոխեք այդ տեղեկատուին ( cd test) եւ վարում եք ցուցակում ցուցակ ( ls), կտեսնեք մեկ «hello» ֆայլ:

Առայժմ այնքան լավն է, հիմա փորձեք նորից քայլել 7:

  1. Սխալ է հայտնվում, որ թղթապանակը արդեն գոյություն ունի:

Սցենարի բարելավման համար կան տարբեր բաներ: Օրինակ, եթե թղթապանակը արդեն գոյություն ունի, մենք առանձնապես խնամք չունենք այնքան ժամանակ, որքան այն գոյություն ունի:

#! / bin / bash

mkdir -p $ @

cd $ @

հարվածել բարեւ

Եթե ​​նշեք -p- ը որպես mkdir հրամանի մի մասը, ապա սխալ չի լինի, եթե թղթապանակը գոյություն ունի, բայց եթե այն գոյություն չունի, այն կստեղծի այն:

Ինչպես է տեղի ունենում touch հրամանը կստեղծի ֆայլ, եթե այն գոյություն չունի, բայց եթե այն գոյություն ունի, այն ուղղում է վերջին մուտքագրված ամսաթիվը եւ ժամանակը:

Պատկերացրեք, շփման հայտարարությունը փոխարինվել է արձագանքով, որը գրում է ֆայլի հետեւյալ տողը.

#! / bin / bash

mkdir -p $ @

cd $ @

echo "hello" >> բարեւ

Եթե ​​վարում եք հրաման "./createhellodirectory.sh test" կրկին ու կրկին ազդեցությունը կլինի այն, որ փորձարկվող գրացուցակում "բարեւ" ֆայլը կավելանա ավելի մեծ եւ ավելի մեծ թվով գծերով «բարեւ» բառով:

Հիմա, դա կարող է կամ չի կարող լինել, քանի որ նախատեսված է, բայց հիմա ասենք, որ սա ցանկալի գործողություն չէ: Դուք կարող եք գրել թեստ, որպեսզի համոզվեք, որ գրացուցակը գոյություն չունի, նախքան ռեակցիայի հրամանը վարելը:

#! / bin / bash

mkdir $ @ 2> / dev / null;

եթե [$? -eq 0]; ապա

cd $ @

echo "hello" >> բարեւ

ելքը

fi

Վերոհիշյալ սցենարն իմ նախընտրած մեթոդն է թղթապանակների ստեղծման համար: Mkdir- ի հրամանը ստեղծում է այնպիսի թղթապանակը, որը մուտքագրված է որպես մուտքագրման պարամետր, բայց ցանկացած սխալի արդյունքը ուղարկվում է / dev / null (որը նշանակում է ոչ մի տեղ):

Երրորդ շարքը ստուգում է նախորդ հրամանի արտադրանքի կարգավիճակը, որը «mkdir» հայտարարությունն է եւ եթե այն հաջողվի, այն կկատարի հայտարարությունները մինչեւ «Fi» հայտարարությունը:

Սա նշանակում է, որ դուք կարող եք ստեղծել թղթապանակը եւ կատարել այն ամենը, ինչ ցանկանում եք, եթե հրամանը հաջողված է: Եթե ​​ցանկանում եք ինչ-որ բան անել, եթե հրամանը հաջող չլինի, ապա պարզապես կարող եք մուտքագրել այլ հայտարարություն հետեւյալ կերպ.

#! / bin / bash

mkdir $ @ 2> / dev / null;

եթե [$? -eq 0]; ապա
cd $ @
echo "hello" >> բարեւ
ելքը
Այլ
cd $ @
արձագանքեք «բարեւ»> բարեւ
ելքը
fi

Վերոհիշյալ սցենարի դեպքում, եթե mkdir- ի հայտարարությունը գործում է, ապա արձագանքը հայտարարություն է ուղարկվում «բարեւ» բառը «բարեւ», այնուհետեւ, եթե այն գոյություն չունի, կստեղծվի նոր «բարեւ», բարեւ »:

Այս օրինակը հատկապես գործնական չէ, քանի որ դուք կարող եք հասնել նույն արդյունքներին, պարզապես անընդհատ արձագանքելով «բարեւի» արձագանքը : Օրինակի իմաստը ցույց է տալիս, որ դուք կարող եք գործարկել «mkdir» հրամանը, թաքցնել սխալի արդյունքը, ստուգել հրամանի կարգավիճակը, տեսնել, թե արդյոք դա հաջող է եղել, թե ոչ, ապա կատարում է մի շարք հրամանների, եթե «mkdir» հրամանը հաջող էր եւ հրամանների մեկ այլ փաթեթ, եթե դա չլիներ: