내 폴더 중 하나에있는 두 파일의 이름이 어떻게 동일합니까? 저장 한 다음 scp를 사용하여 다른 컴퓨터로

두 파일을 다운로드했는데 둘 다 동일한 파일 이름으로 저장 한 다음 scp를 사용하여 다른 컴퓨터로 전송했습니다.

왜 두 번째가 구원받을 때 하나가되지 않았습니까?



답변

아마도 그들은 같은 이름을 가진 것처럼 보일 것입니다.

시험:

$ touch Stéphane Stéphane Stéphane\  St​éphane
$ ls -1
Stéphane
Stéphane
St​éphane
Stéphane

그들은 거의 동일하게 보입니다.

$ ls -1b
Stéphane
Stéphane
St​éphane
Stéphane\

약간 더 나은. 공백 문자는 \ (모든 ls구현이 그런 것은 아니지만 ) 플래그가 지정됩니다 .

$ LC_ALL=C ls -1b
Ste\314\201phane
St\303\251phane
St\303\251phane\
St\342\200\213\303\251phane

이제 우리는 이야기하고 있습니다 (ASCII가 아닌 모든 문자는 바이트 구성 요소의 8 진수 값으로 렌더링됩니다)

당신은 또한 할 수 있고 그것은 모든 입력에서 작동합니다 :

$ ls | LC_ALL=C sed -n l
Ste\314\201phane$
St\303\251phane$
St\342\200\213\303\251phane$
St\303\251phane $

여기에 선의 끝이 표시되어 $후행 공간을 쉽게 찾을 수 있습니다. 그러나 그것은라는 파일을 발견하는 데 도움이되지 않습니다Stéphane<newline>Stéphane

$ ls | perl -Mopen=locale -MUnicode::UCD=charinfo -lpe '
       s/[^\41-\177]/"<".charinfo(ord$&)->{name}.">"/ge'
Ste<COMBINING ACUTE ACCENT>phane
St<LATIN SMALL LETTER E WITH ACUTE>phane
St<ZERO WIDTH SPACE><LATIN SMALL LETTER E WITH ACUTE>phane
St<LATIN SMALL LETTER E WITH ACUTE>phane<SPACE>

무슨 일이 있었는지 더 명확하게 만듭니다.

주제에 대한 자세한 내용은 이 다른 답변 을 참조하십시오 .