Чӣ гуна эҷоди тарҳҳо дар Linux бо "mkdir" фармон

Ин дастур шумо ба шумо нишон медиҳед, ки чӣ гуна эҷод кардани ҷузвҳои нав ё линзаҳо дар Linux бо истифода аз хатҳои фармон.

Фармоне, ки шумо барои сохтани вебсайтҳо истифода мебаред mkdir. Ин мақола ба шумо роҳи асосии бунёд кардани феҳристҳо дар Linux ва инчунин сарчашмаҳои дастрасро дорад.

Чӣ тавр эҷод кардани як Рӯйхати нав

Тарзи осонтарини эҷоди феҳристи нав инҳоянд:

mkdir

Масалан, агар шумо хоҳед, ки дар феҳристи дохилии худ номи санҷишро эҷод кунед, тирезаи терминалро кушоед ва боварӣ ҳосил кунед, ки шумо дар ҷузвдони хонагӣ ҳастед (истифодаи cd ~ фармони ).

санҷиши mkdir

Тағир додани иҷозатномаҳои нави Рӯйхати

Баъди эҷоди папкаи нав, шумо мехоҳед, ки иҷозатҳоро муқаррар кунед, то ки танҳо як корбари муайяне метавонад ҷузвдонро дастрас кунад ё ин ки баъзеҳо метавонанд файлҳоро дар ҷузвдон танзим кунанд, вале дигарон танҳо хондаанд.

Дар қисмати охир, ман шуморо ба шумо нишон медиҳам, ки чӣ гуна эҷод кардани як феҳрист номида шавад. Амали фармони ls иҷро мегардад, ба шумо иҷозат медиҳад, ки барои феҳристи он:

Бештар

Имкониятҳои шумо дар ин хатҳои шумо як чизи дорои:

drwxr-xr-x 2 соҳиби 4096 Март 9 19:34

Механизаторони мо, ки ба мо мароқ зоҳир мекунанд, соҳиби мизоҷон ва гурӯҳбандии drwxr-xr-x мебошанд

Дар он гуфта мешавад, ки санҷиш феҳрист аст.

Ду сутуни аввалин пас аз d довталабони соҳибистеъдод барои феҳристи номдор аз номи соҳиби он мебошанд.

Се рамзҳои навбатӣ барои гурӯҳе, ки номгӯи гурӯҳро муайян мекунанд, иҷозат дода шудаанд. Боз як вариантҳо r, w ва x. - - маънои онро дорад, ки мавҷуд набудани рухсатӣ вуҷуд дорад. Дар аксари номбаршуда, ки ба гурӯҳ тааллуқ доранд, ҷузвдонҳоро дастрас карда метавонед ва файлҳоро хонда, аммо ба феҳрист навишта наметавонанд.

Се сатри охирин иҷозатҳоест, ки ҳамаи истифодабарандагон вуҷуд доранд ва шумо метавонед, ки дар мисоли болотаре, ки дар боло нишон дода шудаанд, бо ҳамон гурӯҳҳо иҷозат дода шаванд.

Барои тағир додани иҷозатҳо барои файл ё феҳрист, шумо метавонед фармонро chmod истифода баред. Фармони chmod ба шумо 3 ададро муқаррар мекунад, ки иҷозатҳоро муқаррар мекунад.

Барои гирифтани розигии иҷозатҳо шумо рақамҳоро якҷоя кунед. Масалан, барои гирифтани иҷозат ва хондани рамзҳо рақами шумо лозим аст, 5, барои гирифтани маълумот ва навиштан иҷозат диҳед, рақами 6 ва гирифтани иҷозат ва иҷро кардани иҷозатҳо ба рақами 3.

Дар хотир доред, ки шумо бояд 3 рақамро ҳамчун қисми фармонии chmode муайян кунед. Рақами аввал барои иҷозати соҳибон аст, рақами дуюм барои иҷозатномаҳои гурӯҳҳо ва рақами охирон барои ҳама аст.

Масалан, барои гирифтани иҷозати пурра дар бораи соҳиби иҷозатнома, дар бораи гурӯҳҳо хонанда ва иҷро кунед, ва иҷозат намедиҳед, ки ҳар каси дигарро дар бар гирад:

chmod 750 озмоиш

Агар шумо хоҳед, ки номи гурӯҳро, ки дорои феҳрист аст, иваз кунед, фармони chgrp -ро истифода баред.

Масалан, тасаввур кунед, ки шумо мехоҳед, ки як феҳристеро, ки ҳамаи ҳисоби муҳофизон дар ширкати шумо дастрасанд, эҷод кунед.

Пеш аз ҳама, ҳисобҳои гурӯҳиро нависед:

ҳисобҳои гурӯҳӣ

Агар шумо иҷозати дурустро барои эҷоди гурӯҳ надошта бошед, мумкин аст, ки sudo барои дарёфти имтиёзҳои иловагӣ ва ё бо истифода аз иҷозатҳои дуруст бо истифодаи фармони об истифода баред.

Ҳоло шумо метавонед гурӯҳро бо папкаи дигаргунии зерин тағир диҳед:

chgrp ҳисоби

Барои намуна:

санҷиши суратҳисобҳои chgrp

Барои касе, ки дар гурӯҳҳо ҳисоб мекунад, хонед, нависед ва роҳхатро ба соҳиби худ баред, аммо танҳо ба хонандагоне, ки шумо метавонед онро аз фармонҳои зерин истифода баред:

chmod 770 озмоиш

Барои илова кардани истифодабаранда ба гурӯҳи ҳисобҳо шумо эҳтимолан фармони зеринро истифода баред:

usermod -a -G-ҳо

Фармони мазкур ба гурўҳи суратҳисобҳо ба феҳристи гурӯҳҳои дуввуми корбар дастрасӣ дорад.

Чӣ тавр эҷод кардани рӯйхат ва рамзҳоро дар ҳамон вақт эҷод кунед

Шумо метавонед як феҳраро эҷод кунед ва иҷозатҳоро барои ин феҳрист дар як вақт бо фармонҳои зерин таъин кунед:

mkdir -m777

Фармони мазкур ба папкаи эҷодшаванда табдил хоҳад ёфт, ки ба ҳама дастрас аст. Ин хеле кам аст, ки шумо мехоҳед ягон чизро бо ин гуна иҷозатҳо эҷод кунед.

Феҳрист ва ҳар як волиде, ки зарур аст, эҷод кунед

Тасаввур кунед, ки шумо сохтори сохторро эҷод мекунед, аммо шумо намехоҳед ҷузвдони ҳар як фардро дар якҷоягӣ кунед ва роҳро аз як дарахти корӣ эҷод кунед.

Масалан, шумо метавонед мусиқии худро ба таври зерин офаред:

Онро маҷбур кардан лозим аст, ки папкаи санг, сипас коркарди алюминий ва малоикаҳоро эҷод кунад ва сипас папкаи рентгенӣ ва папкаи драйвер ва сипас пазкаи ҷазоро ва баъд аз папкаи louisjordan эҷод кунад.

Бо нишон додани гузариш ба зер шумо метавонед ҳамаи ҷузвҳои воҳиди худро дар парвоз, агар онҳо аллакай мавҷуд набошанд, эҷод кунед.

mkdir -p

Масалан, эҷоди яке аз ҷузвҳои дар боло номбаршударо иҷро кунед:

mkdir -p ~ / мусиқ / санг / alicecooper

Тафтишотеро, ки Directory муайян кардааст, ба даст овардан мумкин аст

Бо нобаён, фармон mkdir ба шумо намегӯяд, ки агар шумо феҳристи шумо эҷод шуда бошед, бомуваффақият офарида шудааст. Агар хатогиҳо пайдо нашаванд, шумо метавонед онро дошта бошед.

Агар шумо хоҳед, ки ба даст овардани теъдоди зиёди нусхаҳое, ки шумо медонед, ки чӣ гуна сохта шудааст, ин гузаришро истифода кунед.

mkdir-v

Содирот дар хатҳои mkdir хоҳад буд: directory / path / to / directoryname created .

Истифодаи & # 34; mkdir & # 34; дар Шелл

Баъзан шумо мехоҳед фармонро "mkdir" -ро ҳамчун қисми скифаи ниҳонӣ истифода набаред. Масалан, биёед ба скрипт, ки роҳро қабул мекунад, биёед. Вақте ки скрипт иҷро карда мешавад, он папкаро эҷод мекунад ва файли ягонаи матн номида мешавад.

#! / bin / bash

mkdir $ @

cd $ @

Хеле бад

Хати аввал бояд ба ҳар як скрипт, ки шумо навиштед ва нишон додаед, ки ин ҳақиқати таҳияи BASH мебошад.

Фармони "mkdir" барои офаридани ҷузвдон истифода мешавад. "$ @" ( Инчунин ҳамчун параметрҳои эффективӣ маълум аст ) дар охири сатри 2 ва 3-юм бо арзиши шумо ҳангоми иҷро кардани скрипт иваз карда мешавад.

"Cd" фармон ба феҳристи шумо нишон медиҳад, ва ниҳоят фармони фармони парвандаи холӣ, ки "hello" номида мешавад.

Шумо метавонед скриптро барои худ санҷед. Барои иҷро кардани ин дастурҳо риоя кунед:

  1. Тирезаи терминалро кушоед (Alt ва T -ро пахш кунед)
  2. Нано созед навсозӣ
  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 муайян карда шавад, он гоҳ ки хатогӣ аллакай мавҷуд аст, хатогӣ нахоҳад кард, лекин агар он вуҷуд надошта бошад, онро эҷод мекунад.

Дар айни замон фармони воридшавӣ файлро мефиристад, агар он вуҷуд надошта бошад, аммо агар он вуҷуд дошта бошад, он санаи охирин ва вақтро тағйир медиҳад.

Тасаввур кунед, ки изҳороти изтироб бо як иқтибоси echo иваз карда шуд, ки матнро ба файл навиштааст:

#! / bin / bash

mkdir -p $ @

cd $ @

echo "hello"

Агар шумо иҷро кардани фармони "./createhellodirectory.sh" -ро бори дигар барҳам диҳед, ки ин файли "hello" дар феҳристи санҷишҳо бо калимаи "hello" бо калимаҳои зиёдтар ва калонтар хоҳад афзуд.

Акнун, ин метавонад ё шояд ҳамчун мақсад бошад, аммо биёед барои он, ки ин амал иҷро намешавад. Шумо метавонед санҷишро нависед то боварӣ ҳосил кунед, ки пеш аз он ки шумо фармонхати echoро иҷро кунед, вуҷуд надорад.

#! / bin / bash

mkdir $ @ 2> / dev / null;

агар [$? -eq 0]; сипас

cd $ @

echo "hello"

Баромадгоҳ

ш

Сутунҳои дар боло зикршуда усули интихобкардаашро барои коркарди феҳристҳо меноманд. Фармони mkdir паролеро месозад, ки ҳамчун параметрҳои эффективи дода мешавад, аммо ягон бардурри хато ба / dev / null фиристода мешавад (ки асосан маънои мавҷуд нест).

Сатҳи сеюм, ки ҳолати фармоишии фармоиши қаблӣ дорад, яъне "mkdir" ҳисобида мешавад, ва агар он муваффақ шавад, то он вақте, ки изҳороти "fi" ба даст оварда мешавад, иҷро хоҳад шуд.

Ин маънои онро дорад, ки шумо метавонед ҷузвдонро эҷод кунед ва ҳамаи чизҳое, ки мехоҳед иҷро кунед, агар фармон бардорад. Агар шумо хоҳед, ки агар фармон бароварда натавонад, шумо метавонед чизи дигаре ба даст оред:

#! / bin / bash

mkdir $ @ 2> / dev / null;

агар [$? -eq 0]; сипас
cd $ @
echo "hello"
Баромадгоҳ
дигар
cd $ @
echo "hello"> hello
Баромадгоҳ
ш

Дар скриптҳои боло, агар mkdir изҳоротро иҷро кунад, сипас изҳороти echo калимаи "hello" -ро ба охири файли "hello" мефиристад, агар он вуҷуд надорад, ки файли нав бо номи "hello" бо калимаи " Хеле "дар он.

Ин мисол махсусан амал намекунад, зеро шумо метавонед ба натиҷаҳои якхела ба воситаи ҳар як хатогии "hello"> hello hello . Нуқтаи мисол нишон медиҳад, ки шумо метавонед фармонро "mkdir" иҷро кунед, ҳаллоти кандашударо пинҳон кунед, вазъияти фармонро тафтиш кунед, ки оё он муваффақ буд ё не ва баъд як фармонро иҷро кунед, агар "mkdir" агар муваффақ нашавад ва маҷмӯи фармонҳои дигар бошад.