Paano Gumawa ng Mga Direktoryo sa Linux gamit ang "mkdir" Command

Ipapakita sa iyo ng gabay na ito kung paano lumikha ng mga bagong folder o mga direktoryo sa loob ng Linux gamit ang command line.

Ang utos na iyong ginagamit para sa paglikha ng mga direktoryo ay mkdir. Ang artikulong ito ay nagpapakita sa iyo ng pangunahing paraan upang lumikha ng mga direktoryo sa Linux pati na rin ang sumasaklaw sa lahat ng magagamit na switch.

Paano Gumawa ng Isang Bagong Direktoryo

Ang pinakasimpleng paraan upang lumikha ng isang bagong direktoryo ay ang mga sumusunod:

mkdir

Halimbawa, kung nais mong lumikha ng isang direktoryo sa ilalim ng iyong home folder na tinatawag na pagsubok, buksan ang isang terminal window at siguraduhing ikaw ay nasa iyong home folder (gamitin ang cd ~ command ).

mkdir test

Pagbabago ng Pahintulot ng Bagong Direktoryo

Matapos ang paglikha ng isang bagong folder maaari mong hilingin na itakda ang mga pahintulot upang ang isang partikular na user lamang ang makakapag-access sa folder o kaya ang ilang mga tao ay maaaring mag-edit ng mga file sa folder ngunit ang iba ay nabasa lamang.

Sa huling seksyon, ipinakita ko sa iyo kung paano lumikha ng isang direktoryo na tinatawag na pagsubok. Ang pagpapatakbo ng command na ls ay magpapakita sa iyo ng mga pahintulot para sa direktoryong iyon:

ls -lt

Ang mga pagkakataon ay magkakaroon ka ng isang bagay kasama ang mga linyang ito:

drwxr-xr-x 2 grupo ng may-ari 4096 Mar 9 19:34 pagsubok

Ang mga bits na interesado kami ay ang drwxr-xr-x na may - ari at grupo

Ang d ay nagsasabi sa amin na pagsubok ay isang direktoryo.

Ang unang tatlong character pagkatapos ng d ay ang mga pahintulot ng may-ari para sa direktoryo na tinukoy ng pangalan ng may-ari.

Ang susunod na tatlong character ay ang mga pahintulot ng grupo para sa file na tinukoy ng pangalan ng grupo. Muli ang mga pagpipilian ay r, w, at x. Ang - ay nangangahulugang nawawala ang pahintulot. Sa halimbawa sa itaas kahit sino ay kabilang sa grupo ay maaaring ma-access ang folder at basahin ang mga file ngunit hindi maaaring isulat sa folder.

Ang huling tatlong character ay ang mga pahintulot na mayroon ang lahat ng mga gumagamit at tulad ng nakikita mo sa halimbawa sa itaas ang mga ito ay katulad ng mga pahintulot ng grupo.

Upang baguhin ang mga pahintulot para sa isang file o folder maaari mong gamitin ang chmod command. Hinahayaan ka ng chmod command na tukuyin ang 3 mga numero na nagtatakda ng mga pahintulot.

Upang makakuha ng pinaghalong mga pahintulot ay idagdag mo ang mga numero nang sama-sama. Halimbawa upang mabasa at maisagawa ang mga pahintulot ang numero na kailangan mo ay 5, upang makakuha ng basahin at isulat ang mga pahintulot na ang bilang ay 6 at upang makakuha ng sumulat at magsagawa ng mga pahintulot ang numero ay 3.

Tandaan na kailangan mong tukuyin ang 3 numero bilang bahagi ng command na chmod. Ang unang numero ay para sa mga pahintulot ng may-ari, ang pangalawang numero ay para sa mga pahintulot ng grupo at ang huling numero ay para sa lahat.

Halimbawa upang makakuha ng ganap na mga pahintulot sa may-ari, basahin at isakatuparan ang mga pahintulot sa grupo at walang pahintulot para sa iba pang uriin ang sumusunod:

chmod 750 test

Kung nais mong baguhin ang pangalan ng grupo na nagmamay-ari ng isang folder gamitin ang command ng chgrp.

Halimbawa, isipin na nais mong lumikha ng isang direktoryo na maaaring ma-access ng lahat ng mga accountant sa iyong kumpanya.

Una sa lahat, lumikha ng mga account ng grupo sa pamamagitan ng pag-type ng mga sumusunod:

mga grupo ng account

Kung wala kang tamang pahintulot upang lumikha ng isang pangkat na maaaring kailangan mong gumamit ng sudo upang makakuha ng dagdag na mga pribilehiyo o lumipat sa isang account na may wastong mga pahintulot gamit ang su command .

Ngayon ay maaari mong baguhin ang grupo para sa isang folder sa pamamagitan ng pag-type ng mga sumusunod:

chgrp account

Halimbawa:

pagsubok ng mga chgrp account

Upang bigyan ang sinuman sa mga grupo ng mga account na basahin, isulat at isakatuparan ang pag-access pati na rin ang may-ari ngunit read-only sa lahat ng ibang tao na maaari mong gamitin ang sumusunod na command:

chmod 770 test

Upang magdagdag ng isang user sa grupo ng mga account malamang na nais mong gamitin ang sumusunod na command:

usermod -a -G mga account

Ang itaas na utos ay nagdadagdag sa grupo ng mga account sa listahan ng mga pangalawang grupo na may access sa gumagamit.

Paano Gumawa ng Direktoryo at Magtakda ng Mga Pahintulot sa Parehong Oras

Maaari kang lumikha ng isang direktoryo at itakda ang mga pahintulot para sa direktoryong iyon sa parehong oras gamit ang sumusunod na command:

mkdir -m777

Ang utos sa itaas ay lumikha ng isang folder na kung saan ang lahat ay may access sa. Napakabihirang na gusto mong lumikha ng anumang bagay na may ganitong uri ng mga pahintulot.

Lumikha ng isang Folder at Anumang mga Magulang na Kinakailangan

Isipin na gusto mong lumikha ng isang istraktura ng direktoryo ngunit ayaw mong lumikha ng bawat indibidwal na folder kasama ang paraan at magtrabaho sa iyong paraan pababa ng isang puno.

Halimbawa, maaari kang lumikha ng mga folder para sa iyong musika tulad ng sumusunod:

Ito ay nakakainis na kailangang lumikha ng rock folder, pagkatapos ay ang alice cooper at queen folder at pagkatapos ay lumikha ng rap folder at ang dr dre folder at pagkatapos ay ang jazz folder at pagkatapos ay ang louisjordan folder.

Sa pamamagitan ng pagtukoy sa sumusunod na switch maaari kang lumikha ng lahat ng mga folder ng magulang sa mabilisang kung wala pa sila.

mkdir -p

Halimbawa, upang lumikha ng isa sa mga folder na nakalista sa itaas subukan ang sumusunod na command:

mkdir -p ~ / music / rock / alicecooper

Pagkuha ng Kumpirmasyon Na Nilikha ang Isang Direktoryo

Sa pamamagitan ng default, ang mkdir command ay hindi nagsasabi sa iyo kung ang direktoryo na iyong nililikha ay matagumpay na nalikha. Kung hindi lumitaw ang mga error, maaari mong ipalagay na mayroon itong.

Kung nais mong makakuha ng mas maraming verbose output upang malaman mo kung ano ang nalikha gamitin ang sumusunod na switch.

mkdir -v

Ang output ay magiging kasama ang mga linya ng mkdir: nilikha direktoryo / path / to / directoryname .

Paggamit ng & # 34; mkdir & # 34; sa isang Shell Script

Minsan gugustuhin mong gamitin ang command na "mkdir" bilang bahagi ng isang script ng shell. Halimbawa, tingnan natin ang isang script na tumatanggap ng landas. Kapag ang script ay pinaandar ito ay bubuo ng folder at magdagdag ng isang solong tekstong file na tinatawag na "halo".

#! / bin / bash

mkdir $ @

cd $ @

pindutin ang halo

Ang unang linya ay dapat na kasama sa bawat script na isinulat mo at ginagamit upang ipakita na ito ay talagang isang script BASH.

Ang command na "mkdir" ay ginagamit upang lumikha ng isang folder. Ang "$ @" ( kilala rin bilang mga parameter ng pag-input ) sa dulo ng ika-2 at ika-3 na linya ay pinalitan ng halaga na tinukoy mo kapag tumatakbo ang script.

Ang command na "cd" ay nagbabago sa direktoryo na tinukoy mo at sa wakas ang touch command ay lumilikha ng isang walang laman na file na tinatawag na "halo".

Maaari mong subukan ang script para sa iyong sarili. Upang gawin ito sundin ang mga tagubiling ito:

  1. Buksan ang isang terminal window (pindutin ang Alt at T ay dapat gawin ito)
  2. Ipasok ang nano createhellodirectory.sh
  3. I-type ang mga utos sa itaas sa editor
  4. I-save ang file sa pamamagitan ng pagpindot sa CTRL at O ​​sa parehong oras
  5. Lumabas sa file sa pamamagitan ng pagpindot sa CTRL at X sa parehong oras
  6. Baguhin ang mga pahintulot sa pamamagitan ng pag-type ng chmod + x createhellodirectory.sh
  7. Patakbuhin ang script sa pamamagitan ng pag-type ./createhellodirectory.sh test

Kapag nagpatakbo ka ng script isang direktoryo na tinatawag na "test" ay lilikhain at kung babaguhin mo ang direktoryo ( cd test) at magpatakbo ng listahan ng direktoryo ( ls), makakakita ka ng isang file na tinatawag na "halo".

Sa ngayon napakahusay ngunit ngayon subukang muli ang pagpapatakbo ng hakbang 7.

  1. Ang isang error ay lilitaw na nagpapahayag na ang folder ay mayroon na.

Mayroong iba't ibang mga bagay na maaari nating gawin upang mapabuti ang script. Halimbawa, kung umiiral na ang folder na hindi namin pinapahalagahan lalo na kung umiiral ito.

#! / bin / bash

mkdir -p $ @

cd $ @

pindutin ang halo

Kung tinukoy mo ang -p bilang bahagi ng mkdir na command pagkatapos ay hindi ito error kung umiiral na ang folder ngunit kung wala ito ito ay lilikha nito.

Tulad ng mangyayari ang pindutin ang utos ay lilikha ng isang file kung wala ito ngunit kung ito ay umiiral, ito ay nagpapabago lamang sa huling na-access na petsa at oras.

Isipin ang pahayag ng ugnay ay pinalitan ng isang pahayag ng echo na nagsusulat ng teksto sa isang file tulad ng sumusunod:

#! / bin / bash

mkdir -p $ @

cd $ @

echo "hello" >> hello

Kung patakbuhin mo ang command na "./createhellodirectory.sh test" muli at muli ang epekto ay na ang file na tinatawag na "halo" sa direktoryo ng pagsubok ay lumalaki mas malaki at mas malaki na may higit pa at higit pang mga linya na may salitang "halo" sa loob nito.

Ngayon, ito ay maaaring o hindi maaaring maging tulad ng inilaan ngunit sabihin natin para sa ngayon na ito ay hindi ang nais na pagkilos. Maaari kang magsulat ng isang pagsubok upang matiyak na ang direktoryo ay hindi umiiral bago mo patakbuhin ang echo na utos gaya ng mga sumusunod.

#! / bin / bash

mkdir $ @ 2> / dev / null;

kung [$? -eq 0]; pagkatapos

cd $ @

echo "hello" >> hello

lumabas

fi

Ang script sa itaas ay ang aking ginustong pamamaraan para sa paghawak sa paglikha ng mga folder. Ang mkdir na utos ay lumilikha ng folder na ipinasa bilang isang parameter ng input ngunit ang anumang error output ay ipinadala sa / dev / null (na kung saan ay nangangahulugang mahalagang wala kahit saan).

Sinusuri ng ikatlong linya ang katayuan ng output ng naunang utos na kung saan ay ang pahayag na "mkdir" at kung magtagumpay ito ay gaganap ito ng mga pahayag hanggang sa maabot ang pahayag na "fi".

Ang ibig sabihin nito ay maaari kang lumikha ng folder at gawin ang lahat ng mga bagay na gusto mo kung ang command ay matagumpay. Kung nais mong gumawa ng iba pang bagay kung ang utos ay hindi matagumpay, maaari ka lamang magpasok ng iba pang statement tulad ng sumusunod:

#! / bin / bash

mkdir $ @ 2> / dev / null;

kung [$? -eq 0]; pagkatapos
cd $ @
echo "hello" >> hello
lumabas
iba pa
cd $ @
echo "hello"> hello
lumabas
fi

Sa script sa itaas kung ang mkdir statement ay gumagana pagkatapos ang echo statement ay nagpapadala ng salitang "halo" sa dulo ng file na tinatawag na "halo" samantalang kung wala itong isang bagong file ay bubuo na tinatawag na "halo" sa salitang " halo "sa loob nito.

Ang halimbawang ito ay hindi partikular na praktikal dahil maaari mong makamit ang parehong mga resulta sa pamamagitan lamang ng palaging pagtakbo ang echo "kumusta"> hello line . Ang punto ng halimbawa ay upang ipakita na maaari mong patakbuhin ang command na "mkdir", itago ang output ng error, lagyan ng tsek ang katayuan ng command upang makita kung ito ay matagumpay o hindi at pagkatapos ay isagawa ang isang set ng mga utos kung ang "mkdir" command ay matagumpay at isa pang hanay ng mga utos kung ito ay hindi.