GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:directory standard e/o comuni su OS Unix/linux?

Venendo dal mondo Windows, ho trovato la maggior parte della cartella nomi di directory per essere abbastanza intuitivi:

  • \Program Files contiene file utilizzati dai programmi (sorpresa!)

  • \Program Files (x86) contiene file utilizzati da programmi a 32 bit su sistemi operativi a 64 bit

  • \Users (precedentemente Documents and Settings ) contiene i file degli utenti, ovvero documenti e impostazioni

    • \Users\USER\Application Data contiene dati specifici dell'applicazione

    • \Users\USER\Documents contiene documenti appartenenti all'utente

  • \Windows contiene file che appartengono al funzionamento di Windows stesso

    • \Windows\Fonts memorizza i file dei caratteri (sorpresa!)

    • \Windows\Temp è una directory temporanea globale

eccetera. Anche se non avessi idea di cosa facessero queste cartelle, potrei indovinare con buona precisione dai loro nomi.

Ora sto dando una buona occhiata a Linux e sono piuttosto confuso su come orientarmi nel file system.

Ad esempio:

  • /bin contiene binari. Ma anche /sbin , /usr/bin , /usr/sbin , e probabilmente altro di cui non sono a conoscenza. Quale è quale?? Qual'è la differenza tra loro? Se voglio creare un binario e metterlo da qualche parte a livello di sistema, dove lo metto?

  • /media contiene file system multimediali esterni. Ma anche /mnt . E nessuno dei due contiene nulla sul mio sistema al momento; tutto sembra essere in /dev . Qual è la differenza? Dove sono le altre partizioni sul mio disco rigido, come C: e D: che era in Windows?

  • /home contiene i file utente e le impostazioni. Questo è intuitivo, ma poi, cosa dovrebbe andare in /usr ? E come mai /root è ancora separato, anche se è un utente con file e impostazioni?

  • /lib contiene librerie condivise, come le DLL. Ma anche /usr/lib . Qual è la differenza?

  • Che cosa è /etc ? Sta davvero per "et cetera" o qualcos'altro? Che tipo di file dovrebbero essere inseriti, globali o locali? È un concentrato di cose che nessuno sapeva dove mettere o c'è un caso d'uso particolare per questo?

  • Cosa sono /opt , /proc e /var ? Cosa rappresentano e a cosa servono? Non ho visto niente di simile in Windows* e non riesco proprio a capire a cosa potrebbero essere.

Se qualcuno può pensare ad altri posti standard che potrebbero essere utili da conoscere, sentiti libero di aggiungerlo alla domanda; si spera che questo possa essere un buon riferimento per persone come me, che stanno iniziando a familiarizzare con i sistemi *nix.

*OK, è una bugia. Ho visto cose simili in WinObj, ma ovviamente non su base regolare. Tuttavia, non so ancora cosa facciano su Linux.

Risposta accettata:

Le distribuzioni Linux utilizzano FHS:http://www.pathname.com/fhs/pub/fhs-2.3.html

Puoi anche provare man hier .

Cercherò di riassumere le risposte alle tue domande dalla parte superiore della mia testa, ma ti consiglio vivamente di leggere l'FHS:

  • /bin è per binari di sistema non superutente
  • /sbin è per i binari di sistema del superutente (root)
  • /usr/bin e /usr/sbin sono rispettivamente per i binari condivisi non critici per utenti o superutenti
  • /mnt serve per montare temporaneamente una partizione
  • /media serve per montare più supporti rimovibili contemporaneamente
  • /dev contiene i file del dispositivo di sistema; è una lunga storia 🙂
  • La cartella /usr e le sue sottocartelle possono essere condivise con altri sistemi, in modo che abbiano accesso agli stessi programmi/file installati in un'unica posizione. Poiché /usr si trova in genere su un filesystem separato, non contiene i file binari necessari per portare il sistema online.
  • /root è separato perché potrebbe essere necessario portare il sistema online senza montare altre directory che potrebbero trovarsi su partizioni/dischi rigidi/server separati
  • Sì, /etc sta per “ecc.”. I file di configurazione per il sistema locale sono archiviati lì.
  • /opt è un luogo dove puoi installare i programmi che scarichi/compili. In questo modo puoi tenerli separati dal resto del sistema, con tutti i file in un unico posto.
  • /proc contiene informazioni sul kernel e sui processi in esecuzione
  • /var contiene file di dimensioni variabili come log, posta, pagine Web, ecc.
Correlati:perché utilizziamo "./" (barra punto) per eseguire un file in Linux/UNIX?

Per accedere a un sistema, generalmente non hai bisogno di /var, /opt, /usr, /home; alcune delle directory potenzialmente più grandi su un sistema.

Uno dei miei preferiti, che alcune persone non usano, è /srv. È per i dati ospitati tramite servizi come http/ftp/samba. Ho visto /var usato molto per questo, che non è proprio il suo scopo.


Linux
  1. Un modo semplice per nascondere file e directory in Linux

  2. Trova file e directory in Linux come un professionista

  3. Come archiviare file e directory in Linux [Parte 2]

  4. Come archiviare file e directory in Linux [Parte 1]

  5. Trova i file e le directory più grandi in Linux

Come spostare file e directory in Linux (comando mv)

Come installare Rclone in Linux e Unix

Come eseguire il backup di file e directory utilizzando Rsync in Linux

3 modi per trovare file e directory in Linux

Trova facilmente file e directory su Linux

comando ls in Linux/UNIX