Vraag Betekenis van mappen op Unix en Unix-achtige systemen


Ik gebruik Linux nu al een paar jaar, maar ik heb nog steeds niet door wat de oorsprong of betekenis van sommige directorynamen is op Unix en Unix-achtige systemen. Bijv. wat doet etc staan ​​voor of var? Waar doet het opt naam vandaan?

En terwijl we toch over het onderwerp praten. Kan iemand een duidelijke uitleg geven van welke map het best voor wat wordt gebruikt? Soms raak ik in de war wanneer bepaalde software is geïnstalleerd of waar de meest geschikte directory is om software te installeren.


92
2018-06-12 05:11


oorsprong


Grappig ding Unix is ​​een parodie op multics en het zijn om te overleven ... Ik denk dat multics zijn tijd ver vooruit was. - SparK


antwoorden:


Voor meer gegevens over de lay-out van Linux-bestandssystemen, bekijk de Filesystem Hierarchy Standard (nu bij versie 2.3, met de bèta 3.0 versie geïmplementeerd op de meest recente distributies). Het verklaart wel waar de namen vandaan kwamen:

  • / bin - bakRam.
  • /bagageruimte - Bestanden vereist voor bagageruimteing.
  • / dev - devijsbestanden.
  • /enz - EnzCtera. De naam is overgenomen van de vroegste Unixes, en toen werd dit de plek om configuratiebestanden te plaatsen.
  • /huis - Waar Huis mappen worden bewaard.
  • / lib - Waar code libraries worden bewaard.
  • /media - Een meer moderne directory, maar waar verwijderbaar media wordt gemount.
  • / mnt - Waar tijdelijke bestandssystemen zijn mounted.
  • / opt - Waar opterenAanvullende add-on software is geïnstalleerd. Dit is discreet van /usr/local/ om redenen die ik later zal bespreken.
  • /rennen - Waar rennentijd variabele gegevens worden bewaard.
  • / sbin - Waar super-bakRam zijn winkels. Deze werken meestal alleen met root.
  • / usr - Een andere map geërfd van de Unixen van vroeger, het staat voor "gebruiker". Deze map moet deelbaar zijn tussen hosts en kan NFS veilig worden gekoppeld aan meerdere hosts. Het kan alleen-lezen veilig worden gemonteerd. Ook als per Debian Wiki, / usr is UNIX System RIDDELEN.
  • / var - Een andere map geërfd van de Unixen van vroeger, het staat voor "variable ". Dit is waar de systeemgegevens die variëren kunnen worden opgeslagen, zoals spool- en cache-directory's die zich hier bevinden. Als een programma naar het lokale bestandssysteem moet schrijven en die gegevens niet rechtstreeks aan iemand dient, Ik ga hierheen.
  • / srv - Betekent "serve ". Deze map is bedoeld voor statische bestanden die worden geserveerd. /srv/http zou zijn voor statische websites, /srv/ftp voor een FTP-server.

/ opt vs / usr / local

De vuistregel die ik heb gezien, kan het beste worden beschreven als:

Gebruik /usr/local voor dingen die normaal zouden gaan /usr, of zijn dwingende dingen die al binnen zijn /usr. Gebruik /opt voor dingen die allemaal in één map installeren, of anderszins speciaal zijn.


111
2018-06-12 05:16



Het document beantwoordt de eerste helft van mijn vraag heel goed. Waar de namen van zijn afgeleid is echter nog steeds een raadsel. De reden die ik zou willen weten is omdat ik denk dat het me meer context zal geven. - Luke
De naamgeving is bijna vanzelfsprekend. Vooral als je de beschrijvingen in die link leest. - Dan Carley
Nee dat is het niet. Het legt uit waar 'etc' voor wordt gebruikt, maar legt niet uit waar de naam vandaan komt of waar het voor staat. - Luke
@ sysadmin1138, dus /run refereert in feite aan de RAM? - Pacerier
@Pacerier Het is een bestandssysteem, maar kan veilig worden geplaatst als een RAM-schijf. Dat gezegd hebbende, veel programma's nemen daar een vaste structuur aan, dus vereisen in feite persistentie. - sysadmin1138♦


historisch gezien, /etc staat voor "etcetera" en /var is een afkorting voor "variable." Ik veronderstel dat de eerste is omdat een grote verzameling van niet-gerelateerde systeemconfiguratiebestanden ingaat /etc. Dit laatste is omdat de bestanden in /var zal naar verwachting veranderen. Je kunt vaak mounten /usr en / als alleen-lezen (behalve bij het uitvoeren van updates), maar je kunt nooit koppelen /var alleen lezen. Het bevat systeemlogbestanden, vergrendelingsbestanden, spoolbestanden en andere dingen die dynamisch veranderen.

Anderen gaven je aanwijzingen om je te helpen achterhalen wat het beste is waar naartoe.


20
2018-06-12 05:29





Sorry om een ​​oude draad weer tot leven te wekken, maar ik ben van mening dat dit detail een belangrijke verduidelijking is voor alle toekomstige zoekers van deze info:

  • / opt staat voor optioneel (zoals in optionele add-on-pakketten).
  • / bin staat voor binary (bevat uitvoerbare bestanden die door het besturingssysteem worden gebruikt).
  • / lib staat voor library (bevat gedeelde bibliotheken die worden gebruikt door het bestandssysteem en voor het booten, waarschijnlijk gebruikt door de uitvoerbare bestanden in de prullenbak)
  • / proc staat voor processen.
  • /wortel betekent root-gebruiker.
  • /huis houdt de home-subdirectory's voor niet-rootgebruikers.
  • / dev staat voor apparaat (bevat speciale en apparaatbestanden).
  • / tmp staat voor tijdelijk.
  • / srv staat voor serveren.
  • / mnt staat voor mount point (hier een tijdelijk bestandssysteem aankoppelen).
  • / include bevat # include-bestanden, d.w.z. headerbestanden (bijv. stdio.h).
  • / var staat voor variabel
  • /enz staat voor etcetera

  • / usr staat voor Unix System Resources (Bron)


19
2018-06-05 17:13



Leuk antwoord: bondig, gericht op het niveau van de vraag, en geen behoefte om andere links op te zoeken. 1 - Scott Biggs
Ik heb srv niet eerder gezien. Ik geef de voorkeur aan conventie boven configuratie, als het maar zinvol is en wordt afgedwongen. Het is duidelijk dat Apache niet altijd bestanden uit de / srv-directory aanbiedt. - user148298


Probeer dit:

$ man hier

15
2018-06-23 18:18



Goed zo. Echter, net als het document waarnaar in andere antwoorden wordt verwezen, spreekt deze man-pagina alleen over waar de directory's voor worden gebruikt. Ik ben ook geïnteresseerd in waarom bepaalde namen zijn gekozen, zoals / etc, bijvoorbeeld - Luke
Het antwoord op uw vraag over / etc is hier: en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard - Anonymous


De beste plaats om naar te zoeken is de Filesystem Hierarchy Standard (FHS). De nieuwste versie is 2.3 beschikbaar op: http://www.pathname.com/fhs/pub/fhs-2.3.html.


5
2018-06-12 05:16





/usr eigenlijk betekent Unix-systeembronnen

bron:: https://wiki.debian.org/FilesystemHierarchyStandard


2
2018-05-17 17:58





Als je verschillende smaken van Unix-besturingssystemen waarneemt dan zul je wat verschil in directorynamen vinden, maar de meeste van de gemeenschappelijke zijn hieronder uitgelegd ...

/ bin staat voor binary (bevat binaire bestanden en bevat ook opdrachten die meestal door gebruikers worden gebruikt.Het is ook het standaardpad voor het uitvoeren van de opdracht).

/ sbin (dit bevat de speciale commando's die meestal worden afgevuurd door supergebruikers)

/ lib staat voor library (bevat gedeelde bibliotheken die door het bestandssysteem worden gebruikt en voor het booten, waarschijnlijk gebruikt door de uitvoerbare bestanden in de prullenbak) / proc staat voor processen (als je wilt verifiëren, controleer dan deze regisseur, het zal verschillende directories bevatten die in willekeurige getallen worden genoemd, die niets anders zijn dan procesnummers die je kunt controleren door ps - ef)

/ root betekent rootgebruiker. (standaarddirectory voor rootgebruiker) / home (alle niet-rootgebruikers hebben hun homedirectory onder deze map) / dev staat voor apparaat (bevat speciale en apparaatbestanden; als u in deze map kijkt via de opdracht ls - l, worden hoofd- en ondergeschikte nummers ook in deze map weergegeven, ook het apparaattype dat bij het begin van elke regel in ls - l wordt weergegeven. betekent speciaal apparaat blokkeren, c betekent speciaal tekenapparaat). / tmp staat voor tijdelijk. (tijdelijke bronnen die nodig zijn voor sommige processen die hier tijdelijk worden bewaard) / mnt staat voor mount point (hier een tijdelijk bestandssysteem aankoppelen). / var staat voor variabele (het bevat variabele gegevens, de directory die het bevat verandert elke keer in grootte) / opt staat voor optioneel (over het algemeen is software van derden in deze map geïnstalleerd). / usr staat voor Unix System Resources (alle benodigde systeembronnen worden hier geplaatst) / etc staat voor etcetera (het is ook belangrijk, de meeste configuratiebestanden, gebruikersbeheerbestanden, beveiligingsbestanden en andere zaken worden hier onder gehouden)


1
2017-11-21 06:57