Kuinka luoda hakemistoja Linuxissa mkdir-komennolla


Lyhyesti: Tässä oppaassa tarkastellaan mkdir-komentoa, jota käytetään hakemiston luomiseen. Keskustelemme myös joistakin käytännön esimerkeistä, jotka auttavat aloittelijoita käyttämään Linux-järjestelmää itsevarmasti.

Linux-käyttäjinä käytämme tiedostoja ja hakemistoja säännöllisesti. Tiedostojen avulla voimme tallentaa tärkeitä tietoja, kun taas hakemistojen avulla voimme järjestää tiedostot oikealla tavalla. Tämän lisäksi luomme usein hierarkkisen hakemistorakenteen järjestääksemme sisällön paremmin.

Tässä aloittelijaystävällisessä artikkelissa opimme mkdir-komennosta. Kuten nimestä voi päätellä, mkdir-komentoa käytetään nimetyn hakemiston luomiseen tietylle polulle, mikä mahdollistaa myös yhden tai useamman hakemiston luomisen kerralla vaadituilla tiedostooikeuksilla.

Huomaa, että mkdir-komennon käyttäminen edellyttää, että käyttäjällä on tarvittavat oikeudet päähakemistoon, tai muuten komento epäonnistuu lupa denied -virheen vuoksi.

Aivan kuten muutkin Linux-komennot, mkdir-komennon syntaksi on jaettu pääasiassa kahteen ryhmään - valitsimiin ja argumentteihin:

$ mkdir [OPTIONS] ... <DIRECTORY1> <DIRECTORY2> ...

Yllä olevassa syntaksissa hakasulkeet ([]) edustavat valinnaisia argumentteja, kun taas kulmasulut (<>) edustavat pakollisia argumentteja.

mkdir-komennon peruskäyttö Linuxissa

Kuten nimestä voi päätellä, mkdir on lyhyt muoto hakemistosta \make directory. Hyvä asia on, että se luo hakemiston vain, jos annetussa polussa ei ole hakemistoa tai tiedostoa, jolla on sama. Tämä on erittäin turvallinen komento eikä aiheuta haittaa järjestelmälle.

Tässä osiossa näemme mkdir-komennon peruskäytön esimerkein.

Yksi mkdir-komennon peruskäytöstä on nimetyn hakemiston luominen tietylle polulle. Luodaan siis nykyiseen työhakemistoon hakemisto, jonka nimi on rpm-distros:

$ mkdir rpm-distros

Käytä nyt ls-komentoa varmistaaksesi, että hakemisto on luotu:

$ ls -l

Ensimmäisessä esimerkissä käytimme suhteellista polkua komennon mkdir kanssa. Tämä komento tukee kuitenkin myös absoluuttista polkua.

Voimme käyttää pwd-komentoa tai pwd-ympäristömuuttujaa löytääksemme nykyisen työhakemiston absoluuttisen polun.

Joten luodaan nimetty hakemisto - deb-distros nykyiseen työhakemistoon käyttämällä absoluuttista polkua:

$ mkdir $PWD/deb-distros

Varmista nyt, että uusi hakemisto on luotu nykyiseen työhakemistoon:

$ ls -l

mkdir-komento hyväksyy useita polkuja argumenttina, minkä ansiosta voimme luoda useita hakemistoja kerralla.

Luodaan kolme hakemistoa deb-distro-hakemistoon yhdellä komennolla:

$ mkdir deb-distros/kali deb-distros/mint deb-distros/ubuntu

Listataan nyt deb-distro-hakemiston sisältö:

$ ls -l deb-distros

Kuten näemme, mkdir-komento loi useita hakemistoja onnistuneesti.

Edellisessä esimerkissä näimme kuinka luoda useita hakemistoja toisen hakemiston sisään yhdellä komennolla. Se ei kuitenkaan ollut tehokkain tapa, koska määritimme päähakemiston nimen eli deb-distros jokaisen alihakemiston kanssa.

Tämän rajoituksen voittamiseksi voimme määrittää alihakemistojen nimet aaltosulkeiden laajennuksessa seuraavan esimerkin mukaisesti, jossa luomme kolme alihakemistoa rpm-distros-hakemistoon:

$ mkdir rpm-distros/{alma,centos,fedora}

Tässä meidän tulee huomioida seuraavat kaksi tärkeää seikkaa:

  • Pilkun (,) kummallakaan puolella ei ole välilyöntejä.
  • Aaltosulkeiden laajennusominaisuus on käytettävissä vain Bash-kuoressa, joten tämä lähestymistapa on vähemmän kannettava.

Varmistetaan nyt, että vaadittu hakemistorakenne on luotu onnistuneesti:

$ ls -l rpm-distros

Edellisissä osissa näimme kuinka luoda useita hakemistoja. Tämä lähestymistapa ei kuitenkaan toimi, jos haluamme luoda sisäkkäisen hakemistorakenteen. Siinä tapauksessa voimme tarvittaessa käyttää ylähakemiston luovan komennon -p-vaihtoehtoa.

Luodaan sisäkkäinen alihakemistorakenne:

$ mkdir -p rpm-distros/centos/8.x/8.1/8.1-1911

Tarkista nyt rpm-distros/centos-hakemiston sisältö rekursiivisella tavalla:

$ ls -1R rpm-distros/centos

Kuten näemme, komento loi vaaditun hakemistorakenteen ilmoittamatta virheestä olemassa oleville päähakemistoille. Tämä vaihtoehto on erittäin kätevä kirjoitettaessa shell-skriptejä. Voimme käyttää sitä estämään hakemiston luontivirheen, joka saattaa johtua olemassa olevasta hakemistosta.

Joskus meidän on muutettava hakemiston käyttöoikeuksia heti sen luomisen jälkeen. Siinä tapauksessa meidän on käytettävä kahta komentoa - mkdir ja chmod. Voimme kuitenkin saavuttaa saman tuloksen yhdellä komennolla.

Käytetään -m-vaihtoehtoa määrittääksesi hakemiston käyttöoikeudet sen luomisen aikana:

$ mkdir -m 777 dir-1

Tässä esimerkissä käytimme numeromuotoa pääsyoikeuden määrittämiseen. Samalla tavalla voimme käyttää tekstimuotoa.

Esimerkiksi voimme saavuttaa saman tuloksen käyttämällä alla olevaa komentoa:

$ mkdir -m a=rwx dir-2

Käytä nyt ls-komentoa selvittääksesi hakemistojen käyttöoikeudet:

$ ls -ld dir-2 | awk '{print $1}'

Oletusarvoisesti mkdir-komento ei tulosta mitään päätteeseen hakemiston luomisen jälkeen. Tästä syystä olemme toistaiseksi käyttäneet ls-komentoa tarkistaaksemme, onko hakemisto luotu vai ei.

Tämän rajoituksen voittamiseksi voimme käyttää komennon monisanaista tilaa, joka tulostaa viestin jokaiselle luodulle hakemistolle. Tämä vaihtoehto antaa merkityksellistä tietoa, kun yhdistämme sen –p-vaihtoehdon kanssa:

Käytetään -v-vaihtoehtoa komennon kanssa, jotta monisanainen tila otetaan käyttöön:

$ mkdir -p -v dir-1/dir-2/dir-3/dir-4/dir-5

Tarkastellaan nyt komennon tulosta:

Tässä artikkelissa näimme mkdir-komennon peruskäytön. Ensin näimme kuinka luoda yksi hakemisto sekä useita hakemistoja. Seuraavaksi näimme, kuinka hakemiston käyttöoikeudet asetetaan sitä luotaessa. Lopuksi näimme kuinka tarkistaa hakemiston luominen monisanaisessa tilassa.

Tiedätkö muita parhaita esimerkkejä mkdir-komennosta Linuxissa? Kerro meille mielipiteesi alla olevissa kommenteissa.