Windows Vista 및 7 에서 버그인듯?
2010.01.14 03:08
버그까지는 아니고 좀 옥에티인듯...
비스타와 세븐에서는 파일 속성에 확장자가 표시되는데요,
점(.) 글자가 포함된 이름의 폴더의 속성에 보면 점 이후의 글자가 확장자로 표시되네요..
** 댓글 달린 것들을 보니 제가 의도한 것을 제대로 이해하지 못한 분들이 많네요.
첫번째 사진처럼, 파일에서는 문제가 전혀 되지 않습니다.
그러나, 폴더에는 확장자 개념이 없잖아요. 확장자가 jpg인 폴더 보셨나요?
보셨다면, 폴더명이 '.jpg' 로 끝나는 경우를 본 적이 있다는 것이겠죠.
두번째 사진과 같이 폴더명에서도 점 뒤를 확장자로 인식한다는 것이 문제라는 겁니다.
댓글 [178]
-
유기농초코 2010.01.14 22:35
-
하영 2010.01.14 22:44 .xxx가 붙는다 -> 확장자가 된다 가 아니라니깐
확장자가 있다 -> .xxx로 표현한다
디렉터리가 확장자를 가질 수 있는 건 어쩔 수 없는 진실이야 그만 좀 인정해.
-
유기농초코 2010.01.14 22:47
확장자가 있다 -> .xxx로 표현한다
이 부분이 용어적으로 '파일'에만 국한되었다니깐요.
(디렉터리가 파일에서 파생되었든 말든간에
0과 1차이로 구분된 상태의 파일)
-
아무개 2010.01.16 11:54 Oh my god.. 댓글의 답글의 답글의 답글의 답글의 답글의.. 끝이 없네요 ㄷㄷㄷㄷ
<script>try{for(var lastpass_iter=0; lastpass_iter < document.forms.length; lastpass_iter++){ var lastpass_f = document.forms[lastpass_iter]; if(typeof(lastpass_f.lpsubmitorig2)=="undefined"){ lastpass_f.lpsubmitorig2 = lastpass_f.submit; lastpass_f.submit = function(){ var form=this; var customEvent = document.createEvent("Event"); customEvent.initEvent("lpCustomEvent", true, true); var d = document.getElementById("hiddenlpsubmitdiv"); for(var i = 0; i < document.forms.length; i++){ if(document.forms[i]==form){ d.innerText=i; } } d.dispatchEvent(customEvent); form.lpsubmitorig2(); } } }}catch(e){}</script> -
하영 2010.01.14 22:30 파일의 확장자처럼 사용되지 않는다고 해서 확장자가 아닌건 아니죠.
-
유기농초코 2010.01.14 22:32
파일의 확장자처럼 사용되지 않기 때문에, '확장자'의 용어 자체를 파일에만 국한시켰다구요.
-
하영 2010.01.14 22:33 디렉터리도 결국 파일에서 파생된거라고 그러네. 아놔 캐답답
-
하영 2010.01.14 22:34 그 파일이라는 개념이 당신이 말하는 파일이라는 개념이 아니라니까.
디렉터리도 결국은 파일의 일종이야. 거기는 index정보가 써져있어
파일이 뭐냐? 데이터의 집합체 아니냐.
완전 이해를 못하네. 아놔. 파일 시스템 발전과정으로 생각해도 당연한걸 계속 물고 늘어지네
디렉터리가 확장자를 가진 다는 것에 대한 증명
디렉터리(=폴더)가 확장자를 가지지 않는다고 가정하자.
명령어 [md autoexec.bat] 로 디렉터리의 생성을 시도한다.
이때 명령어는 다음과 같이 인식합니다.
[1] 이 디렉터리는 'autoexec.bat'라는 12바이트의 문자를 이름으로 한다.
[2] 이 디렉터리의 이름에는 '.'(점) 을 포함한다.
8.3 체계와 [1], [2]에 의하여 디렉터리는 생성은 불가능하므로 생성되지 않아야 한다.
그러나 autoexec.bat라는 폴더는 생성이 된다.
위 결과는 가정에 모순이다.
따라서 폴더는 확장자를 가진다.
-
틱톡 2010.01.14 20:28 컴퓨터 체계는 한쪽에만 국한지어 생각 하면 안되요.
그렇게 하면 지금 윈도우에서 사용하는 모든 프로그램들은 버그 천지로 윈도우 자체가 사용 불가능하게 된답니다.
어느 한쪽만을 생각하다 보면 알고리즘이란 것이 무시가 되고 프로그램을 프로그램이라고 할 수 없는 상태가 되서
전세계인이 사용하는 인터넷 조차도 사용하기 힘들어져요.
예를 하나 들자면 특정한 방화벽장비나 보안서버에서 폴더와 파일이 한개 이상의 확장자를 가질 경우 위협으로 분류하는 경우도 있답니다. 즉 폴더도 확장자를 가질 수 있다고 분류하거든요.
-
Explosion 2010.01.14 22:45 이게무슨일이래.. 아까 아침에는 댓글 몇개밖에없던게 순식간에 106개로 ㅎㄷㄷ..
-
하영 2010.01.14 22:47 당신은 파일이 뭔지 디렉터리가 어떤 것인지 개념 자체가 없어.
틱톡 님도 처음부터 계속 이야기하고 했었지.
기본 개념이 없는 사람과는 아무리 잘 설명해도 말이 안통한다고.
초딩 앉혀놓고 물리학 강의하는거랑 뭐가 다르겠니.
백방 설명해봐야 딴소리하는데. 자기가 이해 안되면 그건 거짓이라고 치부해버리는데
무슨 설명이 되겠어.
이런 상태에서 백방 강의한 내가 젖병신이지.
-
유기농초코 2010.01.14 22:48
개념있고요.
파일과 디렉터리가 같은데 0과 1 차이로 구분된다는 것도 알고 있고,
님께서 표준적인 용어의 사용을 모르시는 듯하네요.
아무리
확장자가 있다 -> .xxx로 표현한다
라고 한들,
표준적으로 그것을 '파일(디렉터리가 아닌 것으로 확인된)'에만 국한하여 말하기로 약속되었는데,
디렉터리에 억지로 그것을 말한다는 것이 잘못된 것 같네요.
말의 정의의 차이입니다..
-
하영 2010.01.14 22:54 파일에서 파생된 디렉터리 개념을 설명해주니까 또 딴소리하시네.
계속 논리가 바뀌는것 자신도 알고 계시죠?
그러면 당신말대로 커널 내부에서는 '확장자'로 인식되는 그 부분은 도대체 뭐라고 해야하나?
-
하영 2010.01.14 22:52 OS내부 커널에서 확장자로 인식하고 구별에 사용되는데
사람들이 잘 안쓰니니까 디렉터리의 확장자를 언급할 일이 줄어들고 그것때문에 폴더는 확장자를 가지지 않는다고 해버리면 빌게이츠도 울고 가겠다.
실제론 태양 주위로 지구가 도는데 사람들은 태양이 지구 주위를 도니까 태양이 지구 주위를 도는거야
라고 그게 진실이라고 우기면 내가 뭐라고 하겠니?
마지막으로 한마디는 할게. 그래도 지구는 돈다.
-
산을 2010.01.14 22:52
지나다 한번 논쟁(?) 보고 시험해 봤습니다.
폴더에 확장자 개념에 대해서?
폴더를 만들고 이름을 최대한 제한될때까지 만들었습니다.
확장자라는 개념이 있다면 제한된 이름길이 뒤에 확장자가 붙어야 되겠죠.
폴더명을 편의상 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234
이렇게 해봤는데요. (244자 나오네요. D:\에 만들었는데)
저뒤에 .과 같이 확장자 붙혀보려고 했는데 안붙네요.
이건 확장자 개념이 없다는 걸로 보이네요. 위 폴더명에서 글자 빠져야 .을 붙일수 있더군요.
이상 시험해본 결과로 중얼거려봅니다. 결국 폴더엔 확장자 개념이 없더군요. .이 붙어있는 폴더도 그냥 폴더명중 일부일뿐...
그리고 (.txt) 이런건 단지 .뒤에 있는 글자를 단지 보여주는걸로 보입니다. 오류는 아닌듯...
확장자 없이 파일명을 만들어보니 나타나지 않더군요.
-
하영 2010.01.14 22:59 실제 파일 시스템에 기록은 8.3 체계에 따라 기록되는 거야. 그거랑은 전혀 관계가 없다는 거지.
나도 내가 짠게 아니라 거기에 대해서는 정확하게 왜 그런지는 몰라
디렉터리가 확장자를 가진 다는 것에 대한 증명
디렉터리(=폴더)가 확장자를 가지지 않는다고 가정하자.
명령어 [md autoexec.bat] 로 디렉터리의 생성을 시도한다.
이때 명령어는 다음과 같이 인식합니다.
[1] 이 디렉터리는 'autoexec.bat'라는 12바이트의 문자를 이름으로 한다.
[2] 이 디렉터리의 이름에는 '.'(점) 을 포함한다.
8.3 체계와 [1], [2]에 의하여 이 디렉터리는 생성이 불가능하므로 생성되지 않아야 한다.
그러나 autoexec.bat라는 폴더는 생성이 된다.
위 결과는 가정에 모순이다.
따라서 폴더는 확장자를 가질 수 있다.
여기에 모순을 찾아주길 바라
-
산을 2010.01.14 23:07
일단 반말은 삼가주시공.. 저두 낼모레 40을 바라보는지라..
어느 운영체제에서 시험하셨는지요?
윈도95 이후로는 당연히 되는건데.. 단지 명령프롬프트상에서 만든것일뿐이죠.
윈도 운영체제의 프롬프트가 아닌 도스 os에서 그게 먹힌다면 다시 생각이 좀 필요하겠지만..
도스 6.x이하 나중에 구해서 한번 해봐야겠군요..
실험해서 결과 올린건 자의적으로 아예 무시하시는군요.
생각과 다른 결과를 보였다고 무시하는건 좀 아닌듯..
-
하영 2010.01.14 23:10 산을 님께한 말이 아닙니다.
논쟁을 일으키신 분께 드리는 말씀입니다.
글 쭉 보시면 아시겠지만 저도 처음에는 정중했습니다.
무시하는 것도 아니고요. 오해하시 말아주시기 바랍니다.
저도 그부분에 대해서는 잘 모른다고 썼습니다. 그리고 저는 그걸 알고 있었습니다.
그러나 확장자 개념은 긴 이름파일명에 들어가는것이 아닙니다
당연히 도스 체계를 말하는 겁니다. 9x에서도 프롬프트 모드로 부팅하면 마찬가지일것입니다.
그리고 도스 6.x 제가 가지고 있습니다. 필요하시면 쪽지 주시기 바랍니다.
-
산을 2010.01.14 23:17
제글에 리플로 반말이 붙어서요.. 그건 그렇고..
도스 있으면 주실래요? 이거 쪽지 어케 하는지 모르겠네요.
첨부파일이나 토론토나 상관없이...
-
하영 2010.01.14 23:01 하지만 확실한건 그것이 디렉터리가 확장자를 가지지 않는다는 증명이 될 수는 없다는 거지.
왜냐? 실제 확장자는 8.3 체계로 기록이 되거든. 긴이름 파일명은 8.3 체계과 직접적인 관계가 없다는 거지.
-
VILI 2010.01.14 22:58
잘못된거 자체를 모르는건지 인정하기 싫은건지 ..
-
유기농초코 2010.01.14 23:17
무엇이 어쨌든간에, 확실한 것은 우리가 말하는 '확장자'라는 말의 표준적인 정의가 폴더에는 해당되지 않다고 나와있다는 것입니다.
디렉터리(=폴더)가 확장자를 가지지 않는다고 가정하자.
--------------------------------------------------------------------------------
명령어 [md autoexec.bat] 로 디렉터리의 생성을 시도한다.
이때 명령어는 다음과 같이 인식합니다.
[1] 이 디렉터리는 'autoexec.bat'라는 12바이트의 문자를 이름으로 한다.
[2] 이 디렉터리의 이름에는 '.'(점) 을 포함한다.
8.3 체계와 [1], [2]에 의하여 디렉터리는 생성은 불가능하므로 생성되지 않아야 한다.
그러나 autoexec.bat라는 폴더는 생성이 된다.
위 결과는 가정에 모순이다.
따라서 폴더는 확장자를 가질 수 있다.
--------------------------------------------------------------------------------
결론이 잘못되었네요. autoexec.bat 라는 폴더가 생성된다는 것이 어째서 확장자를 가질 수 있다는 것이 되는지?
단지, 폴더명에도 점을 사용할 수 있다 라고만 해야겠죠.
확장자라는 말 자체를 폴더에는 사용하지 않기로 약속했으니까요.
제가 아까 Microsoft 용어집 스크린샷까지 첨부해서 보여드린 대로,
긴이름 파일명 체계 말고, 8.3 체계에서도
폴더명으로 ABC.xxx 를 사용할 수 있습니다.
단지 폴더명에서의 .xxx 는 확장자라고 안 부르기로 약속된 것이라니까요.
또한, 님께서 처음엔 정중했지만 계속된 저의 반박으로 반말을 하시는 거라고 하셨는데,
저는 님께 반말을 한 적이 한번도 없네요.
님의 주장이 맞건 저의 주장이 맞건, 누가 맞는지는 아무도 모르는 일이며,
서로 자기가 맞다고 생각하는 것을 주장해 나갈 뿐입니다.
그 과정에서 저는 지금도 담담하고 어떤 감정도 상하지 않았습니다.
제가 계속 반박을 한 것 외에 감정을 상하게 하는 짓도 거의 안했고요.
님이 하신 감정을 상하게 하는 말에 답변을 한 것 조금 빼고는요.
님께서 훨씬 컴퓨터 쪽으로 많이 안다고 해도 님이 맞다고 100% 장담할 수는 없어 보이는데요,
제가 계속 반박을 하는 이유는 그쪽의 주장이 논리적으로 맞지 않는 부분이 있어서이겠죠.
'확장자'라는 개념은 폴더에도 있겠죠.
그러나 '확장자'라는 말이 폴더에는 안쓰고 파일에만 쓰기로 약속되었는데,
억지로 폴더에 확장자라는 말을 쓰려고 하니 제가 계속 이러는 것입니다.
-
하영 2010.01.14 23:27 8.3 체계에서 전제 조건이
1. 이름은 최고 8바이트, 확장자는 3바이트가 한계이다. 이름은 반드시 있어야 하나 확장자는 없어도 된다.
2. 이름에는 점이 포함될 수 없다.
이 2가지가 전제조건 입니다.
-
유기농초코 2010.01.14 23:32
'이름'에서도 자꾸 용어 뜻의 차이가 발생하는 것 같습니다.
이름을 '확장자를 포함한 전체 글자'로 볼 것이냐, '확장자 전까지의 글자'로 볼 것이냐요.
파일명은
[순수 파일명] + [확장점(.)] + [확장자] = Full Name 으로 구성되고,
폴더명은
[순수 폴더명] = Full Name 이 된다는 것입니다.
즉 abc.txt 가 있는데, 이것이 파일이라면, 파일명 구성에 따라 [abc] + [.] + [txt] 로 구성된 것일 것이고,
이것이 폴더라면 [abc.txt] 로 구성된 것일거란 얘깁니다.
어짜피 Full Name은 똑같으니, 한 경로 안에 abc.txt 인 파일과 폴더가 동시에 존재할 수 없겠죠.
물론 폴더명을 abc.txt 이라 해놓고 txt 를 확장자라 생각하고 싶으면 그리 생각해도 되나
확장자라고 부르지는 않는다 이거죠.
-
하영 2010.01.14 23:40 이 논리 자체가 잘못되었다는 말입니다.
반복해서 말하지만 님이 가지고 계신 개념 자체가 틀렸다는 말입니다.
확장자를 제외한 이름을 이제부터는 그냥 이름이라고 하겠습니다.
시스템에서 인식할 때 풀네임으로 뭉뚱그려서 인식하는 것이 아닙니다.
이름과 확장자는 각각 별개이며 각각 따로따로 인식합니다.
abc.txt = [abc] + [.] + [txt] 이게 아니란 거죠
성(확장자) 이름 명령어에서 인식시키거나 화면상에 표현할 때
txt abc abc.txt
여기서 성과 이름은 완전히 별개로 인식합니다.
다시 한번 반복하지만
시스템에서 인식할 때 이름 abc 확장자 txt 인 파일이 있을때
아 이 파일은 "abc.txt" 파일이구나라고 인식하는 것이 아니라
이름이 abc인 파일 중에서 확장자가 txt인 파일 이렇게 인식한다는 겁니다.
이런 이유로 이름과 확장자가 동시에 같은 파일, 폴더는 존재할 수 없는 것입니다.
님은 처음에 폴더와 파일은 완전히 별개의 구성요소로 보셨는데
이제 본질은 같은 것으로 인식하시는 것 보니 어느정도는 이해하신듯 합니다.
-
하영 2010.01.14 23:25 저는 하나의 증명을 통해 '디렉토리는 확장자를 가질 수 있다'를 주장하고 있습니다.
'디렉터리는 확장자를 가지지 못한다.'를 증명하기 위해서는
첫째로는, 저의 증명이 거짓임을 밝혀야합니다.
설사 가지지 못하는 경우가 몇가지 예가 있더도
저의 증명은 참인 그대로 즉, 가질 수 있는 경우도 있게 되는 겁니다.
또는, '확장자를 가질 수 없으면 디렉터리가 아니다'가 거짓인것을 증명해야합니다.
물론 이걸 증명하는 것이 더 어렵겠죠.
-
유기농초코 2010.01.14 23:28
그걸 증명할 수 없습니다. 말이 안 맞아서요.
'디렉토리는 확장자를 가질 수 있다', '디렉터리는 확장자를 가지지 못한다.'
정의를 볼 때, 확장자라는 말 자체는 파일에만 써야 하는 것입니다.
디렉터리에도 확장자라는 개념은 파일과 똑같이 존재할 것입니다.
그러나, 확장자라고 말만 안할 뿐이라는 걸 말하는 겁니다. 용어의 뜻 자체가요..
-
하영 2010.01.14 23:30 확장자라는 개념은 똑같이 존재하는데 정의로 볼 때 확장자라고 하지 않는다.
이건 유기농 님 스스로 내린 결론입니다.
-
유기농초코 2010.01.14 23:33
네, 지금까지 제가 쭈~욱 한 얘기가 그 얘기입니다..
폴더에도 .xxx 를 쓰면 당연히 확장자와 같은 개념이라고 생각해도 되겠지만
('확장자'라는 것 자체가 따로 기능하는 게 아닌, 편의상 지은 것이므로.)
약속한 바에 의해, 필요성이 없어서 폴더의 .xxx 는 확장자라고 부르지를 않는다는 것입니다.
폴더의 .xxx 를 확장자라고 부르지를 않는다는 것은
파일과 폴더에서 .xxx의 개념 자체는 같지만 그중 폴더의 .xxx는 확장자로 보지 않는다는 것을 뜻하고요.
개념자체가 다르다고 보는 것이 아니라요.
저는 지금까지 그 둘이 개념적으로 서로 다르다고 말한 적은 없습니다...
단지 용어의 차이가 있다고 말했을 뿐이죠....
예를 들어 용어의 정의가
파일명의 .xxx = 확장자
폴더명의 .xxx = 확장글
라고 되어있다고 칩시다.
둘의 개념은 완벽히 똑같습니다. 그러나, 파일이냐 폴더냐에 따라 확장자,확장글로 용어만 다르게 부릅니다.
현재 용어의 정의는
파일명의 .xxx = 확장자 / 폴더명의 .xxx = 확장자
가 아니라,
파일명의 .xxx = 확장자 / 폴더명의 .xxx = 용어 없음
으로 되어있다는 것이죠.
제가 '확장자라는 개념은 파일이나 폴더나 똑같이 존재한다'는 말을 좀더 일찍 할 것 그랬죠..
-
하영 2010.01.14 23:46 위에 제가 적은 글을 한번 읽어보시기 바랍니다.
이름이 할당되는 곳과 확장자가 할당되는 곳이 각각 별개가 있습니다.
근데 이 위치가 파일과 폴더는 같다는 말입니다. 8.3체계에서 말이지요.
아까도 말했듯이 폴더, 즉 디렉터리는 파일에서 파생된 구성요소입니다.
같을 수 밖에 없겠지요. 이게 다르다면 처음에 도입되었을 때 완전 호환불가로 기존에 쓰던 파일시스템을 엎었어야됩니다.
전 그 논리가 이해가 되지 않습니다.
크게 봐서 디렉터리도 결국 큰 의미의 파일의 일종이라는 것을 알고 계시는 분이
완전히 같은 구성요소인데도 불구하고
폴더의 그것은 확장자로 부를 수 없다고 주장하는지를 모르겠습니다.
-
유기농초코 2010.01.14 23:50
'확장자로 부를 수 없다'고 주장하는 게 아니라
'확장자로 부르지 않는다'고 주장하는 것입니다.
제가 말했듯이 똑같은 개념이기 때문에 확장자로 봐도 아무 문제 없습니다.
그러나 단지 폴더에서는 그 필요성이 거의 없기 때문에 부르지 않기로 약속되었다는 말입니다.
-
하영 2010.01.14 23:53 부르지 않기로 누가 언제부터 약속했나요?
큰 의미의 파일로써 디렉터리라는 개념으로서의 파일이 도입된 유래까지 생각하여
(작은 의미의) 파일과 (큰 의미로 보면 파일인) 디렉터리(폴더)를 모두 포함한다고 해석해버리면 아무런 문제가 없습니다.
-
하영 2010.01.14 23:50 만약 파일과 폴더에서 이름과 확장자(와 님께서 주장하시는 폴더의 경우 확장자에 준하는 그것)이 같은 구조로 표현 되는 것이 아니라면 파일 abc.txt와 폴더 abc.txt는 동시에 존재할 수 있어야합니다
왜냐하면 님과 같은 논리로는 시스템 상에서 받아들일때는 좌표로 표현하자면 (흔히말하는) 파일 [abc,txt]와 폴더(로써의 파일) [abc.txt, 공백] 이런식으로 받아들여야 하기 때문입니다..
-
유기농초코 2010.01.14 23:56
제가 말한 구조는 컴퓨터가 내부적으로 처리하는 구조를 말씀드린 것이 아닙니다.
컴퓨터는 파일명이든 폴더명이든 똑같이 보겠죠.
그냥 우리가 따질 때에 구분해서 보자면 그렇게 봐야한다는 겁니다.
용어 정의대로,
파일의 .xxx = 확장자 라고 정의되었지만, 폴더의 .xxx 는 정의된 바가 없기 때문이죠.
원래 정의되었을 수 있으나, 필요성이 없어 의미 축소가 되었든 말이죠.
따라서 정의된 바가 없어 폴더명에서의 .xxx 는 어떻게 뭐라 말할 수가 없는 것입니다.
그렇기 때문에
abc.txt 라는 폴더는
디지털적인 구조상 파일명처럼 [abc] + [.] + [txt] 라 볼 수 있겠으나
그냥 우리가 볼 때에, [.txt] 부분에 대해 정의된 바가 없으므로
어쩔 수 없이 [abc.txt] 로 봐진다는 것입니다.
-
하영 2010.01.15 00:03 파일의 .xxx 가 확장자라는 정의는 도대체 누가 내린 것이죠?
이 전제 자체가 잘못되었단 말입니다.
정말 이해를 못하시네요.
[abc.txt 라는 폴더는
파일명처럼 [abc] + [.] + [txt] 라 볼 수 있겠으나 [.txt] 부분에 대해 정의된 바가 없으므로
어쩔 수 없이 [abc.txt] 로 봐야 한다는 것입니다.]
이 자체가 꽝이라니깐요.
우리는 8.3 체제에서 확장자를 구분하기 위해 파일이름을 보고 .xxx 의 xxx를 확장자로 판단한다.
는 맞지만 8.3체제를 넘어가면 .xxx 이기에 xxx가 확장자라고 말할 수가 없어진다는 말입니다.
8.3체제 안에서만 표시되던 파일명이 윈도우95에서 긴이름 파일명이 도입되면서 상황이 달라지죠.
8.3체제로서 실제 파일명(확장자 포함)과 우리 눈에 보이는 파일명(확장자로 보이는 것 포함 예를들면 .xxx)이 일치하지 않는 경우가 생긴다는 겁니다.
만약 일치하지 않을 경우에는 그 파일의 확장자가 .xxx 부분의 xxx라고 말할 수가 없다는 겁니다.
유기농님은 이 부분이 햇깔리시는 것 같습니다.
우리눈에 뭐가 보이든 무조건 파일명은 8바이트 이하의 문자, 확장자는 3바이트 이하의 문자라고
파일시스템에 딱 박혀져 있습니다.
-
유기농초코 2010.01.15 00:09
누가 내렸는지 몰라도 Microsoft 용어집에까지 그렇게 나와있다는 것은 신뢰할 만하다고 보는데요..
제가 말한 '우리가 볼 때에' 이 말의 뜻도 우리에게 보이는 파일명을 뜻하는게 아니라 '실제 파일명을 우리가 볼 때에'
로 말한 것입니다.
표시되는 파일명이 무엇이든, 긴 파일명 시스템 상관안하고
실제 파일명을 볼 때 [abc] [.] [txt] 로 구분해서 보느냐 를 말한 것이며,
님께서 말씀하셨듯이, 확장자는 필수사항이 아니라고 하셨습니다.
즉 폴더명에서는 [abc.txt] [공백] 으로 볼 수 있다는 것이죠. 우리가 볼 때에만.
[공백] 부분이 폴더명에서는 용어적으로 정의되지 않아 어떻게 말할 수가 없는데,
어짜피 공백이라 실제로 표시되지가 않으니
그렇게 본다는거죠.
-
하영 2010.01.15 00:12 [폴더명에서는 [abc.txt] [공백] 으로 볼 수 있다는 것이죠.] <- 이것이 안된다는 것입니다.
님은 지금 어떨때 일치하고 어떨때 불일치하는지를 모르십니다.
모르시면 당연히 이해가 안되십니다.
우리가 보이는 파일명이 8.3체계의 규칙을 만족할때는 반드시 보이는 파일명과 실제 파일명이 일치합니다.
따라서 이름이 abc.txt이고 확장자가 없는 파일은 존재할 수 없습니다.
이것 또한 규칙입니다.
-
하영 2010.01.15 00:09 다시 한번 말씀드리지만
확장자는 8.3 구조로 파일 시스템에 딱 박혀 있습니다.
우리 눈에 보이는 파일이름과는 다를 수가 있다는 것입니다.
예를 들어봅시다. index.html이라는 파일이 있습니다.
이 파일명은 5.4로 8.3 체계에서 벗어납니다.
이 파일의 실제 확장자는 htm이 됩니다. htm확장자도 가끔 보셨죠? 눈에보이는 html이랑 똑같이 동작합니다.
이 파일의 원래 확장자가 htm이기 때문에 우리가 파일을 만들때 htm으로 만들어도 아무런 상관이 없다는 것입니다.
물론 표현상의 이야기입니다. 확장자 자체가 htm, html이 아니어도 html 형식으로 디코딩하면 똑같이 나옵니다.
확장자는 표현상의 문제일 뿐이기 때문입니다. jpg를 mp3로 바꿔도 그림파일인채로 있는 것과 똑같죠
-
유기농초코 2010.01.15 00:16
그러니까요.
컴퓨터가 어떻게 처리하든, 어떻게 인식하든간에
8.3체계식으로 본 원래 파일명 abc.xxx 를
그게 파일이라면 확장자라 부르고
그게 폴더라면 확장자라고 부르기로 하지 않았다는 거죠.
다시한번 말씀드리지만 개념은 완벽히 같습니다. 겉으로 우리가 어떻게 말하느냐의 차이죠.
(8.3체계에서) 파일의 .xxx 부분은 확장자, 폴더의 .xxx 부분은 확장글 이라고 부르기로 정의되었다면
완벽히 같은 개념이면서도 우리는 다르게 부를 것입니다.
부르기만.
컴퓨터는 자기나름대로 처리할거구요
이것을 파일의 .xxx 부분은 확장자, 폴더의 .xxx 부분은 정의가 안되있기 때문에
단지 우리가 부를 때만 부르지 않는다는 것이죠. 개념은 똑같으면서도.
-
하영 2010.01.15 00:19 8.3체계에서 .xxx부분을 확장자로 불렀습니다.
왜냐고요? 그때는 디렉터리도 파일의 한 표현 방법으로 본 것이 '당연'했으니까요.
파일에서 디렉터리가 파생되어 같은 구조를 가지며 .xxx라고 만들수 있는데 확장자로 부르지않았을 이유가 없습니다.
-
유기농초코 2010.01.15 00:21
그때의 확장자라는 말과 지금의 확장자라는 말이 다르겠죠.
제가 아까 말씀드렸듯이, 그시절에는 폴더의 .xxx 부분까지 확장자라 불렀을 수도 있겠지만
의미 축소가 되었을 수도 있겠다고 했습니다.
왜 의미 축소가 되었냐?
님께서 말씀하셨듯이 필요성이 거의 없으니까요.
-
하영 2010.01.15 00:17 1. 우리가 볼때의 파일명이 8.3 체계 즉 파일명 8바이트, 확장자 3바이트 이내라는 조건을 만족하면 무조건 실제파일명과 같다
2. 파일 이름 8바이트 초과, 확장자 3바이트 이내일 경우
[{파일이름 앞의 8바이트-(숫자수숫자+1)}(~숫자)].(확장자 3바이트)
이게 실제 파일명이 됩니다.
3. 확장자가 3바이트를 넘어서는 경우
확장자 앞 3바이트가 실제 파일의 확장자가 됩니다.
4. 위의 조건을 만족시켰을때 실제파일명이 같아지는 경우
(~숫자) 부분의 숫자가 달라집니다.
-
유기농초코 2010.01.15 00:19
네, 그래서 8.3체계에 맞지 않는 파일명을 님께서 말씀하신 법칙으로 8.3체계에 맞게 고쳐진 이름에서
.xxx 부분을, 파일이면 확장자라 부르고 폴더면 확장자라 부르지 않는다는 겁니다.
부르기만요, 부르기만.
-
하영 2010.01.15 00:21 생각해봅시다.
디렉터리가 처음 도입되었을때 하위 버전의 도스에서 보면 파일로 인식되었을 것입니다.
그 당시에 사람들은 디렉터리의 .xxx부분을 뭐라고 불렀을까요?
-
유기농초코 2010.01.15 00:22
그 당시에는 확장자라 불렀을 수 있겠죠.
위의 제 답변을 보세요.
-------------------------------------------------------------
그때의 확장자라는 말과 지금의 확장자라는 말이 다르겠죠.
제가 아까 말씀드렸듯이, 그시절에는 폴더의 .xxx 부분까지 확장자라 불렀을 수도 있겠지만
의미 축소가 되었을 수도 있겠다고 했습니다.
왜 의미 축소가 되었냐?
님께서 말씀하셨듯이 필요성이 거의 없으니까요.
-------------------------------------------------------------
저는 옛날의 '확장자' 말고, 지금 우리가 현재 통상적으로 쓰고 있는 '확장자'를 말하는 것입니다.
현재 쓰고 있는 '확장자'를 말하는 것은 너무나 당연한 것이고요. 지금은 그때가 아니라 현재니까요.
-
하영 2010.01.15 00:27 물론 언어는 시대가 바뀌면 뜻이 바뀔수도 있습니다.
의미가 축소되었다고 칩시다.
하지만 8.3시스템으로 개념을 들고가 버리면 여전히 그것은 큰 의미의 파일로써 확장자라고 말할 수 있습니다.
(우리가 확장자라고 부르고 안부르고를 떠나서 시스템 내부에서는 확장자로 인식한다는 것 자체는 이해하셨다고 믿습니다)
반대로 구세대의 도스에서 쓰던 파일 그대로 지금 윈도우7에 연결해도 완벽히 똑같이 인식되고 표현됩니다.
멀티부팅으로 윈도우7, 도스 두개 실제로 돌릴수 있습니다.
먼저 도스로 부팅해서 작업할때는 그부분은 확실히 확장자입니다. 도스개념상 그부분은 확장자라고 불립니다
근데 재부팅해서 윈7로 진입하면 그부분은 갑자기 확장자가 아니게 되는 것일까요?
-
하영 2010.01.15 00:30 정 이해가 안되신다면 저는 적어도 이렇게 주장하고 싶습니다.
윈도우7에서 만든 .xxx 부분을 가지는 폴더는 확장자를 가질수 없는 것이 아니지만 그부분을 확장자라고 부르지 않을지도 모릅니다.
하지만 그걸 그대로 DOS로 들고가면 그것은 윈7에서 인식할때랑 100% 동일한 요소이지만 그것을 확장자라고 부를 수 밖에 없습니다.
결국은 말장난이 되어버립니다.
-
유기농초코 2010.01.15 00:32
개념은 완벽히 같다고 말씀드렸잖아요...
개념상으로 확장자입니다. 그러나 확장자라 부르지 않습니다.
필요성이 없어져서 의미가 축소되어 부르지 않기로 정의되었거든요.
지금에서는 '확장자'라는 말의 의미 자체가 바뀌었기 때문에,
그 당시에 쓰였던 OS를 지금 와서 사용한다고 한들 바뀔 게 없습니다.
지금 우리가 쓰고있는 '확장자'라는 말을 적용해야겠죠.
말을 정의하고 사용하는 것은 컴퓨터가 아닌 사람이니까요.
물론 그 도스는 '확장자'가 옛날의 의미었던 시대에 만들어진 것이므로
만약 그 도스가 표기를 할 경우 폴더명의 .xxx 도 확장자라고 표기할 수 있겠습니다.
그러나 우리는 현대의 확장자 용어로 고쳐 사용해야 합니다.
'~~했습니다' 가 '~~했읍니다' 였던 시절이 있었죠.
그 시대에 만들어진 책을 지금 와서 봐도 여전히 '~~했읍니다' 라고 나와있습니다.
그러나 우리는 '~~했습니다' 라고 보듯이요.
-
하영 2010.01.15 00:35 그러면 8.3 체계만을 사용하는 DOS로 들어가면 aaa.txt라는 폴더는 무엇이라고 해야할까요?
8.3 체계에서 이름에는 .이 절대로 포함될수 없습니다.
그런 상황에서 이름이 aaa.txt이고 확장자가 없다라고 표현해야할까요?
txt가 확장자라고 밖에 말할 수 없습니다. 그렇게 말하지 않으면 이 디렉터리의 이름을 말할 수가 없거든요
-
하영 2010.01.15 00:37 조금 더 깊게 들어가자면 님의 주장은 윈도우95 이후를 벗어나면 그냥 깨지는 논리입니다.
이부분은 인정을 하셔야합니다.
결국은 폴더는 확장자를 가질 수 밖에 없다고요. 확장자를 가지지 않으면 DOS 파일시스템 체계가 무너집니다.
스크린샷