人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

LinuxやMacOSXなどではディレクトリやファイル名にコロンが使用できますが、
環境変数PATHなどのパス区切り文字もコロンとなっています。このため、コロンを
含んだパスは様々な場面で問題が発生するかと思われますが、Windowsのように
パスに使用できない文字(セミコロンなど)がパス区切り文字となっていない理由、
あるいはディレクトリやファイル名にコロンが使用できてしまうことについて歴史的な
経緯などはあるのでしょうか。

●質問者: castor
●カテゴリ:コンピュータ
✍キーワード:Linux MacOSX Windows コロン セミコロン
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● KUROX
●26ポイント

>Windowsのように

>パスに使用できない文字(セミコロンなど)

XPで今試してみたら、

ファイル名にも、フォルダ名にも使えますが(^^;

私の勘違い(全角半角とか)でない限り。


質問の意図が分からないのですが、

Windiwsはドライブレターの文字としてC:\

として:を使うからだと。

◎質問者からの返答

わ、Linuxばかり気にしていたのでWindowsのほうは勘違いしてました(>_<)

ということは、どちらの環境でもパス区切り文字に「ディレクトリ名などに含まれる

可能性のある文字」が使われているってことなんですね。

質問の意図は、そういう不都合が発生しそうな文字をパス区切り文字にするのは

おかしいのでは、ということでした。ありがとうございましたー。

そういうものだと言われればそうなのかもしれませんが、なんとなく気持ち悪いので

理由があるのかもと思ってみました。WindowsとかLinuxとか関係なしに、もう少しだけ

何かご存知の方情報お待ちしております。


2 ● しおり
●25ポイント ベストアンサー

Unix では、パス区切り文字である '/' とC言語で文字列の終端を示す '\0' 以外はファイル名に使用できるので、環境変数 PATH の区切り文字として問題無い文字というのは、そもそも存在しないと思います。

◎質問者からの返答

ぎゃー、試してみたら「|」とか「>」とか「*」なんかまで、やろうと

思えばファイル名に付けられるんですね。知りませんでした…orz

というか、さすがに百害あって一利なしだと思うのですが、誰も途中で

止めなかったんでしょうか。互換性とかそういう問題ではないような気が

するんですが。。。

勉強になりましたです。ありがとうございましたっ。


3 ● hiramatsu_kg
●12ポイント

dosはfatになって使える文字が増えたんですね。

◎質問者からの返答

Wikipediaの「ファイルシステム」の項を読む限りでは、ファイルシステムのレベルでは

使用できない文字というのは殆ど無いようでした。OSレベルで制限をかけているのも、

そもそもDOSやWindowsなどの一部のOSだけみたいですね。


4 ● minkpa
●12ポイント

使用出来るというより、使用出来ないようにするのが面倒だったというところでしょう。

◎質問者からの返答

そうですね。

Windowsの場合は互換性を考慮しなければセミコロンを禁止することは

まだできそうですが、Linux/UNIX系の場合は面倒というよりも、OS依存の

コードが介在する余地のない(g)libcのfopenとかを直接呼んでいるような

実装が長年続いてしまったので、もうどうしようもないという状況なの

かなー、という気もしてきました。

シェルレベルで制限しても実用上は充分効果があると思うのですが、実際

それほど致命的というわけでもないので、なかなかそういう流れにはならない

のでしょうね。


5 ● しおり
●25ポイント

環境変数 PATH や、'|', '>', '*' 等の特殊文字は、OS(カーネル) レベルのものではなくシェルレベルのものですよね。

ですから、環境変数 PATH や '|', '>', '*' 等の特殊文字を使わないシェルがあっても良いわけで、そういうシェルではファイル名に ':', '|', '>', '*' 等が(エスケープしないで)使えないと、逆に「なぜ?」という話になると思います。


参考:

◎質問者からの返答

ありがとうございます。なるほど仰るとおりですね。

OSレベルで制限するのが不適切というのは納得なのですが、であればなおさらシェル

レベルでは(少なくともそのシェル上で特殊文字とされる文字はディレクトリ名などに

使えないという程度は)制限して然るべきだと思いました。

しかし、実際にディレクトリ名に特殊文字を使っている人なんて殆どいないかもなので

意味があるのかと言われると微妙なのですが…。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ