Come capire il layout del file system di Ubuntu?

203

In Windows ci sono forse solo un paio di cartelle importanti (per importanza intendo importante nella mia immagine logica del file system di Windows) nell'unità di installazione (nel mio caso C:\ ). Vale a dire Program Files e Windows . Sto semplicemente lontano dalla cartella Windows e "aggiungi i file del programma di rimozione" è sufficiente per gestire la cartella program files di Windows. Ovviamente c'è una cartella chiamata Users dove gli utenti (che non sono amministratori) possono accedere solo alle loro cartelle.

Quindi ho una visione chiara a un certo livello nella mia mente del file system di Windows. In Ubuntu, quando raggiungo la posizione / , c'è un enorme elenco di cartelle, la maggior parte delle quali non ho idea di cosa contengano. La cartella /bin sembra essere l'equivalente della cartella Windows in windows. La cartella /usr sembra essere l'equivalente della cartella Users in Windows. Ma anche la cartella /home sembra che possa adattarsi alla bolletta.

Per favore comprendi che io capisco, che Ubuntu (Linux) ha un carattere diverso da quello di Windows, cioè non c'è bisogno di un equivalente esatto delle funzioni di Windows, in Ubuntu. Tutto quello che sto cercando è un'immagine un po 'più chiara del file system di Ubuntu.

Questa domanda fa parte di una domanda più ampia che sto dividendo per renderla più comprensibile. La domanda originale può essere trovata qui:
link

    
posta Shashank Sawant 17.05.2012 - 20:12

6 risposte

240

Puoi leggere su questo su per esempio wikipedia. Un estratto:

  

Filesystem Hierarchy Standard (FHS) definisce le directory principali e il loro contenuto nei sistemi operativi Linux. Per la maggior parte, è una formalizzazione e un'estensione della tradizionale gerarchia del filesystem BSD.

     

L'FHS è gestito da Linux Foundation, un'organizzazione non profit costituita da importanti fornitori di software e hardware, come HP, Red Hat, IBM e Dell.   La versione corrente è 3.0, rilasciata il 3 giugno 2015.

Una rappresentazione visiva con una breve descrizione:

Fondamentalmente, Linux ha diviso la struttura delle directory in base alla funzione di ciò che è necessario per rendere il sistema il più sicuro possibile con la quantità minima di autorizzazioni necessarie. Altrimenti qualcuno è costretto a fare molto lavoro evitabile.

Ricorda che Unix e Linux sono stati creati come sistemi multiutente e Windows è stato creato per un singolo utente. Tutto il resto può essere spiegato da quell'idea. Puoi spiegare ogni directory quando pensi che sia multiutente e sicurezza.

3 esempi:

  • Vedrai che i file e le directory che sono solo admin sono raccolti nella stessa directory: la s in /sbin e /usr/sbin e /usr/local/sbin sta per sistema. Un utente normale non può nemmeno avviare programmi che sono lì dentro. I file che un utente normale può avviare sono in / bin, / usr / bin, / usr / local / bin in base a dove risiede più logicamente. Ma se sono solo admin dovrebbero andare alla versione s di quella directory. C'è una famosa utility chiamata fuser . Puoi uccidere i processi con esso. Se un utente normale potesse usare questo / i sarebbe in grado di uccidere la sessione.

  • Lo stesso vale per /home : / home / user1 è la proprietà dell'utente1. / home / user2 è la proprietà dell'utente2. user2 non ha business fare roba nella casa dell'utente1 (e viceversa è anche vero: user1 non ha business fare roba in casa dell'utente2). Se tutti i file fossero in / home senza nome utente sotto di esso, dovresti dare le autorizzazioni a ogni file e valutare se qualcuno è autorizzato a scrivere / rimuovere quei file. Un incubo se hai decine di utenti.

  • Aggiunta riguardante le biblioteche.

    /lib/ , /usr/lib/ e /usr/local/lib/ sono le posizioni originali, da prima di multilib esistevano sistemi e esisteva per prevenire rotture. /usr/lib32 , /usr/lib/64 , /usr/local/lib32/ , /usr/local/lib64/ sono invenzioni multilib a 32- / 64 bit.

Non è un concetto statico in alcun modo. Altri sapori di Linux hanno apportato modifiche a questo layout. Per esempio; attualmente vedrai debian e Ubuntu cambiando molto nel lay-out dell'FHS da SSD è meglio con i file di sola lettura. C'è un movimento verso un nuovo lay-out in cui i file sono suddivisi in una "sola lettura" e una directory / gruppo "scrivibile" in modo che possiamo avere una partizione di root che può essere montata in sola lettura (partizione per uno ssd) e scrivibile (sata hdd). La nuova directory che viene utilizzata per questo (non nell'immagine) è /run/ .

    
risposta data Rinzwind 17.05.2012 - 20:18
95

Dai un comando a questo comando ...

man 7 hier

Spero che aiuti

    
risposta data Pritesh Wadhia 17.05.2012 - 21:58
37

Risposta tarda : ho creato una tabella di marcia da seguire per i principianti. Se stanno cercando un file ma non sanno dove guardare, possono usare la mappa per spostarsi approssimativamente. Puoi scaricare un PNG ad alta risoluzione qui . Puoi trovare il post correlato qui . Continuerò ad aggiornare sia il file che il post quando il tempo lo consente, incorporando commenti utili.

    
risposta data d4nyll 20.11.2014 - 19:18
36

Questo testo seguente mostra la struttura della directory.

[email protected]:/$ pwd
/
[email protected]:/$ tree -L 1
.
|-- bin
|-- boot
|-- cdrom
|-- dev
|-- etc
|-- home
|-- lib
|-- lost+found
|-- media
|-- mnt
|-- opt
|-- proc
|-- root
|-- run
|-- sbin
|-- selinux
|-- srv
|-- sys
|-- tmp
|-- usr
|-- var

I componenti principali qui sono:

  1. /boot : contiene il boot loader

  2. /home : contiene le home directory degli utenti.

  3. /bin : tutti i binari e i comandi eseguibili utilizzati da tutti gli utenti del sistema si trovano qui.

  4. /sbin : contiene i file binari eseguibili del sistema generalmente utilizzati dagli amministratori di sistema.

  5. /lib : contiene le librerie di sistema che supportano i binari in / bin e / sbin.

  6. /etc : contiene i file di configurazione per rete, avvio, ecc.

  7. /dev : contiene i file del dispositivo, ad esempio usb, dispositivo terminale o qualsiasi altro dispositivo collegato al sistema.

  8. /proc : contiene informazioni sul processo in esecuzione.

  9. /tmp : questa è la directory temporanea in cui molti processi creano i file temporanei richiesti. Questo viene eliminato ogni volta che si avvia la macchina.

Per maggiori dettagli, il link Thegeekstuff spiega perfettamente il generico sistema di file linux .

    
risposta data mtk 17.05.2012 - 20:38
19

\Users equivale a /home . Il nome di /usr è un artefatto storico.

L'equivalente combinato di \Windows e \Program Files è la combinazione di /bin , /boot , /etc , /lib , /sbin , /tmp , /usr e /var . Linux e Windows suddividono il software installato in modo diverso. Windows distingue tra il sistema operativo e i programmi associati. Linux non fa questa distinzione allo stesso modo; la maggior parte se non tutto il software passa attraverso Ubuntu (il distributore) ed è installato nella stessa gerarchia di directory, e poiché il software è tracciato dal gestore pacchetti, non è necessario memorizzare ciascun programma nella propria directory. Su Linux:

  • /etc è per i file di configurazione del sistema: i file di configurazione che riguardano tutti gli utenti, indipendentemente dal fatto che si applichino al sistema operativo nel suo insieme o ad un'applicazione specifica.
  • /usr è per codice di sistema e dati (programmi, librerie, documentazione, ecc.).
  • /var è per dati variabili o temporanei: file temporanei, log, database gestore pacchetti, spool stampante, file di salvataggio giochi, ecc. C'è anche /tmp per i file temporanei che possono essere cancellati attraverso i riavvii.
  • /bin , /lib e /sbin nella directory radice hanno controparti in /usr . I file che sono al di fuori di /usr sono quelli necessari all'inizio del processo di avvio. Questa è una reliquia dal momento in cui i dischi erano piccoli e /usr potrebbe essere su un filesystem condiviso tra più workstation sulla rete, non è davvero una distinzione utile sulla maggior parte dei sistemi.
  • /boot contiene alcuni file necessari solo per l'avvio del sistema operativo e non per le operazioni quotidiane.

Ci sono altre directory che non corrispondono a nulla di Windows:

  • /root è la directory home dell'utente root. L'utente root è un account amministratore non legato a un particolare utente; è l'utente a cui si passa quando si esegue sudo . Ubuntu non consente all'utente root di accedere per impostazione predefinita.
  • /media e /mnt sono punti di montaggio: sono dove puoi vedere i filesystem di altri sistemi operativi e unità remote. L'equivalente di Windows sono altre lettere di unità.
  • /proc e /sys mostrano le informazioni di sistema. Su Windows, è necessario navigare tra i menu o chiamare i comandi di sistema o installare programmi di terze parti per vedere queste informazioni.

Ubuntu, come altre distribuzioni Linux, generalmente segue lo Standard della gerarchia dei filesystem di Linux

.     
risposta data Gilles 17.05.2012 - 20:48
5

Ubuntu (come tutti i sistemi simili a UNIX) organizza i file in un albero gerarchico, in cui le relazioni vengono pensate in gruppi di figli e genitori. Le directory possono contenere altre directory oltre ai normali file, che sono le "foglie" dell'albero. Qualsiasi elemento dell'albero può essere un riferimento tramite un nome di percorso; un nome di percorso assoluto inizia con il carattere / (identificando la directory radice, che contiene tutte le altre directory e file), quindi viene elencata ogni directory figlia che deve essere attraversata per raggiungere l'elemento, ciascuna separata da un / segno.

Un nome di percorso relativo è uno che non inizia con /; in tal caso, l'albero delle directory viene attraversato a partire da un punto dato, che cambia in base al contesto, chiamato directory corrente. In ogni directory, ci sono due directory speciali chiamate. e .., che si riferiscono rispettivamente alla directory stessa e alla sua directory principale.

Il fatto che tutti i file e le directory abbiano una radice comune significa che, anche se sul sistema sono presenti diversi dispositivi di archiviazione, essi sono tutti visti come directory da qualche parte nell'albero, una volta montati nella posizione desiderata

Trova esempi e ulteriori informazioni qui :

    
risposta data stephenmyall 17.05.2012 - 20:18

Leggi altre domande sui tag