.\" -*- coding: UTF-8 -*- .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH mkdir 2 "17 maja 2025 r." "Linux man\-pages 6.15" .SH NAZWA mkdir, mkdirat \- tworzy katalog .SH BIBLIOTEKA Standardowa biblioteka C (\fIlibc\fP,\ \fI\-lc\fP) .SH SKŁADNIA .nf .\" .B #include \fB#include \fP .P \fBint mkdir(const char *\fP\fIpath\fP\fB, mode_t \fP\fImode\fP\fB);\fP .P \fB#include \fP/* Definicja stałych AT_* */ \fB#include \fP .P \fBint mkdirat(int \fP\fIdirfd\fP\fB, const char *\fP\fIpath\fP\fB, mode_t \fP\fImode\fP\fB);\fP .fi .P .RS -4 Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)): .RE .P \fBmkdirat\fP(): .nf Od glibc 2.10: _POSIX_C_SOURCE >= 200809L Przed glibc 2.10: _ATFILE_SOURCE .fi .SH OPIS \fBmkdir\fP() próbuje utworzyć katalog o nazwie \fIpath\fP. .P Argument \fImode\fP określa tryb nowego katalogu (zob. \fBinode\fP(7)). Jest on modyfikowany przez \fIumask\fP procesu w standardowy sposób: jeśli brak domyślnych ACL (list kontroli dostępu), tryb tworzonego katalogu to (\fImode\fP & \[ti]\fIumask\fP & 0777). To, czy inne bity \fImode\fP są honorowane dla tworzonego katalogu, zależy od systemu operacyjnego. Sytuację w Linuksie, opisano poniżej w WERSJACH. .P Właścicielem nowo tworzonego katalogu będzie efektywny identyfikator użytkownika procesu. Jeśli katalog zawierający plik ma ustawiony bit set\-group\-ID albo system plików zamontowano z semantyką grup BSD (\fImount \-o bsdgroups\fP lub synonimicznie \fImount \-o grpid\fP), nowo tworzony katalog odziedziczy uprawnienia grupy od swego rodzica; w pozostałych przypadkach będzie własnością efektywnego identyfikatora grupy procesu. .P .\" .\" Jeśli katalog nadrzędny ma ustawiony bit set\-group\-ID, będzie go miał również nowo tworzony katalog. .SS mkdirat() Wywołanie systemowe \fBmkdirat\fP() operuje w dokładnie taki sam sposób jak \fBmkdir\fP(), z wyjątkiem różnic opisanych tutaj. .P Jeśli ścieżka \fIpath\fP jest względna, jest to interpretowane w odniesieniu do katalogu do którego odnosi się deskryptor pliku \fIdirfd\fP (zamiast w odniesieniu do bieżącego katalogu roboczego procesu wywołującego, jak w stosunku do ścieżek względnych robi to \fBmkdir\fP()). .P Jeśli \fIpath\fP jest względna a \fIdirfd\fP ma wartość specjalną \fBAT_FDCWD\fP, to \fIpath\fP jest interpretowana w odniesieniu do bieżącego katalogu roboczego procesu wywołującego (jak \fBmkdir\fP()). .P Jeśli ścieżka \fIpath\fP jest bezwzględna, to \fIdirfd\fP jest ignorowane. .P Więcej informacji o potrzebie wprowadzenia \fBmkdirat\fP() można znaleźć w podręczniku \fBopenat\fP(2). .SH "WARTOŚĆ ZWRACANA" Po pomyślnym zakończeniu \fBmkdir\fP() i \fBmkdirat\fP() zwracają zero. W przypadku błędu zwracane jest \-1 i ustawiane \fIerrno\fP wskazując błąd. .SH BŁĘDY .TP \fBEACCES\fP Katalog nadrzędny nie zezwala na uprawnienie do zapisu wobec procesu lub jeden z katalogów w ścieżce \fIpath\fP nie zezwala na uprawnienie przeszukania (zob. też \fBpath_resolution\fP(7)). .TP \fBEBADF\fP (\fBmkdirat\fP()) \fIpath\fP jest względna, lecz \fIdirfd\fP nie jest ani \fBAT_FDCWD\fP, ani prawidłowym deskryptorem pliku. .TP \fBEDQUOT\fP Wyczerpano przydział bloków dysku lub i\-węzłów użytkownika w systemie plików. .TP \fBEEXIST\fP \fIpath\fP już istnieje (niekoniecznie jako katalog). Obejmuje to przypadek, gdy \fIpath\fP jest dowiązaniem symbolicznym, prawidłowym lub wiszącym. .TP \fBEFAULT\fP \fIpath\fP wskazuje poza dostępną dla użytkownika przestrzeń adresową. .TP \fBEINVAL\fP Końcowa składowa (\[Bq]basename\[rq]) ścieżki \fIpath\fP nowego katalogu jest nieprawidłowa (np. zawiera znaki niedozwolone w danym systemie plików). .TP \fBELOOP\fP Podczas rozwiązywania \fIpath\fP napotkano zbyt wiele dowiązań symbolicznych. .TP \fBEMLINK\fP Liczba dowiązań zwykłych do katalogu nadrzędnego przekroczyłaby \fBLINK_MAX\fP. .TP \fBENAMETOOLONG\fP \fIpath\fP była zbyt długa. .TP \fBENOENT\fP Składowa \fIpath\fP, która powinna być katalogiem nie istnieje lub jest wiszącym dowiązaniem symbolicznym. .TP \fBENOMEM\fP Brak pamięci jądra. .TP \fBENOSPC\fP Na urządzeniu zawierającym \fIpath\fP brak miejsca dla nowego katalogu. .TP \fBENOSPC\fP Nie można utworzyć nowego katalogu, ponieważ wyczerpano przydział dyskowy użytkownika. .TP \fBENOTDIR\fP Składowa \fIpath\fP, która powinna być katalogiem, w rzeczywistości katalogiem nie jest. .TP \fBENOTDIR\fP (\fBmkdirat\fP()) \fIpath\fP jest względna, a \fIdirfd\fP jest deskryptorem pliku odnoszącym się do pliku innego niż katalog. .TP \fBEPERM\fP System plików zawierający \fIpath\fP nie obsługuje tworzenia katalogów. .TP \fBEROFS\fP \fIpath\fP odnosi się do pliku w systemie plików tylko do odczytu. .TP \fBEOVERFLOW\fP Nie skonfigurowano mapowań UID lub GID (zob. \fBuser_namespaces\fP(7)). .SH WERSJE W Linuksie, oprócz bitów uprawnień, honorowany jest również bit \fImode\fP \fBS_ISVTX\fP. .SS "Uwagi dla glibc" W starszych jądrach, gdzie \fBmkdirat\fP() jest niedostępne, funkcja opakowująca z glibc awaryjnie korzysta z \fBmkdir\fP(). Gdy \fIpath\fP jest względna, glibc tworzy ścieżkę w oparciu o dowiązanie symboliczne w \fI/proc/self/fd\fP, odnoszące się do argumentu \fIdirfd\fP. .SH STANDARDY POSIX.1\-2008. .SH HISTORIA .TP \fBmkdir\fP() .\" SVr4 documents additional EIO, EMULTIHOP SVr4, BSD, POSIX.1\-2001. .TP \fBmkdirat\fP() Linux 2.6.16, glibc 2.4. .SH UWAGI W protokole odpowiedzialnym za obsługę NFS istnieje wiele nietrafnych rozwiązań. Niektóre z nich mają wpływ na \fBmkdir\fP(). .SH "ZOBACZ TAKŻE" \fBmkdir\fP(1), \fBchmod\fP(2), \fBchown\fP(2), \fBmknod\fP(2), \fBmount\fP(2), \fBrmdir\fP(2), \fBstat\fP(2), \fBumask\fP(2), \fBunlink\fP(2), \fBacl\fP(5), \fBpath_resolution\fP(7) .PP .SH TŁUMACZENIE Tłumaczenie niniejszej strony podręcznika: Michał Kułach . .PP Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License w wersji 3 .UE lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. .PP Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej .MT manpages-pl-list@lists.sourceforge.net .ME .