Imena datoteka

Riječ je o imenima datoteka, mapa, poveznica i ostalih elemenata datotečnog sustava, ali budući da se o svima njima može govoriti kao o datotekama tipa “datoteka”, “mapa”, “poveznica” itd., nazivat ćemo ih najčešće sve zajedno jednostavno datotekama.

Sjećam se kad je Microsoft u svoje Windowse uveo mogućnost stavljanja razmaka u imena datoteka. I odmah je požurio neke sistemske mape nazvati “Program Files”, “Application Data”, “Documents and Settings” itd. I Linux podržava razmake u imenima. Dobro je što je tako, jer bi inače bilo problema kod pristupa datotekama koje imaju razmake u imenima. No, na Linuxu nikad neka sistemska mapa neće imati razmak u imenu. Ondje to nije postalo moda. Linuksaši još uvijek imaju stari dobar običaj pisanja podvlaka umjesto razmaka. Na Windowsima su se korisnici navikli na razmake, a bilo bi dobro da se od njih odviknu. Evo zašto:

Razmaci u imenima datoteka i mapa zapravo su nesretno rješenje. Nekad davno, na Windows 3.1, to nije bilo moguće (a i duljina imena je bila ograničena na 8 znakova imena + točka + 3 znaka ekstenzije). A onda je došao Windows 95 i gle koja šminka! Sada se moglo nazvati datoteku: “Slika koju sam snimio dok sam šetao Maksimirom a bilo je lijepo vrijeme.jpg”.

I dok je produljenje imena na 255 znakova pravo olakšanje, to što se sada moglo stavljati razmake samo nam je omogućilo da budemo lijeni i umjesto da moramo upisati podvlaku (za što treba pritisnuti istovremeno dvije tipke koje su malo izvan ruke) možemo samo veselo lupati po najdostupnijoj i najvećoj tipki – razmaknici. Hmm, ako brzo i puno pišete, to je doista olakšanje, ali pisati romane u imenima datoteka ionako nije dobro, zato jer: Popis datoteka s predugim imenima nije pregledan, bilo da ga gledamo u file manageru (Explorer) ili u naredbenom retku pomoću naredbe dir. Također, duga imena mogu raditi probleme kod snimanja na CD/DVD.

(Osim toga to je samo prva pomoć u našoj nemoći da se snađemo u datotečnim sustavima hijerarhijske strukture u kojima se ime zloupotrebljava za sve one osobine datoteke ili mape koje nemamo gdje zapisati. Doduše, danas NTFS omogućuje pridruživanje datoteci još atributa kao što su: Comments, Titel, Author itd. ali i dalje nema alata kojima bi upotreba tih dodatnih atributa ušla u širu uporabu. Spomenimo k tome i nevjerojatnu činjenicu da u Windowsima ne možete pridijeliti te tzv. extended attributes mapi nego samo datoteci i to čak ne svim tipovima datoteka.)

I eto, za to malo lijenosti i slatkih grijeha zloporabe imena, imamo puno veći račun za platiti. Današnji operacijski sustavi saniraju te posljedice svaki na svoj način, no sve je to prilično očajnički. Na Windowsima se takva imena moraju katkad pisati u navodnicima, ali katkad oni pak smetaju. Ni na Linuxu nije puno bolje. Svatko tko je pisao neki skript zna koja je to muka. Zato, najbolje je potruditi se malo i ne pisati razmake u imenima datoteka i mapa.

No mojizeleniprogrami nije baš čitljivo. Ali riječi se daju odvojiti podvlakama ili velikim slovima, npr:
a) moji_zeleni_programi
b) moji_Zeleni_Programi
c) MojiZeleniProgrami
d) mojiZeleniProgrami

Najbolja rješenja su a i d. Zašto? Radi što spretnije uporabe istih datoteka poslije na Linuxu, ako se ukaže potreba. Naime, Linux je case sensitive.

Uz lošu naviku pisanja razmaka, mnogi se bezrazložno suzdržavaju od non-ASCII slova pa pišu i svoja vlastita imena i prezimena sa cszd umjesto čćšđž. To je sasvim različita stvar od razmaka. Kad vidite napisano Zoran Vucic ne možete znati preziva li se on Vucić ili Vučić. Pisanjem cszd gubi se informacija! Pisanjem podvlaka ne gubi se informacija. Zna se da je Zoran_Vučić “Zoran Vučić”. Tu nema mogućnosti zabune.

Davno su prošla vremena kad su “naša” slova predstavljala nepremostivu prepreku. Danas tu više nema problema. Datoteku možete čak nazvati i èéøÞǽлљΣæča i, ako je sve dobro podešeno, stvar će uglavnom dobro funkcionirati. Dobro, ne baš tako dobro kao čćžšđ, ali skoro savršeno i svakim danom, kako sve je više aplikacija unicode aware, sve bolje. Za razliku od razmaka, koji će uvijek raditi probleme. Zašto? Odgovor je čista logika: Zato jer bi jedan te isti znak – praznina – trebao poslužiti za dvije različite svrhe: da odvoji riječi u nazivu međusobno i da odvoji čitav naziv od drugih entiteta npr. od ostalih komandnolinijskih parametara.

To je bila nelogična odluka i posljedice su nesavladive, pravi domino efekt. Zapravo nerješivo. U pomoć su pozvani navodnici, ali time nije ništa riješeno. Zato jer opet dolazi do kolizije s njihovom uporabom na drugim razinama. Uporaba podvlake u imenima umjesto razmaka je rajsko, savršeno rješenje. – Zato jer nema kolizije s uporabom podvlake ni na kojoj razini – ona se ne koristi ni za što drugo! Ako bismo već htjeli koristiti razmake u imenima, onda bismo trebali stvoriti neki znak umjesto navodnika koji će imati JEDINSTVENU svrhu: da odvoji imena od drugih imena i ostalih stvari. Tek tada bismo napokon odahnuli.

Ljudi iz svijeta Linuxa to razumiju. Zato nikad, doslovce NIKAD nećete naići na program na Linuxu koji će za svoju instalaciju kreirati datoteku ili mapu s imenom s razmacima! Premda je to na Linuxu dakako moguće napraviti. Taj je problem nastao zato što su Microsoftovci silom htjeli osvojiti korisnike, bez obzira na posljedice.

Eto, pišući ovo sam i ovoga trenutka i sam shvatio. I ja se godinama mučim s razmacima. Neću više stavljati razmake u imena!

Evo i AutoHotkey skripta koji sam napisao da si u tome pomognem: underscore.zip

Zaključak: Ne pisati predugačka imena. Ne stavljati razmake. Ne ustručavati se rabiti hrvatske i općenito unicode znakove ondje gdje je to potrebno.

Leave a Reply