Dosiernomo

**Dosiernomo** estas nomo, per kiu oni trovas, legas, skribas, ruligas ktp la dosieron. La nomo devas esti unika inter dosieroj, kiuj estas en la sama dosierujo. Kutime oni ankaŭ distingas finaĵon de dosiernomo, kiu havas specialan signifon.

Dosierujo ankaŭ havas nomon, kaj ĉiu reguloj pri ĝi estas la samaj kiel pri nomo de dosiero. Ankaŭ, en dosierujo ne povas ekzisti dosiero kaj dosierujo kun la samaj nomoj.

Krom ordinara nomo de dosiero ankaŭ estadas *plena nomo de dosiero* kaj *relativa nomo de dosiero*.

* **Plena nomo de dosiero** estas tiu, kiu ebligas trovi la dosieron ekante da la radika dosierujo. Plena nomo de dosiero konsistas el nomoj ĉiuj dosierujoj, kiuj estas unu en la alia ĝis tiu en kiu la dosiero estas senpere, kaj nomo de la dosiero. Ili estas distingitaj per signo "/" aŭ "\", la uzata signo dependas de la operaciumo. Ekzemploj:
:`/usr/lib/libc.a` - en operaciumoj similaj el Unikso
:`d:\system\rdss.exe` - en operaciumoj similaj el Vindozo
:`eo.wikipedia.org/w/index.php` - en komputila reto per protokolo HTTP aŭ FTP

* **Relativa nomo de dosiero** estas tiu, kiu ebligas trovi la dosieron ekante da la nuna dosierujo. Dum konstruado de ĉi tiu nomo necesas unue iri direkten al la radika dosierujo kaj ĝisiri dosierujon, kiu estas komuna por la nuna dosierujo kaj la cela dosiero, skribante du punktojn "../" aŭ "..\" en ĉiu ŝtupo. Poste necesas iri profunden al la cela dosiero, skribante nomojn de la dosierujoj, ĉiu kun signo "/" aŭ "\". Kaj fine necesas skribi nomon de la dosiero. Ekzemplo:
:La nuna dosierujo estas "/usr/X11R6/bin" kaj necesas skribi la relativan nomon por "/usr/include/sys/stat.h". La komuna dosierujo estas "/usr". Por iri el "/usr/X11R6/bin" ĝis "/usr" necesas dufoje skribi "../". Poste necesas iri ekde "/usr" ĝis "/usr/include/sys/stat.h", skribante "include/", "sys/" kaj "stat.h". Do la rezulto estas "../../include/sys/stat.h".

Depende de la operaciumo, estas signoj kiuj estas malpermesataj en nomo de dosiero. Kutime malpermesataj estas signo '\0', kiu signifas finon de nomo, kaj signo '\' aŭ '/', kiu estas distingilo por partoj de plenaj kaj relativaj nomoj. Povas esti ankaŭ aliaj malpermesataj signoj. Malnovaj operaciumoj kutime malpermesis spaceton en la nomo.

Ankaŭ kutime estas limigo por longo de nomo de dosiero.
:MS-DOS havas la limigon je 8 signoj por nomo krom la finaĵo kaj 3 signoj por la finaĵo (ne kalkulante punkton inter ili). Do nomo "abcdefgh.ijk" estas la plej longa por MS-DOS.
:Malnovaj variantoj de Unikso havas la limigon je 31 signoj.
:Novaj operaciumoj havas la limigon kutime je 255 signoj.
Ankaŭ povas esti limigo por longo de plena kaj relativa nomo. Dosiero kun pli granda plena nomo povas ekzisti, sed ĝin ne eblas uzi.

Por kodigi signojn de dosiernomoj unue estis uzataj 1-bajtaj kodigoj. En tiuj tempoj oni fakte uzis nur la unuajn 128 signojn (Askio) kaj problemoj ne estis. Sed poste homoj de diversaj landoj ekvolis nomi dosierojn en siaj naciaj lingvoj, sed daŭrigis uzi 1-bajtan kodigon. La kodigoj estis diversaj por diversaj lingvoj, kaj transportita en diskedo dosiero povis havi teruran nelegeblan nomon en la alia komputilo.

Poste dosiersistemoj komencis uzi Unikodon por la nomoj - UTF-8 en Linukso kaj UTF-16 en Vindozo. Sed aplikaj programoj ĝis nun (2007) ofte uzas 1-bajtan kodigon de dosiernomoj en siaj enaj datumoj. Tio signifas, ke unikoda nomo estas konvertita en 1-bajtan kodigon kaj reen dum ĉiu uzado de dosiero. Se la dosiero estas nomita kun uzado de signoj, forestantaj en la defaŭlta 1-bajta kodigo de la komputilo, la dosiernomo rompiĝas. Do per ĉi tia programo la dosieron povas ne ebli malfermi por rigardo aŭ redaktado aŭ neebli kopii, aŭ dosiernomo fine rompiĝas kiam la dosiero estas denove konservata.

Kategorio:Dosieroj
Kategorio:Nomoj