See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
mknod - Wikipedia

mknod

Da Wikipedia, l'enciclopedia libera.

mknod è un comando dei sistemi operativi Unix e Unix-like, e più in generale dei sistemi POSIX, che crea file speciali, ovvero dispositivi a blocchi, dispositivi a caratteri e named pipe.

mknod è anche il nome di una chiamata di sistema che appunto permette di creare i file speciali sopra menzionati. Di fatto il comando mknod opera invocando l'omonima chiamata di sistema.

Tutti gli utenti possono creare delle named pipe, mentre per motivi di sicurezza solo il superuser (root) può creare dispositivi a blocchi e dispositivi a carattere.

Indice

[modifica] Il comando mknod

La sintassi generale di mknod è la seguente:

 mknod file tipo major_number minor_number

Dove il parametro file indica il nome del file da creare, mentre il parametro tipo indica il tipo di file speciale da creare:

  • b – Crea un dispositivo a blocchi.
  • c – Crea un dispositivo a caratteri.
  • p – Crea una named pipe.

In caso di dispositivi a blocchi e dispositivi a caratteri occorre specificare anche i valori numerici di major_number e minor_number che identificano il dispositivo all'interno del kernel. Tali valori sono altamente specifici per sistema operativo.

In caso di una named pipe essi non vanno specificati.

[modifica] Esempi

Crea un dispositivo a blocchi chiamato /tmp/prova:

# mknod /tmp/prova b 2 0


Crea un dispositivo a caratteri chiamato /tmp/prova:

# mknod /tmp/prova c 2 0


Crea una named pipe chiamata /tmp/prova

$ mknod /tmp/prova p

[modifica] La chiamata di sistema mknod

La chiamata di sistema mknod è dichiarata nello header file sys/stat.h:

#include <sys/stat.h>
int mknod(const char *path, mode_t mode, dev_t dev);

Il tipo mode_t è un tipo opaco (solitamente un tipo numerico intero) che rappresenta dei permessi d'accesso, e che in questo caso indica anche il tipo di file speciale da creare (dispositivo a blocchi, dispositivo a caratteri o named pipe).

Il tipo dev_t è un tipo opaco (solitamente un tipo numerico intero) che identifica un dispositivo nel kernel.

Il parametro path indica il nome del file speciale da creare.

Il parametro mode indica sia i permessi che il tipo di file da creare.

Il parametro dev deve essere 0 in caso di named pipe, oppure deve indicare il major number ed il minor number del dispositivo a blocchi o a carattere specifico.

[modifica] Valore di ritorno

Il valore di ritorno è 0 se non vi sono stati errori. Altrimenti è -1, e la variabile errno indica lo specifico errore.

[modifica] Voci correlate

[modifica] Collegamenti esterni

[modifica] Comando mknod

[modifica] Chiamata di sistema mknod

  • (EN) mknod in The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. URL consultato il 30-05-2008.
Altre lingue


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -