mkdir (od make directory) to jedno z pierwszych poleceń, które poznasz w terminalu Linuksa. Tworzy nowe katalogi w bieżącej lokalizacji albo pod wskazaną ścieżką. Brzmi banalnie i takie jest, ale ma kilka opcji, które oszczędzają sporo klepania — zwłaszcza gdy potrzebujesz od razu całe drzewo folderów albo ustawić uprawnienia bez osobnego chmod.
Składnia i najważniejsze opcje
Podstawowa forma to: mkdir [OPCJE] KATALOG... — możesz podać jeden katalog albo kilka naraz, oddzielonych spacjami.
-p(--parents) — tworzy całą ścieżkę naraz, łącznie z brakującymi katalogami nadrzędnymi; nie zgłasza błędu, jeśli katalog już istnieje.-v(--verbose) — wypisuje komunikat o każdym utworzonym katalogu, więc widzisz, co faktycznie powstało.-m TRYB(--mode=TRYB) — ustawia uprawnienia nowego katalogu od razu przy tworzeniu, np.0755, zamiast osobnegochmod.-Z(--context) — ustawia kontekst SELinux dla nowego katalogu (przydatne na systemach z SELinux, np. RHEL/Fedora).--help— wyświetla skróconą pomoc, a--versionnumer wersji.
Przykłady użycia
mkdir projekt— tworzy pojedynczy katalogprojektw bieżącym miejscu.mkdir zdjecia dokumenty muzyka— tworzy trzy katalogi za jednym zamachem.mkdir -p projekt/src/utils— tworzy całą ścieżkę naraz; jeśliprojektisrcjeszcze nie istnieją, też powstaną.mkdir -m 700 prywatne— tworzy katalogprywatnedostępny tylko dla Ciebie (rwx dla właściciela, reszta nic).mkdir -pv strona/{css,js,img}— łączy tworzenie ścieżki z trybem gadatliwym; nawias to rozwijanie powłoki (brace expansion), które zrobi trzy podkatalogi.
Częste błędy i pułapki
Najczęstszy zgrzyt to brak -p: jeśli spróbujesz mkdir a/b/c, a katalog a nie istnieje, dostaniesz No such file or directory. Flaga -p rozwiązuje to natychmiast.
Drugi klasyk: tworzenie katalogu, który już istnieje. Zwykłe mkdir foo zwróci wtedy błąd File exists, ale z -p komenda przejdzie cicho — dlatego -p dobrze nadaje się do skryptów, gdzie nie chcesz wywalać się na istniejącym folderze.
Uważaj też na spacje w nazwach: mkdir Nowy Folder stworzy dwa katalogi, a nie jeden. Chcąc nazwę ze spacją, użyj cudzysłowu: mkdir "Nowy Folder". Pamiętaj również, że -m ustawia uprawnienia z uwzględnieniem maski umask tylko częściowo — tryb podany jawnie ma pierwszeństwo, więc 700 da dokładnie te uprawnienia.
Powiązane komendy: rmdir (usuwa puste katalogi), rm -r (usuwa katalog z zawartością), ls, cd, chmod oraz cp i mv.