Pouze pro návštěvníky našeho blogu Získejte další 3 měsíce zdarma + 10% slevu na tříletý plán YSBLOG10
Chyťte dohodu

Příkaz Mkdir v Linuxu vysvětlen s příklady v roce 2026

Příkaz mkdir v Linuxu vytváří nové adresáře. Jeho základní tvar je mkdir ADRESÁŘ a můžete s ním vytvořit více složek najednou, nastavit oprávnění pomocí -m, vytvářet vnořené cesty pomocí -p a tisknout výstup pomocí -v.

Respektuje vaši masku umask, vrací chyby, pokud existuje cesta bez parametru -p, a podporuje pokročilé vzory, jako je například rozbalování složených závorek. Vytváření adresářů je jednou z prvních věcí, které v jakémkoli systému Linux děláte.

V této příručce si vysvětlíme příkaz mkdir v Linuxu s jasnými příklady, osvědčenými postupy a tipy pro řešení problémů. Nakonec budete s jistotou vytvářet jednotlivé, vícenásobné a vnořené adresáře se správnými oprávněními, ať už lokálně nebo na serveru na adrese YouStable.


Co je mkdir v Linuxu?

mkdir (make directory) je základní linuxový nástroj, který vytváří jeden nebo více adresářů. Je součástí GNU coreutils na většině distribucí a je k dispozici také ve variantách BSD (macOS). Často se používá v nasazovacích skriptech, CI/CD potrubía každodenní soubor management.

Syntaxe a běžné možnosti

Zde je standardní syntaxe a možnosti, které budete používat nejčastěji:

mkdir [OPTIONS] DIRECTORY [DIRECTORY...]
# Common options:
# -p, --parents        Create parent directories as needed, no error if existing
# -m, --mode=MODE      Set permissions on the new directory (e.g., 755 or u=rwx,go=rx)
# -v, --verbose        Print a message for each created directory
# -Z, --context=CTX    Set SELinux security context (on SELinux-enabled systems)

Základní příklady použití

Vytvořte jeden adresář

mkdir reports

Pokud již soubor „reports“ existuje, mkdir vrátí chybu, pokud nepoužijete parametr -p (vysvětlení níže).

Vytvořte více adresářů najednou

mkdir january february march

Tím se v aktuální pracovní cestě vytvoří tři adresáře. Můžete také použít absolutní cesty.

Vytvořte vnořené adresáře pomocí -p

Použijte -p k vytvoření nadřazených adresářů dle potřeby a vyhněte se chybám, pokud cesty již existují.

mkdir -p /var/www/project/{public,logs,backup}

Rozbalení složených závorek ({…}) je řešeno vaším shellem (např. bash), nikoli mkdir. Rozbalí se do tří adresářů v /var/www/project.


Nastavení oprávnění pomocí -m (a pochopení umask)

Ve výchozím nastavení jsou oprávnění k novým adresářům ovlivněna vaší umask. Typické výchozí hodnoty jsou 022 nebo 002 v závislosti na distribuci a zásadách. Svůj aktuální umask můžete zkontrolovat pomocí:

umask

Nastavení číselných oprávnění

# 755 = owner rwx, group rx, others rx
mkdir -m 755 app

# 700 = owner rwx only
mkdir -m 700 secrets

Nastavení symbolických oprávnění

mkdir -m u=rwx,go=rx shared
mkdir -m u=rwx,g=rx,o= private_team

Poznámka: Hodnota -m přepíše výchozí hodnotu umask pouze pro daný příkaz. Pokud potřebujete upravit výchozí hodnoty v celém systému, upravte konfiguraci shellu nebo PAM a poté se znovu přihlaste.


Podrobný výstup a absolutní vs. relativní cesty

Použijte -v k potvrzení, co bylo vytvořeno

mkdir -vp /opt/tools/bin
# Output: mkdir: created directory '/opt/tools'
#         mkdir: created directory '/opt/tools/bin'

Absolutní vs. relativní cesty

Absolutní cesty začínají od / a jsou jednoznačné (/data/backups). Relativní cesty závisí na vašem aktuálním adresáři (./backups nebo jen backups). Pro skripty a automatizaci preferujte absolutní cesty, abyste snížili počet chyb.


Zpracování chyb: Soubor existuje, Oprávnění odepřeno a další

mkdir nabízí užitečné informace o chybách. Zde jsou běžné chyby a jejich rychlé opravy:

  • Soubor existuje: Adresář již existuje. Použijte -p, abyste se vyhnuli chybám při opětovném spuštění skriptů.
  • Oprávnění zamítnuto: Chybí vám oprávnění k nadřazené cestě. Přepněte se do zapisovatelného adresáře, upravte vlastnictví/oprávnění nebo v případě potřeby použijte příkaz sudo.
  • Žádný takový soubor ani adresář: Nadřazená cesta neexistuje. Vytvořte ji pomocí parametru -p.
  • Na zařízení už není místo: Souborový systém je plný. Uvolněte místo nebo rozšiřte úložiště.
# Robust pattern for idempotent script runs
mkdir -p /srv/app/logs || { echo "Failed to create logs"; exit 1; }

Případové studie z reálného světa (hosting a DevOps)

  • Webové kořeny: mkdir -p /var/www/example.com/{public_html,logs,tmp}
  • Procesy nasazení: Bezpečně připravte složky pro vydání, artefakty a adresáře mezipaměti pomocí -p.
  • Zálohy: mkdir -p /backups/$(date +%F) pro vytváření snímků adresářů s denními zálohami.
  • Hosting pro více klientů: Vytvořte adresáře pro jednotlivé weby se správnými oprávněními a vlastnictvím.

Pokud nasazujete na YouStable VPS nebo cloudový hosting, můžete SSH na váš server a pomocí mkdir připravte docrooty, protokoly a cesty vhodné pro izolaci. Naše podpora vám může pomoci s bezpečnými oprávněními pro NGINX/Apache a PHP-FPM bazény.


Pokročilé vzory a tipy pro produktivitu

Vytvořte mnoho adresářů s rozšířením závorek

# Monthly data directories
mkdir -p data/{2024,2025}/{01..12}

# App structure scaffold
mkdir -p app/{bin,config,lib,log,tmp}

Ze souboru nebo proudu příkazů

# Create directories listed in a file
xargs -I {} mkdir -p "{}" <<EOF
/var/www/site1/logs
/var/www/site2/logs
/var/www/site3/logs
EOF

# With find to mirror a structure
find templates -type d -printf '%P\n' | xargs -I {} mkdir -p "output/{}"

Kontexty SELinuxu (systémy s podporou SELinuxu)

V systémech SELinux můžete v některých nastaveních použít kontexty již při vytváření:

# Set default context for created dirs (policy-dependent)
mkdir -Z -p /var/www/example.com/public_html

# Or specify an explicit context if supported
mkdir --context=system_u:object_r:httpd_sys_content_t:s0 /var/www/example.com/public_html

Vždy ověřte pomocí ls -Z a prostudujte si bezpečnostní zásady. V mnoha případech semanage Pro perzistentní označování jsou preferovány fcontext a restorecon.

Nejlepší postupy pro zabezpečení a oprávnění

  • Vyhněte se letu 777: Adresáře s možností zápisu po celém světě s sebou nesou riziko. Pro sdílené čtení preferujte nastavení 750/755 a pro soukromá data 700.
  • Používejte skupiny: Vytvořte skupinu pro projekt a nastavte vlastnictví skupiny adresářů pro kolaborativní přístup k zápisu.
  • Důležitá informace pro sdílenou teplotu: U sdílených zapisovatelných adresářů (jako je /tmp) zabraňuje bit sticky smazání souborů ostatními uživateli.
  • Vlastnictví je důležité: Po příkazu mkdir přiřaďte správného vlastníka a skupinu s příkazem chown službě nebo uživateli nasazení.
# Example: secure web root with group collaboration
sudo mkdir -p /var/www/project/{public,logs}
sudo chown -R deploy:www-data /var/www/project
sudo chmod -R 750 /var/www/project
sudo chmod 2750 /var/www/project # setgid to inherit group

On YouStable servery, náš tým může zkontrolovat rozložení adresářů, oprávnění a umask, aby zajistil bezpečnost a konzistentní nasazení napříč prostředími.

Kontrolní seznam pro odstraňování problémů

  • Zkontrolujte cestu: pwd a ls -ld nadřazené adresáře pro ověření správného umístění.
  • Ověření oprávnění: ls -ld parent a určete, zda potřebujete sudo nebo chown.
  • Potvrďte umask: umask může odebírat zamýšlená oprávnění; pro přesný režim použijte -m.
  • Bezpečně spusťte znovu: Použijte mkdir -p k zabránění chybám v existujících cestách ve skriptech.
  • Audit SELinuxu: V systémech s vynucenými zásadami zkontrolujte kontexty pomocí příkazu ls -Z.

Shrnutí příkazů: Rychlé příklady

# Basic
mkdir test

# Multiple
mkdir dir1 dir2 dir3

# Nested parents
mkdir -p /data/app/releases/current

# Verbose create
mkdir -vp /opt/tools/bin

# With permissions
mkdir -m 755 public
mkdir -m 700 private

# With brace expansion
mkdir -p /var/www/site/{public_html,logs,tmp}

Nejčastější dotazy

Co dělá příkaz mkdir v Linuxu?

Příkaz mkdir vytváří adresáře. Můžete vytvořit jeden nebo více adresářů najednou, vytvářet vnořené adresáře pomocí -p, nastavovat oprávnění pomocí -m a zobrazovat průběh pomocí -v. Respektuje umask vašeho systému, pokud explicitně nenastavíte režim.

Jak vytvořím vnořené adresáře jedním příkazem?

Použijte mkdir -p. Například: mkdir -p /var/www/project/public_html vytvoří všechny chybějící nadřazené adresáře bez chyb, pokud již existují.

Jak nastavím oprávnění adresáře během jeho vytváření?

Použijte -m. Pro číselné hodnoty: mkdir -m 755 docs. Pro symbolické hodnoty: mkdir -mu=rwx,go=rx docs. Toto přepíše aktuální umask pro daný příkaz.

Jak mohu vytvořit více adresářů najednou?

Vyjmenujte je: mkdir img css js. Pro vzory použijte rozšíření pomocí závorek: mkdir -p env/{dev,stage,prod}/logs pro vytvoření devíti cest v jednom příkazu.

Proč mkdir hlásí „Oprávnění odepřeno“?

Nemáte práva k nadřazenému adresáři. Vytvořte cesty pod vaším domovským adresářem, změňte vlastnictví nebo oprávnění, případně použijte sudo, pokud je to vhodné (např. systémové cesty jako /var nebo /opt).


Závěr

Příkaz mkdir v Linuxu je jednoduchý, ale výkonný. S parametry -p, -m a rozšířeními shellu můžete vytvářet bezpečné a opakovatelné adresářové struktury pro aplikace a webové stránky. Pokud hostujete s YouStable, naši inženýři vám mohou pomoci standardizovat rozvržení adresářů a oprávnění ve vašich prostředích pro plynulejší nasazení a lepší zabezpečení.

Sdílet přes:

Sanjeet Chauhan

Sanjeet Chauhan je bloger a SEO expert, který se věnuje pomoci webovým stránkám s organickým růstem. Sdílí praktické strategie, užitečné tipy a poznatky pro zvýšení návštěvnosti, zlepšení pozic ve vyhledávání a maximalizaci online přítomnosti.

Zanechat komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

Přejděte na začátek