.\" -*- 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 mknod 2 "17 mai 2025" "Pagini de manual de Linux 6.15" .SH NUME mknod, mknodat \- creează un fișier special sau obișnuit .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBint mknod(const char *\fP\fIrută\fP\fB, mode_t \fP\fImod\fP\fB, dev_t \fP\fIdispozitiv\fP\fB);\fP .P \fB#include \fP/* Definirea constantelor AT_* */ \fB#include \fP .P \fBint mknodat(int \fP\fIfd\-director\fP\fB, const char *\fP\fIrută\fP\fB, mode_t \fP\fImod\fP\fB, dev_t \fP\fIdispozitiv\fP\fB);\fP .fi .P .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .P \fBmknod\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || /* Începând cu glibc 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE .fi .SH DESCRIERE Apelul de sistem \fBmknod\fP() creează un nod de sistem de fișiere (fișier, fișier special de dispozitiv sau conductă cu nume) numit \fIrută\fP, cu atributele specificate de \fImod\fP și \fIdispozitiv\fP. .P Argumentul \fImod\fP specifică atât modul de fișier care urmează să fie utilizat, cât și tipul de nod care urmează să fie creat. Acesta ar trebui să fie o combinație (utilizând logica SAU) a unuia dintre tipurile de fișiere enumerate mai jos și a zero sau mai mulți biți ai modului de fișier enumerați în \fBinode\fP(7). .P Modul fișierului este modificat de \fIumask\fP al procesului în mod obișnuit: în absența unei ACL implicite, permisiunile nodului creat sunt (\fImod\fP & \[ti]\fIumask\fP). .P .\" (S_IFSOCK since Linux 1.2.4) Tipul de fișier trebuie să fie unul dintre \fBS_IFREG\fP, \fBS_IFCHR\fP, \fBS_IFBLK\fP, \fBS_IFIFO\fP sau \fBS_IFSOCK\fP pentru a specifica un fișier obișnuit (care va fi creat gol), un fișier special de caractere, un fișier special de blocuri, un FIFO (conductă cu nume) sau, respectiv, un soclu de domeniu UNIX; (tipul de fișier zero este echivalent cu tipul \fBS_IFREG\fP). .P Dacă tipul de fișier este \fBS_IFCHR\fP sau \fBS_IFBLK\fP, atunci \fIdispozitiv\fP specifică numerele majore și minore ale fișierului special de dispozitiv nou creat (\fBmakedev\fP(3) poate fi util pentru a construi valoarea pentru \fIdispozitiv\fP); altfel, este ignorat. .P Dacă \fIruta\fP există deja sau este o legătură simbolică, acest apel eșuează cu o eroare \fBEEXIST\fP. .P .\" .\" Nodul nou creat va fi deținut de ID\-ul de utilizator efectiv al procesului. Dacă directorul care conține nodul are bitul set\-group\-ID activat sau dacă sistemul de fișiere este montat cu semantica de grup BSD, noul nod va moșteni proprietatea de grup de la directorul său părinte; în caz contrar, acesta va fi deținut de ID\-ul de grup efectiv al procesului. .SS mknodat() Apelul de sistem \fBmknodat\fP() funcționează exact în același mod ca \fBmknod\fP(), cu excepția diferențelor descrise aici. .P Dacă ruta dată în \fIrută\fP este relativă, atunci aceasta este interpretată în raport cu directorul la care face referire descriptorul de fișier \fIfd\-director\fP ( și nu în raport cu directorul curent de lucru al procesului apelant, așa cum face \fBmknod\fP() pentru un nume de rută relativ). .P Dacă \fIruta\fP este relativă și \fIfd\-director\fP este valoarea specială \fBAT_FDCWD\fP, atunci \fIruta\fP este interpretată relativ la directorul curent de lucru al procesului apelant (ca \fBmknod\fP()). .P Dacă \fIruta\fP este absolută, atunci \fIfd\-director\fP este ignorat. .P A se vedea \fBopenat\fP(2) pentru o explicație a necesității \fBmknodat\fP(). .SH "VALOAREA RETURNATĂ" \fBmknod\fP() și \fBmknodat\fP() returnează zero în caz de succes. În caz de eroare, este returnat \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEACCES\fP Directorul părinte nu permite permisiunea de scriere a procesului sau unul dintre directorii din prefixul rutei \fIrută\fP nu a permis permisiunea de căutare; (a se vedea și \fBpath_resolution\fP(7)). .TP \fBEBADF\fP (\fBmknodat\fP()) \fIruta\fP este relativă, dar \fIfd\-director\fP nu este nici \fBAT_FDCWD\fP, nici un descriptor de fișier valid. .TP \fBEDQUOT\fP Cota utilizatorului de blocuri de disc sau de noduri\-i pe sistemul de fișiere a fost epuizată. .TP \fBEEXIST\fP \fIruta\fP există deja. Aceasta include cazul în care \fInume\-rută\fP este o legătură simbolică, suspendată sau nu. .TP \fBEFAULT\fP \fIruta\fP indică în afara spațiului de adrese accesibil. .TP \fBEINVAL\fP \fImode\fP a solicitat crearea a altceva decât un fișier obișnuit, un fișier special de dispozitiv, FIFO sau soclu. .TP \fBELOOP\fP S\-au întâlnit prea multe legături simbolice în rezolvarea \fIrutei\fP. .TP \fBENAMETOOLONG\fP \fIruta\fP era prea lungă. .TP \fBENOENT\fP O componentă de director din \fIrută\fP nu există sau este o legătură simbolică ruptă. .TP \fBENOMEM\fP Nu a fost disponibilă suficientă memorie pentru nucleu. .TP \fBENOSPC\fP Dispozitivul care conține \fIruta\fP nu are spațiu pentru noul nod. .TP \fBENOTDIR\fP O componentă utilizată ca director în \fIrută\fP nu este, de fapt, un director. .TP \fBENOTDIR\fP (\fBmknodat\fP()) \fIruta\fP este relativă și \fIfd\-director\fP este un descriptor de fișier care se referă la un alt fișier decât un director. .TP \fBEPERM\fP .\" For UNIX domain sockets and regular files, EPERM is returned only in .\" Linux 2.2 and earlier; in Linux 2.4 and later, unprivileged can .\" use mknod() to make these files. \fImode\fP a solicitat crearea a altceva decât un fișier obișnuit, FIFO (conductă cu nume) sau soclu de domeniu UNIX, iar apelantul nu este privilegiat (Linux: nu are capacitatea \fBCAP_MKNOD\fP); returnat de asemenea dacă sistemul de fișiere care conține \fIruta\fP nu acceptă tipul de nod solicitat. .TP \fBEROFS\fP \fIruta\fP se referă la un fișier pe un sistem de fișiere numai\-pentru\-citire. .SH VERSIUNI POSIX.1\-2001 spune: „Singura utilizare portabilă a \fBmknod\fP() este de a crea un fișier special FIFO. Dacă \fImode\fP nu este \fBS_IFIFO\fP sau \fIdispozitiv\fP nu este 0, comportamentul lui \fBmknod\fP() este nespecificat.” Cu toate acestea, în zilele noastre nu ar trebui să se utilizeze niciodată \fBmknod\fP() în acest scop; ar trebui să se utilizeze \fBmkfifo\fP(3), o funcție special definită pentru acest scop. .P .\" and one should make UNIX domain sockets with socket(2) and bind(2). Sub Linux, \fBmknod\fP() nu poate fi utilizat pentru a crea directoare. Trebuie să creați directoare cu \fBmkdir\fP(2). .SH STANDARDE POSIX.1\-2008. .SH ISTORIC .TP \fBmknod\fP() .\" The Linux version differs from the SVr4 version in that it .\" does not require root permission to create pipes, also in that no .\" EMULTIHOP, ENOLINK, or EINTR error is documented. SVr4, 4.4BSD, POSIX.1\-2001 (dar a se vedea secțiunea VERSIUNI). .TP \fBmknodat\fP() Linux 2.6.16, glibc 2.4. POSIX.1\-2008. .SH NOTE Există multe neajunsuri în protocolul care stă la baza NFS. Unele dintre acestea afectează \fBmknod\fP() și \fBmknodat\fP(). .SH "CONSULTAȚI ȘI" \fBmknod\fP(1), \fBchmod\fP(2), \fBchown\fP(2), \fBfcntl\fP(2), \fBmkdir\fP(2), \fBmount\fP(2), \fBsocket\fP(2), \fBstat\fP(2), \fBumask\fP(2), \fBunlink\fP(2), \fBmakedev\fP(3), \fBmkfifo\fP(3), \fBacl\fP(5), \fBpath_resolution\fP(7) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .