web-dev-qa-db-ja.com

パスのスラッシュとバックスラッシュの違いは何ですか?

重複の可能性:
なぜWindowsはパスにバックスラッシュを使用し、Unixスラッシュを使用するのですか?

リモートとローカルの両方のパスに関して、スラッシュ(/)とバックスラッシュ(\)の主な違いは何ですか?

正しく思い出せば、バックスラッシュはC:\ Windowsや\\ 172.12.1.34などの現在のコンピューターまたはネットワーク内の何かを示すために使用され、フォワードスラッシュは現在のコンピューターまたはネットワークの外部または外部にあるものを示すために使用されます。として http://www.google.com/

これが正確な説明なのか、それとも実際に違いがこれよりも深いのかを知りたいのですが、私が挙げた例は偶然です。

9
Sean

Unixとその変種は、ファイルシステム階層を示すために常にスラッシュ(/)を使用してきました。

ただし、Windowsのファイルシステム区切り文字であるバックスラッシュ(\)は、MS-DOSの前身のものです。そして、MS-DOSはその創始者ではありませんでした。これは、MSが購入してMS-DOSに作り直したQDOSオペレーティングシステム(CP/Mから借用)から引き継がれました。

すべてではないにしても、ほとんどのWebベースのプロトコルはUNIX(HTTP、FTPなど)で作成されているため、Microsoftは互換性を維持するためにこれらの区切り文字に準拠しています。

11
Keltari

それは正確な説明ではありません。パスセパレータは単なる文字、トークンであり、いくぶん恣意的ですが、通常は自然な分離を示すために選択されます。パスセパレータとしての円記号は、CP/M、DOS、およびWindowsの系統に由来します。スラッシュは、Unixおよびおそらくそれ以前の他のシステムからのものです。

標準の開発者のほとんどがUnixに精通しているため、インターネットURLパスセパレータがスラッシュとして選択されました。パス区切り文字としてのUnixスラッシュは通常、正規の区切り文字と見なされます。キーボード上のその位置により、多くの入力が必要なほとんどの人が簡単に入力できるようになります。

Pythonなどのクロスプラットフォームスクリプト言語でさえ、スラッシュを使用するのはパスを指定する「正規化された形式」です。

4
Keith

実装レベルでは、ウィンドウは「/」を「\」と同じ方法で処理します。 '/'を使用します。それはあなたのすべてのアプリケーションをポータブルにします。 MySQLとpythonは、使用するパス区切り文字に応じて、「/」をシステムで必要なものに変換します。

'\'は、正規表現や一部の端末やプログラミング言語などの他の領域でエスケープ文字として使用されます。これにより、それに続く次の文字が、行末の\ n\rなどのリテラル文字として解釈されます。

実際には真実ではない内部または外部システムに関する表記に関する限り。 '/'は* nixシステムの初期にはより人気がありました。その後、Microsoftが人気を博し、今では「\」が人々の期待に応えています。ただし、前述のように、Microsoftはposix(オペレーティングシステムの動作に関する標準)に準拠している必要があります。つまり、ほとんどの場所ですべての「\」を「/」に置き換えることができ、すべての問題は問題なく機能します。

2
nelaaro

ほとんどの場合、これは単なる慣例です。

Windowsは「\」を好むようですが、LinuxとUnixは「/」を好むようです

Wikipedia で、さまざまなシステムで使用されるパスとさまざまな表記法について詳しく読むことができます。

0
MaQleod