Bir dizin ile bir klasör arasındaki fark nedir?


108

Çoğu kişi "klasör" ve "dizin" terimlerini birbirinin yerine kullanır. Bir programcı bakış açısından, bir fark var mı ve eğer öyleyse, nedir? İşletim sistemine mi bağlı yoksa geniş, genel bir fikir birliği var mı? Bu en azından bir fark olduğunu gösteriyor.


Bu sorunun neden SO'ya
mafu

Ama programmers.stackexchange.com

Yanıtlar:


92

Wikipedia'daki "Klasör metaforu" bölümünü kontrol edin . Belirtir:

Bir dosya sistemi konsepti olan bir dizin ile onu temsil etmek için kullanılan grafiksel kullanıcı arayüzü metaforu (bir klasör) arasında bir fark vardır. Örneğin, Microsoft Windows, bilgisayarın içeriğini kullanıcıya oldukça tutarlı bir şekilde sunmaya yardımcı olmak için özel klasörler kavramını kullanır; bireysel kurulumlar. ...

Bir belge konteynerine atıfta bulunuluyorsa, klasör terimi daha uygundur. Dizin terimi, bilgisayarda belge dosyalarının ve klasörlerinin yapılandırılmış bir listesinin depolanma biçimini ifade eder. Bu ayrım, bir dizine erişim şeklinden kaynaklanıyor olabilir; Unix sistemlerinde, / usr / bin / genellikle bir komut satırı konsolunda görüntülendiğinde bir dizin olarak adlandırılır, ancak bir grafik dosya yöneticisi aracılığıyla erişilirse, kullanıcılar bazen onu bir klasör olarak adlandırabilir.


Demek istediğim, bu temelde aynı şey olduklarını söylüyor lol.
Andrew

Tarihsel not: UNIX, VAX / VMS ve MS-DOS komut satırı başlangıçta yalnızca "dizin" olarak kullanılmıştır. Orijinal 1970'lerin Xerox Star'ı "Klasör" terimini "masaüstü metaforunun" bir parçası olarak tanıttı, bu 1980'lerde Mac tarafından popüler hale getirildi ve Windows dahil sonraki GUI'lerde evrensel hale geldi. Ancak komut satırında hala bir "dizin" dir.
Orion Lawlor

42

Bir klasörün bir disk üzerindeki fiziksel bir dizin olması gerekmez. Örneğin, Windows'taki yazıcılar klasörü veya kontrol paneli klasörü olabilir.

Raymond Chen açıklıyor:

Windows 95, Windows Gezgini'ni ve bununla birlikte klasör terimini tanıttı. Klasörler ve dizinler arasındaki ilişki nedir?

Bazı insanlar Windows 95'in dizinleri klasörler olarak yeniden adlandırdığına inanıyor, ancak aslında bundan daha fazlası.

Windows Gezgini, kabuk ad alanındaki kapsayıcılar olan klasörleri görüntülemenizi sağlar. Dizinler, dosya sistemi konumlarına karşılık gelen klasörler olan bir klasör türüdür. Denetim Masası veya Ağ Komşuları veya Yazıcılar gibi başka klasör türleri de vardır. Bu diğer klasör türleri, dosyalara karşılık gelmeyen kabuk ad alanındaki nesneleri temsil eder. Genel kullanımda, sanal klasör terimi, dizin olmayan klasörlere atıfta bulunmak için kullanılmıştır. Başka bir deyişle, şu Euler diyagramına sahibiz:

(Sanal klasörler = Klasörler - Dizinler)

Genel olarak, kabuk ad alanını işleyen kod, kendilerini belirli bir depolama ortamına bağlamamak için dizinler ve dosyalar üzerinde değil, klasörler ve öğeler üzerinde işlemelidir. Örneğin, kendisini dosyalar ile sınırlayan kod, bir Zip dosyasının içeriği sanal bir klasör biçiminde açığa çıktığından bir Zip dosyasına gidemez.


10
Nitpicking için genellikle /procüzerinde değil diske ya.
n611x007

16

Álvaro G.Vicario'dan alıntı :

Çoğu zaman birbirinin yerine geçebilen terimlerdir. Dizin, dosya sistemlerinin ilk zamanlarından beri kullanılan klasik bir terimdir, klasör ise Windows kullanıcılarına daha tanıdık gelebilecek bir tür kolay addır.

Temel fark, bir klasörün fiziksel bir dizine eşleşmesi gerekmeyen mantıksal bir kavram olmasıdır. Bir dizin, bir dosya sistemi nesnesidir. Klasör, bir GUI nesnesidir. Wikipedia bunu şu şekilde açıklıyor :

Ofislerde kullanılan dosya klasörüne bir benzetme sunan ve orijinal olarak Apple Lisa tarafından kullanılan ad klasörü, neredeyse tüm modern işletim sistemlerinin masaüstü ortamlarında kullanılmaktadır. Klasörler genellikle görsel olarak fiziksel dosya klasörlerine benzeyen simgelerle gösterilir.

Açıkçası, bir dosya sistemi konsepti olan bir dizin ile onu temsil etmek için kullanılan grafiksel kullanıcı arayüzü metaforu (bir klasör) arasında bir fark vardır. Örneğin, Microsoft Windows, bilgisayarın içeriğini kullanıcıya oldukça tutarlı bir şekilde sunmaya yardımcı olmak için özel klasörler kavramını kullanır; bireysel kurulumlar.

Bir belge konteynerine atıfta bulunuluyorsa, klasör terimi daha uygundur. Dizin terimi, bilgisayarda belge dosyalarının ve klasörlerinin yapılandırılmış bir listesinin depolanma biçimini ifade eder. İsim, numara ve adres listelerini içeren ve gerçek belgelerin kendisini içermeyen bir telefon rehberi ile karşılaştırılabilir.


13
  • Dizin bir dosya sistemi konseptidir. Bir GUI'de dizin bir Klasör olarak temsil edilir .
  • Örnek 1: Unix sistemleri, /usr/bin/genellikle bir komut satırı konsolunda görüntülendiğinde bir dizin olarak adlandırılır, ancak bir grafik dosya yöneticisi aracılığıyla erişilirse , kullanıcılar bazen onu bir klasör olarak adlandırabilir.
  • Örnek 2 : Windows hem kullanır Directory (komutlar gibi içinde mkdir, cd) ve Klasör (GUI).

Rehber : İsim dizini, telefon rehberine bir benzetmeyi temsil eder:

Telefon rehberinin resmi


Klasör : Klasör adı, ofislerde kullanılan dosya klasörüne bir benzetmeyi temsil eder:

Ofis klasörlerinin resmi


Analoji:

  • Klasör bir oda gibidir.
  • Dizin, tüm odaları bilen bir otel işletmecisi gibidir.

Belirli bir klasör istiyorsanız, dizini kullanırsınız. Belirli bir oda istiyorsanız, otel işletmecisine sorun. Kaynak


4

Daha önce bu iki kelime arasındaki farkı İngilizce bilmiyordum, Windows kayıt düzenleyicisinde bile iki alt anahtar bulabildim Folderve Directoryaltında HKEY_CLASSES_ROOT.

Kayıt defterinde bazı değerleri manuel olarak oluşturana ve bağlam menüsü öğelerinin farklılıklarını gözlemleyene kadar farkı bilmiyordum. HKEY_CLASSES_ROOT\Folder\shellYalnızca altında bir düğüm oluşturursam , bunun hem sanal klasörlerin (aka system directory) Recycle Binhem de dosya sistemi dizininin bağlam menüsünde göründüğünü buldum C:\Windows.

HKEY_CLASSES_ROOT\Directory\shellYalnızca altında bir düğüm oluşturursam , yalnızca dosya sistemi dizininin bağlam menüsünde görünür, C:\Windowssanal bir klasör gibi ancak görünmez . Yani, @AntonyW'nin dediği gibi, Windows'ta klasörler = sanal klasörler + dosya sistemi dizinleri.


1

Dosya Gezgini'nde (eski adıyla Windows Gezgini olarak adlandırılan GUI) görüntülenen klasörlerin adlarının temsil ettikleri dizinlerle aynı olması gerekmez. Sanal bir depoyu değil, yığın depolamadaki düz bir dizini programlı olarak açmaya çalıştığınız bir durumu düşünün. Bunun bir kullanıcı tarafından Dosya Gezgini'nde görüntülenen ada göre belirlendiğini varsayalım. Bu ad, dizindeki alternatif bir veri akışındaki (ADS) bilgiler tarafından geçersiz kılınabilir ve programınız dosyaya gerçek yol adıyla atıfta bulunmayacaktır.

Karşılaştığım iki örnekte, uygulamam kullanıcı tarafından belirtilen bir yol adını açamadı. Bu örneklerden biri OneDrive ile ilgiliydi; Diğer örneğin tüm koşullarını hatırlamıyorum. Her neyse, görünen ad MS-properties adlı ADS'de saklanır : $ DATA .

ADS'yi DIR / R kullanarak listelemek için CMD.EXE'yi kullanabilirsiniz. Dosya Gezgini'ndeki Özellikler menü öğesini kullanarak bu tür klasörlerin yeniden adlandırılması, bu ADS'nin içeriğini değiştirir ve Dosya Gezgini'nde son kullanıcıya görüntülenen ad, yazdığı şeydir. Ancak bu prosedür dizini yeniden adlandırmaz.


0

Bağlantınız temel olarak teknik olarak neyin farklı olduğunu açıklar. Çoğu zaman İnsanlar bunları birbirinin yerine kullanır ve seçtikleri çoğunlukla hangi ortamdan geldiklerine bağlıdır.

Dosyaları değiştirecek bir uygulama için çapraz platform geliştirme yapmadığınız sürece, farklılıkları bilmenize gerek yoktur. Birkaç farklı dosya sistemi türüyle çalışmaya hazırlanır başlamaz, farklılıklarını bilmelisiniz.

İnsanların hangi terimi ne zaman kullanacaklarını bilmelerini beklemeyin. Farklılıklar çok az kişi tarafından bilindiği için bu terimlerin birbiriyle değiştirilebilir olduğunu düşünüyorum.


1
Yine de sorduğum bu değil.
mafu
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.