Unix ve Unix benzeri sistemlerdeki dizinlerin anlamı


112

Birkaç yıldan beri Linux kullanıyorum ama yine de bazı dizin adlarının Unix ve Unix benzeri sistemler üzerindeki kökeninin veya anlamının ne olduğunu henüz anlamadım. Örneğin ne yok etcya stand var? Nerede gelmez optismi nereden geliyor?

Ve biz yine de konudayken. Birisi hangi dizinin hangi amaçla kullanılacağına dair net bir açıklama yapabilir. Bazen belirli yazılımların yüklü olduğu ya da yazılımı kurmak için en uygun dizinin ne olduğu konusunda kafam karışıyor.


Komik bir şey unix multics bir parodi olmak ve hayatta kalmak için bir varlık olmak ... Sanırım multics, tam zamanı gelmişti.
SparK

Yanıtlar:


134

Linux dosya sistemlerinin düzeni hakkında daha fazla veri için, Dosya Sistemi Hiyerarşisi Standardı'na bakın (şimdi sürüm 2.3'te, en yeni dağıtımlara dağıtılan beta 3.0 sürümü). İsimlerin nereden geldiğini açıklıyor:

  • / bin - Çöp kovanları.
  • / boot - Önyükleme içingerekli dosyalar.
  • / dev - Dev buz dosyaları.
  • / etc - Et c etera . Bu isim, en eski Unix'lerden, yani config-file'ların yerleştirildiği yer haline geldi.
  • / home - Ev dizinlerinin tutulduğu yer.
  • / lib - Kod kütüphanelerinin kiralandığı yerde.
  • / media - Daha modern bir dizin, ancak çıkarılabilir medyanın takıldığı yer.
  • / mnt - Geçici dosya sistemlerdir m ou nt ed.
  • / opt - Nerede opt uğratarak eklenti yazılım yüklü. Bu/usr/local/daha sonra alacağım nedenlerden dolayıayrık.
  • / run - Çalışma zamanı değişken verilerinin tutulduğu yer.
  • / sbin - Nerede s uper- bin koç saklanır. Bunlar genellikle sadece kök ile çalışır.
  • / srv - " s e rv e" anlamına gelir. Bu dizin sunulan statik dosyalar içindir. Bir FTP sunucusu/srv/httpiçin statik web siteleri için olurdu/srv/ftp.
  • / tmp - Burada T E en orary dosyaları depolanabilir.
  • / usr - eski Unix miras başka dizin, bu "anlamına u NIX S istem R esources". "Kullanıcı"anlamına gelmez (bkz. Debian Wiki ). Bu dizin ana bilgisayarlar arasında paylaşılabilir olmalıdır ve NFS, birden çok ana bilgisayara güvenli bir şekilde monte edilebilir. Salt okunur şekilde güvenle monte edilebilir.
  • / var - Eski Unix'lerden miras alınan başka bir dizin " var iable"anlamına gelir. Değişen sistem verilerinin depolandığı yerdir. Biriktirme ve önbellek dizinleri gibi şeyler burada bulunabilir. Bir programın yerel dosya sistemine yazması gerekiyorsa ve bu verileri doğrudan birisine sunmuyorsa, buraya gelir.

/ opt vs / usr / yerel

Gördüğüm başparmak kuralı en iyisi:

/usr/localNormalde girebilecek /usrveya zaten olan şeyleri geçersiz kılacak şeyler için kullanın /usr. /optTümünü bir dizine yükleyen veya başka şekilde özel olan şeyleri kullanın .


2
Belge sorumun ilk yarısını çok iyi yanıtlıyor. Ancak, isimlerin nereden geldiği hala bir gizemdir. Bilmeyi istememin nedeni, bana daha fazla bağlam kazandıracağını düşünüyorum.
Luke

Adlandırma neredeyse tamamen kendi kendini açıklayıcı nitelikte. Özellikle de bu bağlantıdaki açıklamaları okuyorsanız.
Dan Carley

3
Hayır değil. 'Etc' nin ne için kullanıldığını açıklar ancak adın nereden geldiğini veya neyi temsil ettiğini açıklamaz.
Luke

@ sysadmin1138, öyleyse /runtemelde RAM referansı nedir?
Pacerier

@Pacerier Bu bir dosya sistemidir, ancak bir RAM diski olarak güvenle monte edilebilir. Bununla birlikte, birçok program orada belirli bir yapıya bürünür, bu yüzden aslında sebat gerektirir.
sysadmin1138

22

Tarihsel olarak, /etc"etcetera" anlamına gelir ve /var"değişken" için kısadır. Sanırım birincisi, ilgisiz sistem konfigürasyon dosyalarının geniş bir koleksiyona girmesi /etc. Sonuncusu, dosyaların /vardeğişmesi bekleniyor olmasıdır. Sık sık /usrve /salt okunur olarak bağlayabilirsiniz (güncelleme yaparken hariç), ancak hiçbir zaman /varsalt okunur yapamazsınız . Sistem günlük dosyalarını, kilit dosyalarını, biriktirme dosyalarını ve dinamik olarak değişen diğer şeyleri tutar.

Diğer insanlar size en iyi nereye gittiğini anlamanız için işaretçiler verdi.


22

Eski bir ipliği diriltdiğim için özür dilerim, ancak bu ayrıntının bu bilginin gelecekteki tüm arayanları için önemli bir açıklama olduğunu düşünüyorum:

  • / opt isteğe bağlı (isteğe bağlı eklenti paketlerinde olduğu gibi) anlamına gelir.
  • / bin ikilik anlamına gelir (işletim sistemi tarafından kullanılan yürütülebilir dosyaları içerir).
  • / lib kitaplık anlamına gelir (muhtemelen bin içindeki çalıştırılabilirler tarafından kullanılan, dosya sistemi tarafından kullanılan ve önyükleme için kullanılan paylaşılan kütüphaneleri içerir)
  • / proc süreçleri ifade eder.
  • / root root kullanıcısı anlamına gelir.
  • / home , root olmayan tüm kullanıcılar için home alt dizinlerini tutar.
  • / dev aygıtın kısaltmasıdır (özel ve aygıt dosyalarını tutar).
  • / tmp geçici olarak duruyor.
  • / srv hizmet anlamına gelir.
  • / mnt , bağlama noktası anlamına gelir (burada geçici bir dosya sistemi bağlayın).
  • / include #include dosyaları, yani başlık dosyaları (örneğin, stdio.h) içerir.
  • / var değişken anlamına gelir
  • / etc etcetera anlamına gelir.

  • / usr , Unix Sistem Kaynakları ( Kaynak ) anlamına gelir.


Güzel cevap: özlü, soru düzeyinde yönlendirildi ve diğer bağlantılara bakmaya gerek yok. +1
Scott Biggs

Daha önce srv görmemiştim. Mantıklı ve zorlandığı sürece konfigürasyon yerine kongre yapmayı tercih ederim. Açıkçası, Apache her zaman / srv dizinindeki dosyaları sunmuyor.
user148298 11:18




1

Eğer unix işletim sisteminin birkaç çeşidini gözlemlerseniz, dizin isimlerinde ne gibi bir fark olduğunu göreceksiniz, fakat ortakların çoğu aşağıda açıklanmıştır.

/ bin ikilik anlamına gelir (ikili dosyaları içerir ve ayrıca kullanıcılar tarafından kullanılan komutları da içerir. Komutun çalıştırılması için de varsayılan yoldur).

/ sbin (bu genellikle süper kullanıcı tarafından verilen özel komutları içerir)

/ lib kitaplık (dosya sistemi tarafından kullanılan ve önyükleme için kullanılan, muhtemelen bin'deki yürütülebilir dosyalar tarafından kullanılan paylaşılan kitaplıkları içerir) / proc işlemler için duruyor (yalnızca bu dizini kontrol etmek istiyorsanız rasgele sayılarla adlandırılmış birkaç dizin içerecektir. hiçbir şey ama süreç numarası ps tarafından kontrol çapraz olabilir - ef)

/ root, root kullanıcısı anlamına gelir (root kullanıcısı için varsayılan dizin) / home (root kullanıcısı olmayan tüm kullanıcılar, bu dizinin altında bir giriş dizini vardır) / dev, aygıtın kısaltmasıdır (bu dizinde ls üzerinden bakarsanız, özel ve aygıt dosyalarını tutar) - l komut büyük ve küçük sayılar da bu dizinde ayrıca ls - l sonuçlarında her satırın başlangıcında gösterilen aygıt tipini de gösterir, B, özel aygıt bloğu, c, özel aygıt anlamına gelir). / tmp geçici (geçici olarak burada tutulan bazı işlemler için gerekli olan geçici kaynaklar) / mnt, bağlama noktası anlamına gelir (burada geçici bir dosya sistemi ekleyin). / var değişken anlamına gelir (değişken verileri tutar, içerdiği dizin her seferinde boyut değiştirir) / opt isteğe bağlı (genellikle üçüncü taraf Yazılım bu dizine kurulur) anlamına gelir. / usr, Unix Sistem Kaynakları anlamına gelir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.