Pocházím ze světa Windows a našel jsem většinu složky názvy adresářů, aby byly docela intuitivní:
-
\Program Files
obsahuje soubory používané programy (překvapení!) -
\Program Files (x86)
obsahuje soubory používané 32bitovými programy na 64bitových OS -
\Users
(dříveDocuments and Settings
) obsahuje soubory uživatelů, tedy dokumenty a nastavení-
\Users\USER\Application Data
obsahuje data specifická pro aplikaci -
\Users\USER\Documents
obsahuje dokumenty patřící uživateli
-
-
\Windows
obsahuje soubory, které patří k samotnému provozu Windows-
\Windows\Fonts
ukládá soubory písem (překvapení!) -
\Windows\Temp
je globální dočasný adresář
-
a tak dále. I kdybych neměl ponětí, co tyto složky dělaly, mohl jsem s dobrou přesností odhadnout jejich názvy.
Teď se dobře dívám na Linux a jsem docela zmatený, jak se zorientovat v systému souborů.
Například:
-
/bin
obsahuje binární soubory. Ale stejně tak/sbin
,/usr/bin
,/usr/sbin
a pravděpodobně i další, o kterých nevím. Který je který?? jaký je mezi nimi rozdíl? Pokud chci vytvořit binární soubor a vložit ho někam do celého systému, kam ho vložím? -
/media
obsahuje externí systémy souborů médií. Ale stejně tak/mnt
. A žádný z nich momentálně v mém systému nic neobsahuje; vše se zdá být v/dev
. Jaký je v tom rozdíl? Kde jsou další oddíly na mém pevném disku, napříkladC:
aD:
které byly ve Windows? -
/home
obsahuje uživatelské soubory a nastavení. To je intuitivní, ale to, co má jít do/usr
? A jak to, že/root
je stále samostatný, i když jde o uživatele se soubory a nastavením? -
/lib
obsahuje sdílené knihovny, jako jsou knihovny DLL. Ale stejně tak/usr/lib
. Jaký je rozdíl? -
Co je
/etc
? Opravdu to znamená „et cetera“ nebo něco jiného? Jaké druhy souborů by tam měly být vloženy – globální nebo místní? Je to univerzální nástroj pro věci, o kterých nikdo nevěděl, kam je zařadit, nebo pro to existuje konkrétní případ použití? -
Co jsou
/opt
,/proc
a/var
? Co znamenají a k čemu slouží? Ve Windows* jsem nic podobného neviděl a nemůžu přijít na to, k čemu by mohly být.
Pokud někoho napadají další standardní místa, o kterých by bylo dobré vědět, klidně to přidejte k otázce; doufejme, že to může být dobrá reference pro lidi jako já, kteří se začínají seznamovat se systémy *nix.
*Dobře, to je lež. Viděl jsem podobné věci ve WinObj, ale samozřejmě ne pravidelně. Stále však nevím, co dělají na Linuxu.
Přijatá odpověď:
Distribuce Linuxu používají FHS:http://www.pathname.com/fhs/pub/fhs-2.3.html
Můžete také zkusit man hier
.
Pokusím se shrnout odpovědi na vaše otázky z hlavy, ale důrazně doporučuji, abyste si přečetli FHS:
- /bin je pro binární soubory systému bez superuživatele
- /sbin je pro binární soubory superuživatelského (kořenového) systému
- /usr/bin a /usr/sbin jsou pro nekritické sdílené binární soubory bez superuživatele nebo superuživatele
- /mnt slouží k dočasnému připojení oddílu
- /media slouží k připojení mnoha vyměnitelných médií najednou
- /dev obsahuje soubory vašeho systémového zařízení; to je dlouhý příběh 🙂
- Složku /usr a její podsložky lze sdílet s jinými systémy, takže budou mít přístup ke stejným programům/souborům nainstalovaným na jednom místě. Vzhledem k tomu, že /usr je obvykle na samostatném souborovém systému, neobsahuje binární soubory, které jsou nezbytné k uvedení systému do režimu online.
- /root je samostatný, protože může být nutné uvést systém online bez připojování dalších adresářů, které mohou být na samostatných oddílech/pevných discích/serverech
- Ano, /etc znamená „et cetera“. Jsou zde uloženy konfigurační soubory pro místní systém.
- /opt je místo, kam můžete nainstalovat programy, které si stáhnete/zkompilujete. Tímto způsobem je můžete uchovávat odděleně od zbytku systému a se všemi soubory na jednom místě.
- /proc obsahuje informace o jádře a běžících procesech
- /var obsahuje soubory s proměnnou velikostí, jako jsou protokoly, pošta, webové stránky atd.
Pro přístup k systému obecně nepotřebujete /var, /opt, /usr, /home; některé z potenciálně největších adresářů v systému.
Jeden z mých oblíbených, který někteří lidé nepoužívají, je /srv. Je to pro data, která jsou hostována prostřednictvím služeb jako http/ftp/samba. Často se k tomu používá /var, což ve skutečnosti není jeho účelem.