Kaip kurti katalogus Linux su komanda "mkdir"

Šis vadovas parodys, kaip kurti naujus aplankus ar katalogus "Linux" naudojant komandinę eilutę.

Komanda, kurią naudojate kurdami katalogus, yra mkdir. Šiame straipsnyje parodytas pagrindinis būdas kurti katalogus "Linux", taip pat apima visus turimus jungiklius.

Kaip sukurti naują katalogą

Paprasčiausias būdas sukurti naują katalogą yra toks:

mkdir

Pvz., Jei norite sukurti aplanką pagal namų katalogą, vadinamą testu, atidarykite terminalo langą ir įsitikinkite, kad esate savo namų kataloge (naudokite komandą cd ~ ).

mkdir testas

Naujo katalogo leidimų keitimas

Sukūrę naują aplanką galbūt norėsite nustatyti leidimus, kad tik tam tikras vartotojas galėtų pasiekti aplanką arba kad kai kurie žmonės galėtų redaguoti aplanke esančius failus, o kiti tik skaityti.

Paskutiniame skyriuje parodžiau, kaip sukurti katalogą, pavadintą testu. Vykdant ls komandą bus rodomi leidimai to katalogo:

ls -lt

Tikimės, kad jūs turėsite kažką panašaus:

drwxr-xr-x 2 savininko grupė 4096 9 kovo 19:34 testas

Mūsų dominantys bitai yra drwxr-xr-x savininkas ir grupė

D sako mums, kad testas yra katalogas.

Pirmieji trys simboliai po d yra savininko leidimai, nurodyti kataloge, kurį nurodo savininko vardas.

Kiti trys simboliai yra grupės leidimai failui, nurodytam grupės vardu. Vėlgi galimybės yra r, w ir x. Tai reiškia, kad trūksta leidimo. Pirmiau pateiktame pavyzdyje kiekvienas, priklausantis grupei, gali pasiekti aplanką ir skaityti failus, bet negali rašyti į aplanką.

Galutiniai trys simboliai yra leidimai, kuriuos turi visi vartotojai, ir kaip matote aukščiau esančiame pavyzdyje, tie patys kaip grupės leidimai.

Norėdami pakeisti failo ar aplanko teises, galite naudoti komandą chmod . "Chmod" komanda leidžia nurodyti 3 numerius, kurie nustato leidimus.

Norėdami gauti leidimų mišinį, pridėkite skaičius kartu. Pavyzdžiui, jei norite skaityti ir vykdyti leidimus, jums reikia 5 numerių, norėdami skaityti ir rašyti leidimus, skaičius yra 6, o gauti leidimus ir įrašus - 3.

Prisiminkite, kad kaip chmod komandą turite nurodyti 3 numerius. Pirmasis numeris skirtas savininko leidimams, antrasis numeris skirtas grupės leidimams, o paskutinis numeris skirtas visiems kitiems.

Pavyzdžiui, jei norite gauti visus leidimus savininkui, skaityti ir vykdyti leidimus grupėje, o kitiems kitiems leidimams nenurodykite:

chmod 750 testas

Jei norite pakeisti grupės pavadinimą, kuris turi aplanką, naudokite komandą chgrp.

Pavyzdžiui, įsivaizduokite, kad norite sukurti katalogą, prie kurio gali patekti visi jūsų įmonės buhalteriai.

Visų pirma, sukurkite grupių paskyras, įvesdami:

groupadd sąskaitos

Jei neturite teisingo leidimo kurti grupę, gali prireikti naudoti sudo, norint gauti papildomų privilegijų arba perjungti paskyrą su galiojančiais leidimais naudodami su komandą .

Dabar galite pakeisti aplanko grupę, įvesdami šį:

chgrp sąskaitos

Pavyzdžiui:

chgrp sąskaitų testas

Norint, kad kas nors iš paskyrų grupės skaitytų, rašytų ir atliktų prieigą, taip pat savininką, bet visiems kitiems galite naudoti šią komandą:

chmod 770 testas

Norėdami pridėti naudotoją į sąskaitų grupę, tikriausiai norėsite naudoti šią komandą:

usermod -a -G paskyras

Pirmiau nurodyta komanda prideda sąskaitų grupę į antrinių grupių, prie kurių gali naudotis vartotojas, sąrašą.

Kaip sukurti katalogą ir nustatyti leidimus tuo pačiu metu

Jūs galite sukurti katalogą ir nustatyti šio katalogo teises tuo pačiu metu naudodami šią komandą:

mkdir-m777

Pirmiau nurodyta komanda sukurs aplanką, prie kurio visi gali prisijungti. Labai retai, kad norėtumėte kurti kažką su tokiais leidimais.

Sukurkite aplanką ir bet kuriuos tėvus, kurių reikia

Įsivaizduokite, kad norite kurti katalogų struktūrą, tačiau nenorite kiekvieną atskirą aplanką sukurti kartu su keliu ir važiuodami medžiu.

Pvz., Galite kurti savo muzikos aplankus taip:

Būtų įpratę sukurti roko aplanką, tada "alice cooper" ir "Queen" aplanką, tada sukurti repo aplanką ir aplanką dr dre, tada džiazo aplanką ir tada louisjordan aplanką.

Nurodydami šį jungiklį galite sukurti visus tėvų aplankus, jei jie dar nėra.

mkdir -p

Pavyzdžiui, norėdami sukurti vieną iš aukščiau išvardytų aplankų, pabandykite atlikti šią komandą:

mkdir-p ~ / music / rock / alicecooper

Patvirtinimas, kad buvo sukurta aplankas

Pagal numatytuosius nustatymus komanda mkdir nenurodo, ar kuriamas katalogas buvo sėkmingai sukurtas. Jei nėra klaidų, galite manyti, kad tai yra.

Jei norite gauti daugiau verbų išvesties, kad žinotumėte, kas buvo sukurta, naudokite šį jungiklį.

mkdir -v

Išvestis bus vykdoma pagal mkdir eilutes : sukurta aplankas / kelias / į / katalogo pavadinimą .

Naudojant & # 39; mkdir & # 34; "Shell" scenarijuje

Kartais jūs norėsite naudoti komandą "mkdir" kaip "shell" scenarijų dalį. Pavyzdžiui, pažvelkime į scenarijų, kuris priima kelią. Kai scenarijus bus vykdomas, jis sukurs aplanką ir pridės vieną tekstinį failą "hello".

#! / bin / bash

mkdir $ @

cd $ @

prisiliesti prie svetimo

Pirmoji eilutė turėtų būti įtraukta į kiekvieną scenarijų, kurį rašote, ir jis naudojamas parodyti, kad tai tikrai BASH scenarijus.

Komandos "mkdir" naudojama aplankui kurti. "$ @" ( Dar vadinamasis įvesties parametrais ) antroje ir trečiojoje eilutėje pabaigoje pakeičiama reikšme, kurią nurodote paleidę scenarijų.

Komanda "cd" keičia į nurodytą katalogą ir pagaliau paliesti komanda sukuria tuščią failą, vadinamą "sveikais".

Galite išbandyti scenarijų sau. Norėdami tai padaryti, laikykitės šių nurodymų:

  1. Atidarykite terminalo langą (paspauskite Alt ir T turi tai padaryti)
  2. Įveskite nano createhellodirectory.sh
  3. Į redaktorių įveskite komandas aukščiau
  4. Išsaugokite failą vienu metu paspausdami CTRL ir O
  5. Išeikite iš failo paspausdami CTRL ir X tuo pačiu metu
  6. Keiskite leidimus, įveskite chmod + x createhellodirectory.sh
  7. Paleiskite scenarijų, įvesdami testą ./createhellodirectory.sh

Kai paleisite scenarijų, bus sukurtas katalogas "test", o jei pakeisite į tą katalogą ( cd testas) ir paleiskite katalogų sąrašą ( ls), pamatysite vieną failą, vadinamą "hello".

Kol kas taip gerai, bet dabar pabandykite paleisti 7 žingsnį dar kartą.

  1. Bus rodoma klaida, nurodanti, kad aplankas jau egzistuoja.

Galime padaryti įvairius dalykus, kad galėtume patobulinti scenarijų. Pavyzdžiui, jei aplankas jau egzistuoja, mes ypač nesame rūpi, kol ji egzistuoja.

#! / bin / bash

mkdir-p $ @

cd $ @

prisiliesti prie svetimo

Jei nurodėte -p kaip komandą mkdir, tai nebus klaida, jei aplankas jau egzistuoja, bet jei jo nėra, jis jį sukurs.

Kaip tai atsitiks, "touch" komanda sukuria failą, jei jo nėra, bet jei jis egzistuoja, jis pakeičia paskutinę prieigą datą ir laiką.

Įsivaizduokite, kad prisilietimo teiginys buvo pakeistas echo pareiškimu, kuris įrašo tekstą į failą taip:

#! / bin / bash

mkdir-p $ @

cd $ @

echo "hello" >> hello

Jei paleisite komandą "./createhellodirectory.sh test" iš naujo ir vėl, poveikis bus tas, kad bandymo aplanke esantis failas "hello" augs didesnis ir didesnis, nes jame bus daugiau eilučių su žodžiu "sveika".

Dabar tai gali arba negali būti kaip numatyta, bet dabar pasakykite, kad tai nėra pageidaujamas veiksmas. Galite parašyti testą, kad įsitikintumėte, kad kataloge nėra, prieš pradedant echo komandą, kaip nurodyta toliau.

#! / bin / bash

mkdir $ @ 2> / dev / null;

jei [$? -eq 0]; tada

cd $ @

echo "hello" >> hello

išeiti

fi

Šis scenarijus yra mano pageidaujamas būdas valdyti aplankų kūrimą. Komandos mkdir sukuria aplanką, kuris perduodamas kaip įvesties parametras, tačiau bet koks klaidos išvestis siunčiamas į / dev / null (kuris iš esmės reiškia niekur).

Trečioji eilutė patikrina ankstesnės komandos, kuri yra "mkdir", išvesties būsena ir, jei ji pasisekė, ji atliks teiginius, kol pasirodys "fi" teiginys.

Tai reiškia, kad galite sukurti aplanką ir atlikti visus reikalingus veiksmus, jei komanda yra sėkminga. Jei norite ką nors padaryti, jei komanda nepavyko, galite tiesiog įvesti kitą teiginį:

#! / bin / bash

mkdir $ @ 2> / dev / null;

jei [$? -eq 0]; tada
cd $ @
echo "hello" >> hello
išeiti
Kitas
cd $ @
echo "hello"> hello
išeiti
fi

Viršutiniame scenarijuje, jei veikia "mkdir" ataskaita, echo pareiškimas siunčia "hello" žodį į failo pabaigą, vadinamą "hello", o jei jo nėra, bus sukurtas naujas failas "hello" su žodžiu " Sveiki ".

Šis pavyzdys nėra ypač praktiškas, nes jūs galėtumėte pasiekti tuos pačius rezultatus, tiesiog echo "hello"> hello eilutę visada paleiskite. Pavyzdys yra parodyti, kad galite paleisti komandą "mkdir", paslėpti klaidos išvedimą, patikrinti komandos būklę, kad įsitikintumėte, ar ji buvo sėkminga, ar ne, tada atlikite vieną komandų rinkinį, jei komanda "mkdir" buvo sėkmingas ir kitas komandų rinkinys, jei taip nebuvo.