Ki jan yo kreye dosye nan Linux ak "mkdir" Kòmandman an

Gid sa a pral montre w ki jan yo kreye nouvo dosye oswa repèrtwar nan Linux lè l sèvi avèk liy lan bay lòd.

Kòmandman ke ou itilize pou kreye repèrtwar se mkdir. Atik sa a montre w fason debaz pou kreye repèrtwar nan Linux kòm byen ke kouvri tout switch ki disponib yo.

Ki jan yo kreye yon New Anyè

Fason ki pi senp pou kreye yon anyè nouvo se jan sa a:

mkdir

Pou egzanp, si ou vle kreye yon anyè anba katab lakay ou ki rele tès la, ouvri yon fenèt tèminal ak asire w ke ou se nan katab lakay ou (itilize lòd la CD ~ ).

mkdir tès

Chanje pèmisyon yo nan Anyè New

Apre kreye yon katab nouvo ou ta ka vle mete autorisations yo pou ke se sèlman yon itilizatè sèten ka gen aksè a katab la oswa pou ke gen kèk moun ki ka edite dosye nan katab la, men lòt moun yo te li sèlman.

Nan seksyon ki sot pase a, mwen te montre ou kijan pou kreye yon anyè rele tès. Kouri lòd ls la ap montre ou autorisations yo pou ke anyè:

ls -lt

Chans yo se ou pral gen yon bagay sou liy sa yo:

drwxr-xr-x 2 pwopriyetè gwoup 4096 Mar 9 19:34 tès

Bits yo nou enterese nan yo se drwxr-xr-x pwopriyetè ak gwoup

D a di nou ke tès se yon anyè.

Premye twa karaktè yo apre d yo se autorisations mèt kay la pou anyè a espesifye pa non pwopriyetè a.

Pwochen twa karaktè yo se autorisations gwoup la pou dosye a espesifye pa non an gwoup. Yon fwa ankò opsyon yo se r, w, ak x. Sa a - vle di ke gen yon pèmisyon ki manke. Nan egzanp lan pi wo a okenn moun ki fè pati gwoup la ka jwenn aksè nan katab la epi li dosye yo, men se pa ka ekri nan katab la.

Twa karaktè final yo se autorisations yo ke tout itilizatè yo gen ak jan ou ka wè nan egzanp ki anwo a yo se menm bagay la kòm otorizasyon yo gwoup.

Pou chanje autorisations yo pou yon dosye oswa katab ou ka itilize kòmandman an chmod . Kòmandman an chmod pèmèt ou presize 3 nimewo ki mete autorisations yo.

Pou jwenn yon melanj de autorisations ou ajoute nimewo yo ansanm. Pou egzanp jwenn li ak egzekite autorisations nimewo ou bezwen an se 5, yo ka resevwa li ak ekri autorisations nimewo a se 6 ak jwenn ekri ak egzekite otorizasyon nimewo a se 3.

Sonje ou bezwen presize 3 nimewo kòm yon pati nan lòd la chmod. Premye nimewo a se pou autorisations pwopriyetè a, dezyèm nimewo a se pou autorisations gwoup yo ak nimewo ki sot pase a se pou tout lòt moun.

Pou egzanp yo ka resevwa otorizasyon konplè sou mèt kay la, li ak egzekite autorisations sou gwoup la epi pa gen okenn otorizasyon pou nenpòt lòt moun di sa ki annapre yo:

chmod 750 tès

Si ou vle chanje non an gwoup ki posede yon katab sèvi ak lòd la chgrp.

Pou egzanp, imajine ou vle kreye yon anyè ke tout kontab yo nan konpayi ou kapab jwenn aksè.

Premye a tout, kreye kont yo gwoup pa tape sa ki annapre yo:

groupadd kont

Si ou pa gen pèmisyon ki kòrèk la yo kreye yon gwoup ou ka bezwen itilize sudo jwenn privilèj siplemantè oswa chanje nan yon kont ak autorisations ki valab lè l sèvi avèk lòd la Su .

Koulye a, ou ka chanje gwoup la pou yon katab lè ou tape bagay sa yo:

Chgrp kont

Pa egzanp:

chgrp kont tès

Pou bay okenn moun nan gwoup la kont li, ekri ak egzekite aksè kòm byen ke pwopriyetè a men li-sèlman nan tout lòt moun ou ka itilize lòd sa a:

chmod 770 tès

Pou ajoute yon itilizatè nan gwoup la kont ou pral pwobableman vle itilize lòd sa a:

usermod -a -G kont

Demann ki anwo a anvlope gwoup la kont lis la nan gwoup segondè itilizatè a gen aksè a.

Ki jan yo kreye yon Anyè epi mete pèmisyon nan menm tan an

Ou ka kreye yon anyè epi mete autorisations yo pou ki anyè an menm tan an lè l sèvi avèk lòd sa a:

mkdir-m777

Demann ki anwo la a pral kreye yon katab ki tout moun gen aksè a. Li trè ra ke ou ta vle kreye anyen ak sa a kalite autorisations.

Kreye yon Dosye ak Nenpòt Paran ki Obligatwa

Imajine ou vle kreye yon estrikti anyè men ou pa vle kreye chak katab endividyèl ansanm ak wout la epi travay fason ou desann yon pye bwa.

Pou egzanp, ou ta ka kreye dosye pou mizik ou jan sa a:

Li ta anmèdan gen yo kreye katab la wòch, Lè sa a, alice cooper la ak katab larenn ak Lè sa a, kreye katab la rap ak folder nan dre dre ak Lè sa a folder nan jazz ak Lè sa a, katab la louisjordan.

Pa espesifye switch sa yo ou ka kreye tout dosye paran yo sou vole a si yo pa deja egziste.

mkdir -p

Pou egzanp, yo kreye youn nan dosye yo ki nan lis pi wo a eseye lòd sa a:

mkdir -p ~ / mizik / wòch / alicecooper

Lè w konfime ke yon Anyè te kreye

Pa default, kòmandman an mkdir pa di ou si anyè a ou kreye te avèk siksè kreye. Si pa gen okenn erè parèt Lè sa a, ou ka asime li gen.

Si ou vle jwenn plis pwodiksyon ranfòse pou ke ou konnen ki sa ki te kreye sèvi ak switch sa yo.

mkdir -v

Pwodiksyon an pral sou liy yo nan mkdir: kreye anyè / chemen / to / directoryname .

Sèvi ak & # 34; mkdir & # 34; nan yon Script Shell

Pafwa ou pral vle itilize kòm "mkdir" kòm yon pati nan yon script koki. Pou egzanp, kite a gade nan yon script ki aksepte yon chemen. Lè yo script la egzekite li pral kreye katab la epi ajoute yon dosye tèks sèl ki rele "hello".

#! / bin / bash

mkdir $ @

cd $ @

manyen hello

Liy nan premye yo ta dwe enkli nan chak script ke ou ekri ak itilize yo montre ke sa a se vre yon script BASH.

Se "mkdir" lòd la itilize yo kreye yon katab. "$ @" ( Li rele tou paramèt opinyon ) nan fen liy lan 2nd ak 3yèm ranplase ak valè a ou presize lè kouri script la.

"Cd" lòd chanjman yo nan anyè a ou presize epi finalman lòd la manyen kreye yon dosye vid ki rele "hello".

Ou ka eseye script la soti pou tèt ou. Pou fè sa swiv enstriksyon sa yo:

  1. Louvri yon fenèt tèminal (peze Alt ak T ta dwe fè li)
  2. Mete nano createhellodirectory.sh
  3. Kalite nan kòmandman ki anwo yo nan editè a
  4. Sove dosye a pa peze CTRL ak O an menm tan
  5. Sòti dosye a pa peze CTRL ak X an menm tan an
  6. Chanje autorisations yo pa tape chmod + x createhellodirectory.sh
  7. Kouri script la pa tape ./createhellodirectory.sh tès

Lè ou kouri script la yon anyè ki rele "tès" pral kreye epi si ou chanje nan ki anyè ( cd tès) epi kouri yon lis anyè ( ls), ou pral wè yon dosye sèl ki rele "hello".

Se konsa, lwen tèlman bon, men kounye a eseye kouri etap 7 ankò.

  1. Yon erè ap parèt ki deklare katab la deja egziste.

Gen plizyè bagay nou ka fè pou amelyore script la. Pou egzanp, si katab la deja egziste nou pa patikilyèman swen osi lontan ke li egziste.

#! / bin / bash

mkdir-p $ @

cd $ @

manyen hello

Si ou presize -p la kòm yon pati nan lòd la mkdir Lè sa a, li pa pral erè si katab la deja egziste, men si li pa egziste li pral kreye li.

Kòm se k ap pase lòd la manyen pral kreye yon dosye si li pa egziste, men si li egziste li tou senpleman amande dènye dat ak lè a aksè.

Imajine deklarasyon manyen la te ranplase ak yon deklarasyon eko ki ekri tèks nan yon dosye jan sa a:

#! / bin / bash

mkdir-p $ @

cd $ @

Eko "hello" >> hello

Si ou kouri kòmandman an "./createhellodirectory.sh tès" ankò e ankò efè a pral ke dosye a ki rele "hello" nan anyè a tès ap grandi pi gwo ak pi gwo ki gen plis ak plis liy ak mo "hello" la nan li.

Koulye a, sa a pouvwa oswa pa pouvwa ap tankou gen entansyon men kite a di pou kounye a ke sa a se pa aksyon an vle. Ou ka ekri yon tès pou asire ke anyè a pa egziste anvan ou kouri kòmandman an eko jan sa a.

#! / bin / bash

mkdir $ @ 2> / dev / null;

si [$? -eq 0]; lè sa a

cd $ @

Eko "hello" >> hello

sòti

fi

Scripts ki pi wo a se metòd mwen pi pito pou manyen kreyasyon an nan dosye. Kòmandman an mkdir kreye katab la ki te pase kòm yon paramèt opinyon men se nenpòt ki pwodiksyon erè voye nan / dev / nil (ki esansyèlman vle di okenn kote).

Liy nan twazyèm chèk estati pwodiksyon an nan lòd anvan an ki se "mkdir" deklarasyon an epi si li reyisi li pral fè deklarasyon sa yo jiskaske yo deklare "fi" a rive.

Sa vle di ou ka kreye katab la ak fè tout bagay sa yo ou vle si lòd la se siksè. Si ou vle fè yon lòt bagay si lòd la pa te reyisi Lè sa a, ou ka senpleman antre nan yon lòt deklarasyon jan sa a:

#! / bin / bash

mkdir $ @ 2> / dev / null;

si [$? -eq 0]; lè sa a
cd $ @
Eko "hello" >> hello
sòti
lòt moun
cd $ @
Eko "hello"> hello
sòti
fi

Nan script ki anwo a si deklarasyon an mkdir ap travay Lè sa a, deklarasyon an eko voye pawòl Bondye a "bonjou" nan fen dosye a ki rele "hello" tandiske si li pa egziste yon nouvo dosye yo pral kreye yo rele "hello" ak mo " alo "nan li.

Egzanp sa a se pa patikilyèman pratik paske ou te kapab reyalize rezilta yo menm tou senpleman pa toujou kouri eko a "hello"> hello liy . Pwen nan egzanp lan se montre ke ou ka kouri "mkdir" lòd la, kache pwodiksyon an erè, tcheke estati a nan lòd la yo wè si li te reyisi oswa ou pa ak Lè sa a, fè yon seri kòmandman si "mkdir" lòd la te gen siksè ak yon lòt seri kòmandman si li pa t '.