Większość ludzi używa zamiennie terminów „folder” i „katalog”. Czy z punktu widzenia programisty jest jakaś różnica, a jeśli tak, to jaka? Czy zależy to od systemu operacyjnego, czy też istnieje szeroki, ogólny konsensus? To przynajmniej sugeruje, że istnieje różnica.
107
Odpowiedzi:
Sprawdź sekcję „Metafora folderu” w Wikipedii . W Stanach:
źródło
Folder niekoniecznie jest fizycznym katalogiem na dysku. Może to być na przykład folder drukarek lub folder panelu sterowania w systemie Windows.
Raymond Chen wyjaśnia:
źródło
/proc
nie ma go również na dysku .Cytując Álvaro G. Vicario :
W większości przypadków są to terminy zamienne. Katalog to klasyczny termin używany od wczesnych czasów systemów plików, podczas gdy folder to rodzaj przyjaznej nazwy, która może brzmieć bardziej znajomo dla użytkowników systemu Windows.
Główna różnica polega na tym, że folder jest logiczną koncepcją, która niekoniecznie musi odpowiadać katalogowi fizycznemu. Katalog jest obiektem systemu plików. Folder to obiekt GUI. Wikipedia wyjaśnia to w ten sposób :
źródło
/usr/bin/
są zwykle określane jako katalog podczas przeglądania w konsoli wiersza poleceń, ale jeśli dostęp do niego uzyskuje się za pośrednictwem graficznego menedżera plików , użytkownicy mogą czasami nazywać go folderem.mkdir
,cd
) , jak i folderu (w GUI).Książka telefoniczna: Katalog nazw stanowi analogię do książki telefonicznej:
Folder : nazwa folderu stanowi analogię do folderu plików używanego w biurach:
Analogia:
Jeśli chcesz mieć określony folder, użyj katalogu. Jeśli chcesz otrzymać konkretny pokój, zapytaj właściciela hotelu. Źródło
źródło
Wcześniej nie znałem różnicy między tymi dwoma słowami w języku angielskim, nawet w edytorze rejestru systemu Windows znalazłem dwa podklucze
Folder
iDirectory
podHKEY_CLASSES_ROOT
.Nie znałem różnicy, dopóki nie utworzyłem ręcznie niektórych wartości w rejestrze i nie zaobserwowałem różnic w elementach menu kontekstowego. Jeśli utworzę węzeł
HKEY_CLASSES_ROOT\Folder\shell
tylko pod , stwierdziłem, że pojawia się on w menu kontekstowym zarówno folderów wirtualnych (akasystem directory
), jakRecycle Bin
i katalogu systemu plików, takiego jakC:\Windows
.Jeśli utworzę węzeł
HKEY_CLASSES_ROOT\Directory\shell
tylko pod , pojawi się on tylko w menu kontekstowym katalogu systemu plików, jakC:\Windows
folder wirtualny, ale nie. Tak więc, jak powiedział @AntonyW, w systemie Windows foldery = foldery wirtualne + katalogi systemu plików.źródło
Nazwy folderów wyświetlanych w Eksploratorze plików (GUI wcześniej nazywany Eksploratorem Windows) niekoniecznie są takie same, jak katalogi, które reprezentują. Rozważ przypadek, w którym próbujesz programowo otworzyć określony folder, zwykły katalog w pamięci masowej, a nie magazyn wirtualny. Powiedzmy, że zostało to określone przez użytkownika na podstawie nazwy wyświetlanej w Eksploratorze plików. Ta nazwa mogła zostać zastąpiona przez informacje w alternatywnym strumieniu danych (ADS) w katalogu, a program nie będzie odnosił się do pliku przy użyciu jego prawdziwej ścieżki.
W dwóch napotkanych przykładach moja aplikacja nie mogła otworzyć ścieżki określonej przez użytkownika. Jeden z tych przykładów był związany z OneDrive; Nie pamiętam pełnych okoliczności z drugiego przykładu. W każdym razie nazwa wyświetlana jest przechowywana w ADS o nazwie ms-properties: $ DATA .
Możesz użyć CMD.EXE, aby wyświetlić ADS za pomocą DIR / R. Zmiana nazw takich folderów za pomocą elementu menu Właściwości w Eksploratorze plików powoduje zmianę zawartości tych reklam, a nazwa wyświetlana użytkownikowi końcowemu w Eksploratorze plików jest wpisywana przez niego. Ale ta procedura nie zmienia nazwy katalogu.
źródło
Twój link zasadniczo opisuje, co różni się pod względem technicznym. W większości przypadków ludzie używają ich zamiennie, a wybór zależy głównie od środowiska, z którego pochodzą.
Jeśli nie tworzysz aplikacji na różnych platformach, aby modyfikować pliki, nie musisz znać różnic. Gdy przygotowujesz się do pracy z kilkoma różnymi typami systemów plików, powinieneś znać różnice między nimi.
Nie oczekuj, że ludzie będą wiedzieć, jakiego terminu użyć. Myślę o tych terminach jako o wymiennych, ponieważ różnice są znane zbyt małej liczbie osób.
źródło