2つのファイルをダウンロードしましたが、どちらも同じファイル名で保存され、scpを使用して別のコンピューターに転送しました。
2番目が保存されたときに、なぜ1つにならないのですか
多分それらは同じ名前を持っているようにlookだけです.
試してください:
$ 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>
何が起こったのかを明確にします。
この件についての詳細は this other answer も参照してください。