Како да креирате директориуми во Linux со командата "mkdir"

Овој водич ќе ви покаже како да креирате нови папки или директориуми во Линукс со помош на командната линија.

Командата што ја користите за креирање на директориуми е mkdir. Оваа статија ви го прикажува основниот начин за креирање директориуми во Линукс, како и за покривање на сите достапни прекинувачи.

Како да креирате нов директориум

Наједноставниот начин да се создаде нов директориум е како што следува:

mkdir <име на директориум>

На пример, ако сакате да создадете директориум под вашата домашна папка наречена тест, отворете терминален прозорец и проверете дали сте во вашата домашна папка (користете ја командата cd ~ ).

тест на мкдир

Менување на дозволите на новиот директориум

По креирањето на нова папка, можеби ќе сакате да ги поставите дозволите, така што само одреден корисник може да пристапи до папката или така што некои луѓе можат да ги уредуваат датотеките во папката, но други имаат само за читање.

Во последниот дел, ви покажав како да креирате директориум наречен тест. Извршувањето на командата ls ќе ви ги покаже дозволите за тој директориум:

ls-tt

Шансите се дека ќе имате нешто по овие редови:

drwxr-xr-x 2 сопственик група 4096 9 март 19:34 тест

Битови што ги интересираме се сопственици и група на drwxr-xr-x

Г ни кажува дека тестот е директориум.

Првите три знака по г се дозволи на сопственикот за именикот назначен со името на сопственикот.

Следните три знаци се групата дозволи за датотеката назначена со името на групата. Повторно, опциите се r, w и x. На - значи дека има недостиг на дозвола. Во горниот пример, секој кој припаѓа на групата може да пристапи до папката и да ги прочита датотеките, но не може да запише во папката.

Последните три знаци се дозволите што ги имаат сите корисници и како што можете да видите во примерот погоре, тие се исти како групите.

За промена на дозволите за датотека или папка можете да ја користите командата chmod . Командата chmod ви овозможува да наведете 3 броеви кои ги поставуваат дозволите.

За да добиете мешавина на дозволи, ги додавате броевите заедно. На пример, за да ги прочитате и извршите дозволите потребниот број е 5, за да добиете дозволи за читање и запишување бројот е 6 и да добиете дозволи за запишување и извршување на бројот е 3.

Запомнете дека треба да наведете 3 броеви како дел од командата chmod. Првиот број е за дозволите на сопственикот, вториот број е за групните дозволи, а последниот број е за сите други.

На пример, за да добиете целосни дозволи за сопственикот, да ги прочитате и извршите дозволите на групата и да немате дозволи за некој друг, внеси го следново:

chmod 750 тест

Ако сакате да го промените името на групата што поседува папка, користете ја командата chgrp.

На пример, замислете дека сакате да создадете директориум во кој сите сметководители во вашата компанија можат да пристапат.

Прво на сите, создади групни сметки со внесување на следново:

групни сметки

Ако немате точна дозвола за создавање на група, можеби ќе треба да го користите sudo за да добиете дополнителни привилегии или да преминете на сметка со важечки дозволи користејќи ја командата su .

Сега можете да ја промените групата за папка со внесување на следново:

сметки на chgrp <име на директориум>

На пример:

тест тест

За да му дадете на некој во сметководствената група читање, пишување и извршување на пристап, како и на сопственикот, но само за читање на сите други можете да ја користите следнава команда:

chmod 770 тест

За да додадете корисник во сметководствената група веројатно ќе сакате да ја користите следнава команда:

usermod -a -G сметки <корисничко име>

Горенаведената команда ја додава групата сметки на листата на секундарни групи на кои корисникот има пристап.

Како да создадете директориум и да поставите дозволи во исто време

Можете да креирате директориум и да ги поставите дозволите за тој директориум истовремено користејќи ја следнава команда:

mkdir -m777 <име на директориум>

Горенаведената команда ќе создаде папка во која секој има пристап. Многу е ретко што би сакале да создадете нешто со вакви дозволи.

Креирај папка и сите родители кои се потребни

Замислете дека сакате да креирате структура на директориум, но не сакате да ја креирате секоја поединечна папка заедно со начинот и да работите на вашиот пат низ едно дрво.

На пример, може да создавате папки за вашата музика на следниов начин:

Би било досадно да треба да креирате рок-папка, а потоа да ја креирате папката рп и д-р-папката, а потоа и џез-папката, а потоа и фолдерот "Луисјордан".

Со одредување на следниов прекинувач, можете да ги креирате сите родителски папки на летот ако тие веќе не постојат.

mkdir -p <име map>

На пример, за да креирате една од папките наведени погоре, пробајте ја следнава команда:

mkdir-p ~ / music / rock / alicecooper

Добивање потврда дека е создаден директориум

По дифолт, командата mkdir не ви кажува дали директориумот што го создавате е успешно креиран. Ако не се појави грешка тогаш може да се претпостави дека има.

Ако сакате да добиете повеќе гласни излез, така што ќе знаете што е создадено, користете го следниот прекинувач.

mkdir -v <име на именик>

Излезот ќе биде по линијата на mkdir: создаде директориум / path / to / directoryname .

Користење на & # 34; mkdir & # 34; во скрипта за школка

Понекогаш ќе сакате да ја користите командата "mkdir" како дел од скрипта за школка. На пример, да погледнеме во скрипта која прифаќа патека. Кога сценариото ќе се изврши, тој ќе ја креира папката и ќе додаде една текстуална датотека наречена "здраво".

#! / bin / баш

mkdir $ @

cd $ @

допир здраво

Првата линија треба да биде вклучена во секоја скрипта што ја пишувате и се користи за да се покаже дека ова навистина е сценарио BASH.

Командата "mkdir" се користи за креирање на папка. На "$ @" ( исто така познат како влезни параметри ) на крајот од втората и третата линија се заменува со вредноста што ја одредувате кога ја извршувате скриптата.

Командата "cd" се менува во директориумот што го одредувате и, конечно, командата за допирање создава празна датотека наречена "здраво".

Можете да го пробате сценариото за себе. За да го направите тоа, следете ги следниве инструкции:

  1. Отвори терминален прозорец (притиснете Alt и T треба да го направите тоа)
  2. Внесете nano createhellodirectory.sh
  3. Внесете ги горните команди во уредувачот
  4. Зачувајте ја датотеката со истовремено притискање на CTRL и O
  5. Излезете ја датотеката со истовремено притискање на CTRL и X
  6. Промена на дозволите со внесување на chmod + x createhellodirectory.sh
  7. Извршете го сценариото со внесување на ./createhellodirectory.sh тест

Кога ќе ја стартувате скриптата, ќе се креира директориум наречен "тест" и ако се смени во тој директориум ( cd test) и извршите директориум ( ls), ќе видите една датотека наречена "здраво".

Досега толку добро, но сега обидете се повторно да извршите чекор 7.

  1. Ќе се појави грешка во која се наведува дека папката веќе постои.

Постојат различни работи што можеме да ги направиме за да го подобриме сценариото. На пример, ако папката веќе постои, ние не се грижиме толку долго колку што постои.

#! / bin / баш

mkdir -p $ @

cd $ @

допир здраво

Ако го наведете -p како дел од командата mkdir, тогаш нема да се појави грешка ако папката веќе постои, но ако не постои, таа ќе го создаде.

Како што се случува, командата за допир ќе создаде датотека ако таа не постои, но ако постои, таа едноставно го менува последниот и датумот и времето што се пристапува.

Замислете ја изјавата за допир беше заменета со ехо изјава која пишува текст во датотека како што следува:

#! / bin / баш

mkdir -p $ @

cd $ @

ехо "здраво" >> здраво

Ако ја извршите командата "./createhellodirectory.sh test" повторно и повторно ефектот ќе биде дека датотеката наречена "hello" во тестот директориум ќе се зголеми поголема и поголема со повеќе и повеќе линии со зборот "здраво" во неа.

Сега, ова може или не може да биде како што е наменето, но да речеме за сега дека ова не е посакуваното дејство. Можете да напишете тест за да бидете сигурни дека директориумот не постои пред да ја извршите командата за ехо како што следи.

#! / bin / баш

mkdir $ @ 2> / dev / null;

ако [$? -eq 0]; тогаш

cd $ @

ехо "здраво" >> здраво

излез

fi

Горенаведениот скрипта е мојот префериран метод за справување со создавањето на папки. Командата mkdir создава папка која се пренесува како влезен параметар, но секој излез за грешка се испраќа до / dev / null (што во суштина значи никаде).

Третата линија го проверува излезен статусот на претходната команда која е изјава "mkdir" и ако успее, ќе ги изврши изјавите додека не се постигне изјавата "fi".

Ова значи дека можете да ја креирате папката и да ги извршите сите работи што ги сакате, ако командата е успешна. Ако сакате да направите нешто друго ако командата не е успешна, тогаш едноставно можете да внесете друга изјава како што следува:

#! / bin / баш

mkdir $ @ 2> / dev / null;

ако [$? -eq 0]; тогаш
cd $ @
ехо "здраво" >> здраво
излез
друго
cd $ @
ехо "здраво"> здраво
излез
fi

Во горенаведениот скрипта, ако изјавата на mkdir работи, тогаш изјавата за ехо го испраќа зборот "здраво" до крајот на датотеката наречена "здраво", а ако не постои, ќе се креира нова датотека наречена "здраво" со зборот " здраво "во него.

Овој пример не е особено практичен, бидејќи може да ги постигнете истите резултати, едноставно со користење на ехо "hello"> hello line . Точката на примерот е да се покаже дека можете да ја извршите командата "mkdir", да го скриете излезот за грешка, да го проверите статусот на командата за да видите дали е успешен или не, а потоа изврши еден сет на команди ако командата "mkdir" беше успешен и уште еден сет на команди, ако не беше.