Semnificația directoarelor în sistemele Unix și în sistemele similare Unix (Administrarea sistemului, Linux, Unix, Director)

Luke a intrebat.
a intrebat.

Folosesc Linux de câțiva ani, dar încă nu mi-am dat seama care este originea sau semnificația unora dintre numele directoarelor de pe sistemele Unix și de pe cele similare. De exemplu, ce înseamnă etc înseamnă sau var? De unde provine opt numele provine?

Și dacă tot suntem la subiect oricum. Poate cineva să dea o explicație clară despre ce director este cel mai bine folosit pentru ce. Uneori sunt confuz unde sunt instalate anumite programe sau care este cel mai potrivit director în care să instalez un program.

Comentarii

  • Ciudat lucru unix fiind o parodie de multics și fiind cel care a supraviețuit… Cred că multics a fost mult înaintea timpului său. –  > Por SparK.
7 răspunsuri
sysadmin1138

Pentru mai multe date despre dispunerea sistemelor de fișiere Linux, consultați pagina web Standardul de ierarhie a sistemelor de fișiere (acum la versiunea 2.3, cu beta 3.0 versiune beta 3.0 este implementată pe cele mai recente distribuții). Acesta explică o parte din proveniența numelor:

  • /binBinaries.
  • /boot – Fișiere necesare pentru bootde pornire.
  • /devDevfișiere ice.
  • /etcEt cetera. Numele este moștenit de la primele Unix-uri, când a devenit locul unde se puneau fișierele de configurare.
  • /home – Unde home sunt păstrate directoarele.
  • /lib – Unde se află codul libraries sunt păstrate.
  • /media – Un director mai modern, dar în care sunt stocate și fișierele amovibile. media amovibile este montat.
  • /mnt – Unde se află sistemele de fișiere temporare mounted.
  • /opt – Unde optse instalează software-ul adițional opțional. Acesta este discret față de /usr/local/ din motive pe care le voi aborda mai târziu.
  • /run – Unde runsunt păstrate datele variabilelor de timp de execuție.
  • /sbin – Unde super-binarii sunt stocate. Acestea funcționează de obicei doar cu root.
  • /srv – Înseamnă „serve”. Acest director este destinat fișierelor statice care sunt servite. /srv/http ar fi pentru site-uri web statice, /srv/ftp pentru un server FTP.
  • /tmp – Unde temppot fi stocate fișiere orare.
  • /usr – Un alt director moștenit de la Unix-urile de odinioară, acesta reprezintă „UNIX System Resurse”. Aceasta face nu înseamnă „utilizator” (a se vedea Debian Wiki). Acest director ar trebui să fie partajabil între gazde și poate fi montat prin NFS pe mai multe gazde în siguranță. Poate fi montat doar pentru citire în siguranță.
  • /var – Un alt director moștenit de la Unix-urile de odinioară, reprezintă „variable”. Aici pot fi stocate datele de sistem care variază. Astfel de lucruri, cum ar fi directoarele spool și cache pot fi localizate aici. Dacă un program trebuie să scrie în sistemul de fișiere local și nu servește aceste date direct cuiva, se va duce aici.

/opt vs /usr/local

Regula generală pe care am văzut-o este cel mai bine descrisă astfel:

Utilizați /usr/local pentru lucruri care în mod normal ar trebui să fie puse în /usr, sau care înlocuiesc lucruri care se află deja în /usr. Utilizați /opt pentru lucrurile care se instalează toate într-un singur director sau care sunt speciale.

Comentarii

  • Documentul răspunde foarte bine la prima jumătate a întrebării mele. Cu toate acestea, de unde provin denumirile este încă un mister. Motivul pentru care aș vrea să știu este că eu cred că îmi va oferi mai mult context. –  > Por Luke.
  • Denumirea este aproape în întregime autoexplicativă. Mai ales dacă citești descrierile din acel link. –  > Por Dan Carley.
  • Nu, nu este așa. Se explică la ce se folosește „etc”, dar nu se explică de unde provine denumirea sau ce reprezintă. –  > Por Luke.
  • @sysadmin1138, deci /run se referă practic la memoria RAM? –  > Por Pacerier.
  • @Pacerier Este un sistem de fișiere, dar poate fi montat în siguranță ca un disc RAM. Acestea fiind spuse, multe programe presupun o structură prestabilită acolo, deci necesită de fapt persistență. –  > Por sysadmin1138.
Mike

Îmi pare rău să resuscitez un fir vechi, dar cred că acest detaliu este o clarificare importantă pentru toți viitorii căutători ai acestor informații:

  • /opt înseamnă opțional (ca în cazul pachetelor opționale de completare).
  • /bin înseamnă binar (conține executabilele utilizate de sistemul de operare).
  • /lib înseamnă bibliotecă (conține biblioteci partajate utilizate de sistemul de fișiere și pentru bootare, probabil utilizate de executabilele din bin).
  • /proc reprezintă procesele.
  • /root înseamnă utilizator root.
  • /home conține subdirectoarele home pentru orice utilizator non-root.
  • /dev înseamnă dispozitiv (conține fișiere speciale și de dispozitiv).
  • /tmp înseamnă temporar.
  • /srv înseamnă „serve”.
  • /mnt înseamnă punct de montare (montați aici un sistem de fișiere temporar).
  • /include conține fișiere #include, adică fișiere de antet (de exemplu, stdio.h).
  • /var reprezintă variabila
  • /etc reprezintă etcetera

  • /usr reprezintă Resursele sistemului Unix(Sursa)

Comentarii

  • Frumos răspuns: succint, adresat la nivelul întrebării și nu este nevoie să căutați alte linkuri. +1 –  > Por SMBiggs.
  • Nu am mai văzut srv până acum. Prefer convenția în locul configurației, atâta timp cât are sens și este aplicată. Evident, Apache nu servește întotdeauna fișiere din directorul /srv. –  > Por user148298.
Eddie

Din punct de vedere istoric, /etc înseamnă „etcetera” și /var este prescurtarea de la „variabilă”. Presupun că prima se datorează faptului că o colecție mare de fișiere de configurare a sistemului fără legătură între ele intră în /etc. Cea de-a doua se datorează faptului că fișierele din /var sunt de așteptat să se schimbe. Adesea, puteți monta /usr și / ca fiind numai pentru citire (cu excepția cazului în care efectuați actualizări), dar nu puteți monta niciodată /var doar în citire. Acesta conține fișiere jurnal de sistem, fișiere de blocare, fișiere spool și alte lucruri care se schimbă în mod dinamic.

Alte persoane v-au dat indicații pentru a vă ajuta să vă dați seama ce este mai bine să merge unde.

Anonimul

Încearcă asta:

$ man hier

Comentarii

  • Bună treabă. Cu toate acestea, la fel ca și documentul la care se face referire în alte răspunsuri, această pagină de manual vorbește doar despre ceea ce sunt folosite directoarele. De asemenea, mă interesează de ce au fost alese anumite nume, cum ar fi /etc de ex.  > Por Luke.
  • Răspunsul la întrebarea ta despre /etc este aici: ro.wikipedia.org/wiki/Filesystem_Hierarchy_Standard –  > Por Anonim.
  • Acesta este răspunsul. Mulțumesc –  > Por Fatih.
Joe

Cel mai bun loc pentru a căuta acest lucru este Filesystem Hierarchy Standard (FHS). Cea mai recentă versiune este 2.3, disponibilă la: http://www.pathname.com/fhs/pub/fhs-2.3.html.

prado

/usr înseamnă de fapt Resurse de sistem Unix

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

Anwar khan

Dacă observați mai multe tipuri de sisteme de operare unix, veți găsi unele diferențe în ceea ce privește numele directoarelor, dar cele mai multe dintre cele mai comune sunt explicate mai jos…

/bin înseamnă binary (conține fișiere binare și, de asemenea, conține comenzi utilizate în principal de utilizatori. Este, de asemenea, calea implicită pentru executarea comenzilor ).

/sbin ( conține comenzile speciale care sunt lansate în general de către super utilizator)

/lib înseamnă bibliotecă (conține biblioteci partajate utilizate de sistemul de fișiere și pentru pornire, probabil utilizate de executabilele din bin)/proc înseamnă procese (dacă doriți să verificați, verificați acest director, acesta va conține mai multe directoare denumite cu numere aleatorii, care nu sunt altceva decât numere de procese pe care le puteți verifica prin ps – ef).

/root înseamnă utilizator root (director implicit pentru utilizatorul root) /home (toți utilizatorii non-root au directorul de acasă în acest director) /dev reprezintă dispozitiv (conține fișiere speciale și fișiere de dispozitiv, dacă vă uitați în acest director prin comanda ls – l, numerele majore și minore sunt de asemenea afișate în acest director, de asemenea, tipul de dispozitiv este afișat la începutul fiecărei linii în rezultatul ls – l. B înseamnă dispozitiv special de blocuri, c înseamnă dispozitiv special de caractere)./tmp înseamnă temporar (resursele temporare necesare pentru un anumit proces sunt păstrate temporar aici)./mnt înseamnă punct de montare (se montează aici un sistem de fișiere temporar)./var înseamnă variabil (conține date variabile, dimensiunea directorului pe care îl conține se schimbă de fiecare dată)./opt înseamnă opțional (în general, în acest director sunt instalate programe de la terți). /usr înseamnă Resurse de sistem Unix.( toate resursele necesare sistemului sunt plasate aici) /etc înseamnă etcetera ( este, de asemenea, important, majoritatea fișierelor de configurare, a fișierelor de gestionare a utilizatorilor, a fișierelor de securitate și a altor lucruri sunt păstrate aici).