Як стварыць каталога ў Linux з «MKDIR» Command

Гэта кіраўніцтва пакажа вам, як ствараць новыя тэчкі або каталогі ўнутры Linux з дапамогай каманднага радка.

Каманда, якая выкарыстоўваецца для стварэння каталогаў з'яўляецца MkDir. Гэты артыкул паказвае асноўны спосаб стварэння каталогаў у Linux, а таксама якія ахопліваюць усе даступныя камутатары.

Як стварыць новы каталог

Самы просты спосаб стварыць новы каталог выглядае наступным чынам:

MkDir <имя_папки>

Напрыклад, калі вы хочаце стварыць каталог , у вашай хатняй тэчцы тэст, адкрыйце акно тэрмінала і пераканайцеся , што вы знаходзіцеся ў вашай хатняй тэчцы (выкарыстоўвайце кампакт - дыск ~ каманду ).

тэст MkDir

Змена дазволаў на Новы каталог

Пасля стварэння новай тэчкі вы можаце захацець ўсталяваць правы доступу такім чынам, што толькі пэўны элемент можа атрымаць доступ да тэчцы або так, што некаторыя людзі могуць рэдагаваць файлы ў тэчцы, але іншыя толькі для чытання.

У апошнім раздзеле я паказаў вам, як стварыць каталог пад назвай тэст. Выкананне каманды LS пакажа вам дазвол для гэтага каталога:

Ls -lt

Шанцы ў вас будзе нешта ўздоўж гэтых ліній:

drwxr-ХТ-х 2 ўладальнік групы 4096 9 сакавіка 19:34 тэст

Біты мы зацікаўлены ў з'яўляюцца уладальнікам drwxr-ХТ-х і група

D кажа нам, што тэст з'яўляецца каталогам.

Першыя тры знака пасля д ўладальнік дазволу для каталога, названага па імя ўладальніка.

Наступныя тры сімвала з'яўляюцца правамі доступу групы для файла, названага ў назве групы. Зноў жа варыянты г, ш і х. - азначае, што ёсць дазвол адсутнічае. У прыведзеным вышэй прыкладзе, хто належыць да групы можа атрымаць доступ да тэчцы і чытаць файлы, але не можа запісаць у тэчку.

Апошнія тры сімвала з'яўляюцца правамі доступу, што ўсе карыстальнікі маюць і, як вы можаце ўбачыць у прыведзеным вышэй прыкладзе гэта такія ж, як і правы доступу групы.

Каб змяніць дазволу для файла ці тэчкі , вы можаце выкарыстоўваць каманду CHMOD. Каманда CHMOD дазваляе вызначыць 3 нумары , якія ўсталёўваюць правы доступу.

Для таго, каб атрымаць сумесь дазволаў вы складзеце колькасці разам. Напрыклад, каб атрымаць чытанне і выкананне нумар вам трэба 5, каб атрымаць дазвол на чытанне і запіс лік складае 6 і атрымаць запіс і выкананне іх лік 3.

Памятаеце, што вам трэба паказаць 3 нумара ў складзе каманды CHMOD. Першы нумар для ўладальніка правоў доступу, то другі нумар для дазволу групы і апошняе чысло для ўсіх астатніх.

Напрыклад, каб атрымаць поўныя правы на ўладальніка, чытанне і выкананне на групе і ніякіх дазволаў для любога іншага тыпу наступнае:

CHMOD 750 Тэст

Калі вы хочаце змяніць імя групы, якой належыць тэчка выкарыстоўваецца каманда каманда chgrp.

Напрыклад, уявіце, што вы хочаце стварыць каталог, усё бухгалтары ў вашай кампаніі могуць атрымаць доступ.

Па-першае, стварыць уліковыя запісы груп, увёўшы наступнае:

GroupAdd рахункі

Калі ў вас няма правільнага дазволу на стварэнне групы , якую вы , магчыма , прыйдзецца выкарыстоўваць Sudo , каб атрымаць дадатковыя прывілеі або пераключыцца на рахунак з сапраўднымі дазволамі , выкарыстоўваючы каманду су .

Цяпер вы можаце змяніць групу для тэчкі, увёўшы наступнае:

каманда chgrp кошт <имя_папка>

Напрыклад:

каманда chgrp рахункі тэстаў

Каб даць нікому ў групе рахункаў для чытання, запісы і выканання доступу, а таксама ўладальніка, але толькі для чытання ўсіх астатніх вы можаце выкарыстоўваць наступную каманду:

CHMOD 770 тэст

Для дадання звычайнага карыстальніка да групы рахункаў вы, верагодна, захочаце выкарыстоўваць наступную каманду:

usermod -a -G рахункі <імя карыстальніка>

Прыведзеная вышэй каманда дадае групу уліковых запісаў у спіс другасных груп карыстальнік мае доступ.

Як стварыць каталог і ўсталяваць дазвол у той жа час

Вы можаце стварыць каталог і ўсталяваць дазволу для гэтага каталога, у той жа час, выкарыстоўваючы наступную каманду:

MkDir -m777 <имя_папки>

Гэтая каманда створыць тэчку, кожны мае доступ. Вельмі рэдка, што вы хочаце стварыць што-небудзь з гэтым відам дазволу.

Стварэнне тэчкі і любыя бацькі, якія неабходныя

Уявіце, што вы хочаце стварыць структуру каталогаў, але вы не хочаце, каб стварыць кожную асобную тэчку разам з тым, як і працаваць ваш шлях уніз па дрэве.

Напрыклад, вы можаце ствараць тэчкі для вашай музыкі наступным чынам:

Было б прыкра, каб стварыць тэчку рок, затым Эліса Купера і тэчку ферзя, а затым стварыць тэчку рэпу і тэчку Dr Dre, а затым тэчку джаз, а затым louisjordan тэчку.

Задаючы наступны перамыкач вы можаце стварыць усе бацькоўскія папкі на ляту, калі яны ўжо не існуюць.

MkDir -p <имя_папки>

Напрыклад, каб стварыць адну з папак, пералічаных вышэй, паспрабуйце выканаць наступную каманду:

MkDir -p ~ / музыка / рок / Эліс Купер

Атрыманне пацверджання, што каталог быў створаны

Па змаўчанні каманда MkDir не скажа вам, калі каталог, які вы ствараеце быў паспяхова створаны. Калі памылкі не з'яўляюцца, то вы можаце выказаць здагадку, што гэта мае.

Калі вы хочаце атрымаць больш падрабязны выснову так, што вы ведаеце, што было створана з дапамогай наступнай перамыкач.

MkDir -v <имя_папки>

Выснова будзе ўздоўж ліній MKDIR: створаны каталог / шлях / да / имя_каталогу.

Выкарыстанне & # 34; MkDir & # 34; у Shell Script

Часам вы хочаце выкарыстоўваць каманду «MKDIR» як частка сцэнара абалонкі. Напрыклад, давайце паглядзім на сцэнар, які прымае шлях. Пры выкананні сцэнара створыць тэчку і дадаць адзін тэкставы файл з імем "прывітанне".

#! / Bin / Баш

MkDir $ @

CD $ @

закрануць прывітанне

Першы радок павінна быць уключана ў кожны сцэнар, які вы пішаце, і выкарыстоўваецца, каб паказаць, што гэта сапраўды BASH сцэнар.

Каманда «MkDir» выкарыстоўваюцца для стварэння папкі. «$ @» ( Таксама вядомы ў якасці ўваходных параметраў ) у канцы 2 - й і 3 - й лініі замяняецца значэннем , якое вы пакажа пры запуску скрыпту.

У «CD» змяняецца каманда ў каталог вы задаеце, і, нарэшце, сенсарны каманда стварае пусты файл з імем "прывітанне".

Вы можаце паспрабаваць сцэнар для сябе. Для таго, каб зрабіць так, выконвайце гэтым інструкцыям:

  1. Адкрыйце акно тэрмінала (націснуць Alt і T павінны рабіць гэта)
  2. Увядзіце нана createhellodirectory.sh
  3. Увядзіце каманды вышэй, у рэдактары
  4. Захавайце яго, націснуўшы CTRL і O ў той жа час
  5. Зачыніце файл, націснуўшы CTRL і X ў той жа час
  6. Зменіце правы доступу, увёўшы каманду CHMOD + х createhellodirectory.sh
  7. Выканайце сцэнар, набраўшы ./createhellodirectory.sh тэст

Пры запуску сцэнара каталог пад назвай «тэст» будзе створаны , і калі вы змяняеце ў гэты каталог (тэст CD) і запусціць спіс каталогаў (LS), вы ўбачыце адзін файл з імем "прывітанне".

Да гэтага часу так добра, але цяпер паспрабуйце крок 7 працягнуць гульню.

  1. З'явіцца памылка аб тым, што тэчка ўжо існуе.

Ёсць розныя рэчы, якія мы можам зрабіць, каб палепшыць сцэнар. Напрыклад, калі тэчка ўжо існуе, мы не асабліва хвалюемся таго часу, пакуль яна існуе.

#! / Bin / Баш

MkDir -p $ @

CD $ @

закрануць прывітанне

Калі пазначыць -p як частка каманды MKDIR тады яна не будзе памылкай, калі тэчка ўжо існуе, але калі яна не існуе, яна будзе створана.

Як ёсць здараецца каманда сэнсарны створыць файл, калі ён не існуе, але калі ён сапраўды існуе, гэта проста ўносіць змены ў дату апошняга доступу і часу.

Уявіце сабе дотык заява была заменена на рэха заявы , якое запісвае тэкст у файл наступным чынам :

#! / Bin / Баш

MkDir -p $ @

CD $ @

рэха «прывітанне» >> прывітанне

Калі вы запусціце каманду «./createhellodirectory.sh тэст» зноў і зноў эфект будзе, што файл называецца "прывітанне" у тэставым каталогу будзе расці ўсё больш і больш больш і больш ліній са словам "прывітанне" у ім.

Цяпер, гэта можа ці не можа быць, як меркавалася, але давайце казаць цяпер, што гэта не жаданае дзеянне. Вы можаце напісаць тэст, каб пераканацца, што каталог не існуе, перш чым запусціць рэха-каманду наступным чынам.

#! / Bin / Баш

MkDir $ @ 2> / DEV / нуль;

калі [$? -eq 0]; то

CD $ @

рэха «прывітанне» >> прывітанне

выхад

фі

Дадзены скрыпт з'яўляецца маім пераважным метадам для апрацоўкі стварэння тэчак. Каманда MkDir стварае тэчку, якая перадаецца ў якасці ўваходнага параметру, але любая памылка выхаду адпраўляецца ў / DEV / нуль (які па сутнасці не азначае нідзе).

Трэці радок правярае стан выхаду папярэдняй каманды, якая з'яўляецца «MkDir» заяву і ў выпадку поспеху ён будзе выконваць аператары, пакуль не будзе дасягнута заяву «фі».

Гэта азначае, што вы можаце стварыць тэчку і выканаць усе, што вы хочаце, калі каманда выканана паспяхова. Калі вы хочаце зрабіць нешта яшчэ, калі каманда не была паспяховай, то вы можаце проста ўвесці іншую заяву наступным чынам:

#! / Bin / Баш

MkDir $ @ 2> / DEV / нуль;

калі [$? -eq 0]; то
CD $ @
рэха «прывітанне» >> прывітанне
выхад
яшчэ
CD $ @
рэха «прывітанне»> прывітанне
выхад
фі

У прыведзеным вышэй сцэнары, калі аператар MkDir працуе, то рэха аператар пасылае слова «прывітанне» да канца файла пад назвай «Прывітанне», а калі ён не існуе новы файл будзе створаны называецца «прывітанне» са словам " прывітанне »ў ім.

Гэты прыклад не вельмі практычна , таму што вы маглі б дасягнуць тых жа вынікаў , проста заўсёды працуе рэха «прывітанне»> прывітанне лініі. Сутнасць прыкладу складаецца ў тым, каб паказаць, што вы можаце запусціць каманду «MKDIR», схаваць выснову памылак, праверце стан каманды, каб убачыць, калі яна была паспяховай ці не, а затым выканаць адзін набор каманд, калі каманда «MkDir» быў паспяховым, і іншы набор каманд, калі гэта не было.