| unlink(2) | System Calls Manual | unlink(2) |
unlink, unlinkat - șterge un nume și, eventual, fișierul la care se referă
Biblioteca C standard (libc, -lc)
#include <unistd.h>
int unlink(const char *nume-rută);
#include <fcntl.h> /* Definirea constantelor AT_* */ #include <unistd.h>
int unlinkat(int fd-director, const char *nume-rută, int fanioane);
unlinkat():
Începând cu glibc 2.10
_POSIX_C_SOURCE >= 200809L
Înainte de glibc 2.10:
_ATFILE_SOURCE
unlink() șterge un nume din sistemul de fișiere. Dacă numele respectiv a fost ultima legătură la un fișier și niciun proces nu are fișierul deschis, fișierul este șters, iar spațiul pe care îl folosea este disponibil pentru reutilizare.
Dacă numele a fost ultima legătură la un fișier, dar orice proces are încă fișierul deschis, fișierul va rămâne în existență până când ultimul descriptor de fișier care se referă la acesta este închis.
În cazul în care numele se referea la o legătură simbolică, aceasta este eliminată.
Dacă numele se referea la un soclu, FIFO sau dispozitiv, numele acestuia este eliminat, dar procesele care au obiectul deschis pot continua să îl utilizeze.
Apelul de sistem unlinkat() funcționează exact în același mod ca unlink() sau rmdir(2) (în funcție de faptul dacă fanioane include sau nu fanionul AT_REMOVEDIR), cu excepția diferențelor descrise aici.
Dacă numele de rută dat în nume-rută este relativ, atunci acesta este interpretat în raport cu directorul la care se referă descriptorul de fișier fd-director ( și nu în raport cu directorul curent de lucru al procesului apelant, așa cum se procedează în unlink() și rmdir(2) pentru un nume de rută relativ).
Dacă numele de rută dat în nume-rută este relativ și fd-director este valoarea specială AT_FDCWD, atunci nume-rută este interpretat relativ la directorul curent de lucru al procesului apelant (ca unlink() și rmdir(2)).
Dacă numele de rută dat în nume-rută este absolut, atunci fd-director este ignorat.
fanioane este o mască de biți care poate fi specificată fie ca 0, fie prin asocierea conform logicii SAU a valorilor fanioanelor care controlează funcționarea unlinkat(). În prezent, este definit un singur astfel de fanion:
A se vedea openat(2) pentru o explicație a necesității unlinkat().
În caz de succes, se returnează zero. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.
Aceleași erori care apar pentru unlink() și rmdir(2) pot apărea și pentru unlinkat(). Următoarele erori suplimentare pot apărea pentru unlinkat():
POSIX.1-2008.
Pe nucleele mai vechi în care unlinkat() nu este disponibil, funcția de învăluire glibc revine la utilizarea unlink() sau rmdir(2). Atunci când nume-rută este un nume de rută relativ, glibc construiește un nume de rută bazat pe legătura simbolică din /proc/self/fd care corespunde argumentului fd-director.
Neajunsurile din protocolul care stă la baza NFS pot provoca dispariția neașteptată a fișierelor care sunt încă utilizate.
rm(1), unlink(1), chmod(2), link(2), mknod(2), open(2), rename(2), rmdir(2), mkfifo(3), remove(3), path_resolution(7), symlink(7)
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
| 13 iunie 2024 | Pagini de manual de Linux 6.9.1 |