In che modo il file system / organizzazione Linux differisce da Windows?


9

Una delle cose che mi rallenta davvero nel prendere piede con Linux è l'enorme differenza tra il file system in Linux rispetto a Windows. Fino agli ultimi 3-4 anni ho usato solo i sistemi Windows ed è stato solo negli ultimi 2-3 mesi che ho davvero lavorato per abituarmi a Linux. Penso che una delle cose che mi disturba davvero a questo punto è che mi sentivo come se potessi trovare qualsiasi cosa volessi quando ho iniziato a scavare tra le varie cartelle di Windows. Mi ero abituato a che tipo di cose venivano collocate dove e quando. Non ce l'ho con Linux. Sto imparando alcune cose come la cartella / opt è dove la maggior parte dei programmi di terze parti viene installata ... ma la mia comprensione è limitata.


2
Potresti essere interessato a pathname.com/fhs/pub/fhs-2.3.html
ninjalj

Questo è perfetto!
Kenneth,

Risposte:


15

Dai un'occhiata al Filesystem Hierarchy Standard (FHS), che è uno standard di organizzazione della struttura delle directory . Sospetto fortemente che la maggior parte (tutti?) I sistemi basati su Linux lo seguano più o meno.


Vota per collegare la documentazione utile, questo è più utile di una risposta lunga. L'unico problema è che non tutti gli strumenti / comandi / programmi lo seguono = /
D4RIO

11

In alcune distribuzioni * nix (testate su OpenBSD e Ubuntu) può essere utile la pagina man per la gerarchia del file system.

$ man hier

Naturalmente, questo varierà a seconda della piattaforma e di quanto siano aggiornate le pagine del manuale. La pagina man (su Ubuntu) fa anche riferimento al Filesystem Hierarchy Standard che è stato indicato in precedenza.

Non ho trovato una voce manuale simile su Solaris.

In generale, diverse distribuzioni di Linux sono libere di mettere le cose dove vogliono, in modo che possano diventare rapidamente confuse. La maggior parte degli eseguibili installati dal sistema (come parte del sistema di base o tramite un gestore di pacchetti) finirà da qualche parte nel percorso predefinito (di solito in / usr / bin / usr / sbin / usr / local / bin / usr / local / sbin) anche se alcune distribuzioni usano / opt, / usr / share / bin, tra gli altri. È possibile disegnare un parallelo nella cartella "Programmi" di Windows. La cartella "Windows" potrebbe essere in qualche modo simile a / usr / lib / usr / include / usr / share e altri. La tua cartella "My Documents" è in qualche modo parallela alla tua directory home su linux (/ home / user) con la bella aggiunta che la maggior parte delle configurazioni specifiche dell'utente per programmi come firefox, thunderbird, ecc. Vivono qui rendendo il passaggio a un nuovo sistema abbastanza indolore.

Il problema con questi parallelismi è che non sono esattamente precisi. Windows e Linux sono diversi in questo senso.

Il modo migliore per continuare è quello di continuare a cercare il sistema, come probabilmente hai fatto quando hai iniziato a usare Windows, rompere le cose, sistemarle, porre domande lungo la strada.


5

In Windows quando si installa un programma, crea una cartella in Programmi che contiene tutto. Ha i binari, le librerie, i file di risorse, ecc. In Linux, i binari di solito entrano /usr/bin, le biblioteche entrano /usr/libe le risorse entrano /usr/share. In particolare con un file icona simile, quello andrebbe dentro /usr/share/icons. I caratteri sono disponibili in /usr/share/fonts. Vengono inserite le intestazioni di sviluppo /usr/includee infine i file di configurazione /etc.

Questo layout ha alcuni fantastici vantaggi. Inserendo le librerie in /usr/lib, è molto più facile condividere le librerie tra le applicazioni. In Windows, è tipico vedere ogni programma installare il proprio set di librerie in Programmi, e un'altra app può installare la stessa libreria esatta, quindi ora hai due copie esatte di un file .dll. Aggiunge anche un po 'di coerenza al layout del filesystem. In Windows, sai che il programma avrà una cartella in Programmi, ma non c'è alcuna garanzia su come è disposto all'interno di quella cartella. Forse gli eseguibili saranno in una bin/cartella, forse no. Forse avrà una conf/cartella, di nuovo forse no.


1
Dovresti considerare che ci sono diverse directory di binari a seconda del suo scopo. Hai /bin(scopi generali, file binari di sistema), /usr/bin(programmi utente, a volte collegati da /opt), /sbin(file binari superutente, strumenti di amministrazione, questa
directory

Un grosso svantaggio del layout in cui parti dell'applicazione vengono scritte ovunque è quando si hanno scritti file comuni e quindi si desidera disinstallare una delle applicazioni. Quindi ti imbatti nell'inferno DLL da cui Windows è riuscito a fuggire.
Καrτhικ,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.