A platí to i naopak, chyba by se týkala i toho kdo na Linuxu používá case-insensitive FS (ale pokud se někdo takový někdy objeví, tak dobře mu tak).
Co se týče defaultního formátování HFS, tak důvodem jsou komerční aplikace které se z case-sensitive FS naprosto zblázní. Prý jsou to především produkty z nepálené cihly... (ano pozor, rádi se soudí).
pamatuji si na zajimavy problem kdy se mi podarilo vytvorit soubor s mezerou na konci(nelze normalne ve windows). Soubor jsem videl, mezera v nazvu sla oznacit, ale neslo prejmenovat ani spustit(windows nedokazalo najit soubor). Podarilo se mi nakonec to udolat pres CMD tusim.
Pánové, čekal bych od vás trochu hlubší znalosti (přestože jde o Windows). Předpokládám že vám na Linuxu také neunikla existence adresářů /dev a /proc, libc a syscallů, minor a major number, ioctl atd.
Windows NT mají více subsystémů, včetně Win32 a POSIXu (a historicky OS/2). Kernel jako takový má vlastní sadu API, která autory aplikací běžně nemusí zajímat (například používá counted strings místo null terminated strings). Dalo by se to (nepřesně) srovnat s libc a syscally. NTFS jako takové je case sensitive, protože musí fungovat i s POSIX subsystémem.
http://en.wikipedia.org/wiki/Architecture_of_Windows_NT#User_mode
NT jsou také silně objektové. Mají Object Manager, který se zabývá správou zdrojů. Najdete v něm všechna zařízení, procesy, thready, file systémy, joby (sady procesů s nastaveným omezením zdrojů), timery, desktopy, window stations, clipboardy atd.. Všechny objekty mají samozřejmě ACL. Všechny změny nad objekty jsou přes Object Manager (BTW srovnejte s implementací na Linuxu). Můžete tam najít třeba objekt typu SymbolicLink jménem C:, směřující na příslušné zařízení (u mě \HarddiskVolume4), objekty fyzických zařízení atd.
http://en.wikipedia.org/wiki/Object_Manager_(Windows)
Dalším konceptem jsou namespaces. Win32 běžně funguje s Win32 namespacem, název souboru je řekněme "C:\tests\test1.txt". Pokud použijete prefix \\?\, Win32 nebude název souboru nijak upravovat, a předá ho na nižší úroveň. Takže pokud máte soubor "C:\tests\test3.", můžete ho smazat tak že smáznete "\\?\C:\tests\test3.". Podobně se tak dají smazat příliš dlouhé názvy apod.
Vyplatí se také znát Win32 device namespace. Má prefix \\.\, a můžete s ním adresovat zařízení. Například \\.\PhysicalDrive0, \\.\CdRom0, \\.\DISPLAY1 atd. Tenhle namespace podporují jen některá API.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
- Pokud vytvoříte soubor s názvem který je ve Win32 nelegální (obsahuje null, končí tečkou, je delší než lpMaximumComponentLength znaků atd.), tak ten soubor z Win32 buď neuvidíte nebo neotevřete.
- Pokud máte v adresáři více souborů s názvem lišících se jen ve velikosti písmen, tak z Win32 uvidíte/otevřete by default jen jeden z nich.
- Ve Win32 můžete vynutit POSIXovou sémantiků názvů souborů. Funkce CreateFile(), tj. vytvoření handlu na soubor, podporuje flag FILE_FLAG_POSIX_SEMANTICS. Funkce FindFirstFileEx() zase podporuje FIND_FIRST_EX_CASE_SENSITIVE.
Jop, widle sou tak uzasne objektovy, ze kdyz si mountnu (na widlidch) adresar, kterej ma 100 znaku, a vepisu do nej (na widlich) dalsi 200 znakovou cestu (coz widlim nijak nevadi) tak je materskej system v <>, protoze maximalni delka cesty je 250, ale tohle je 300 ... a neda se stim udelat NIC. Neda se tomu nijak zabranit.
A jo, omezeni cesty na 250 znaku v roce 2015 je taky uzasna ficura ... lol.
To je samozřejmě nesmysl. Windows mají spoustu API, které berou cestu délky 32767 znaků. Těch 256 znaků je před expanzí, tj. před nahrazením tečky za aktuální adresář, nahrazením environment variable placeholders za hodnoty atd. Když je délka cesty k souboru delší než 260 znaků, samozřejmě se to dá triviálně řešit. Například soubor smazat z command line, nebo použít prefix \\?\ a poté absolutní cestu.
Ani mě moc nepřekvapuje, že opět nevíte a neznáte. To opravdu znáte Windows jen na úrovni klikání na ikony?
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath
To samozřejmě můžu a vím o tom. Chtěl jsem tím demonstrovat, že v Linuxu ani Windows není všechno zjevné, a admin by měl vědět víc než jen to co je zjevné.
Ad už umíte ve Windows dát do jména souboru „%PATH%"? - samozřejmě. Zkuste si založit soubor %PATH%.txt ve Windows Exploreru.