キーワード:パス 解除
天草とは関係ないですが、久しぶりに時間が取れたので記事を書きますw

今回もコンピューター関連の事です。タイトルにあるとおり「パス」です。
ここで説明しようとしているパスはパスワードではなくて経路(path)という意味で
ファイルの場所を指すものです。

では、Windows 7で例えます。
「コンピューター」を開いてみてください。
ハードディスクドライブがあると思います。
HDDではなく、SSDですって?細けぇこたぁいいんだよ!w

Windowsにはドライブレター(ドライブ文字)といって、大抵の場合はCから順番にアルファベットが
D,E,F...とついています。
path003
こんな感じですね。
「ローカルディスク」はボリューム名がつけてあったらそのボリューム名が表示されています。
ここでは(C:)となっているのでCドライブです。
Windowsは基本的にCドライブにインストールされるのでシステムドライブとか言う事もあります。
・・・たぶん。

CD/DVD/BDなんかの光学ドライブにももちろん、ドライブレターが割当てられていますし、
USBフラッシュメモリ等の外部記憶媒体なんかも挿入すると空いているドライブレターが割当てられて
そこからアクセスできるようになります。

では、Cドライブを開いてみましょう。
そうすると、Cドライブの中にはフォルダーやファイルがあると思います。
おそらく間違いなく「Windows」フォルダーがあるでしょう。
その「Windows」フォルダーを開くと更に色々なフォルダーやファイルがあります。
このようにディスクの中は階層構造になっていて、どこの場所かを示すものを「パス」と
言います。

※Windowsフォルダーの中のファイルやフォルダーを下手に触るとWindowsがおかしくなる事がありますので
 よくわからない場合は絶対に触らないようにしてください。(下手すると起動できなくなります)


じゃあパスはどうやって示すでしょうか。
例えば下の画像を見てください。
path004
とあるWindowsのフォルダーですがここに「hosts」というファイルがありますね。

このhostsファイルの場所はどこにあるかわかりますか?
PCにちょっと詳しい人ならhostsの場所は覚えているでしょうけど、それは置いといて・・・
この場合、一番上にアドレスバーというものがあり、そこに場所が書かれています。
↓これですね。
path005

これを見ると、Cドライブの中のWindowsフォルダーの中のSystem32の中のdriversの中の
etcというフォルダーにある、というのがわかります。
これがパス(経路)で、目的の場所(ファイルやフォルダー)への経路を指すものです。

実際ははもっと簡略化された表記になります。
アドレスバーの中の右の空白部分(上の例でいくとetcの右の空白部分)
をクリックすると、↓ような表記に変わります。
path006
「C:」はCドライブということを表しています。
¥マークはフォルダーを表しています。
もうわかりますね、Cドライブの中のWindowsフォルダーの中の・・・といった感じで
「¥」によってフォルダーが区切られて表記されてます。
Unix系のOSでは「¥」ではなく「/」が区切りとして使われます。
(Windowsでも/を区切りとして使える場合もあります)

例えば、amakusaというユーザーのフォルダーはWindows7では
C:\Users\amakusa」となりますが、Linux等では「/home/amakusa」になります。

ではこのパスをコピーします。
これですね→C:\Windows\System32\drivers\etc
環境によっては「¥」マークが「\」になって表示されている場合もあるかもしれませんが
問題ありません。

ではコンピューターを開いてみてください。
すると、アドレスバーはこんな風になってますね。
path007

このアドレスバーにさきほどコピーしたパスを貼り付けます。
↓こんな感じで。「コンピューター」という文字は消して貼り付けてください。
path008

貼り付けたらアドレスバーの右側にある「→」(矢印)を押すか、Enterを押してみてください。

はい、一気にそのフォルダーを開けました。
path004

このように、パスはアドレスバーに直接入力することでその場所を開く事ができます。

これって何かに動きが似ていませんか?
そうです、ブラウザのアドレスバーです。
ブラウザのアドレスバーにはURLを入力するとそのページを表示できますね。
URLはこのような形になっています。(このサイトのURLです)
http://hp.amakusa-web.jp/a1086/MyHp/Pub/Default.aspx

わかりやすいように色分けしています。
赤のhttpはスキームといって、目的のものはHTTPによって取得する、ということを示します。
緑のhp.amakusa-web.jpはホスト名で、とりあえず、どのコンピューターかを示すものと考えてください。
で、青の/a1086/MyHp/Pub/Default.aspxですが、これがパスになります。
この場合「¥」ではなく「/」がディレクトリであることを示します。
(ディレクトリとはフォルダーと同じものだと考えてもらって特に問題はないでしょう)
コンピューター(サーバー)の示すWeb公開用ディレクトリの中にある
「a1086」の中の「MyHp」の中の「Pub」の中の「Default.aspx」というファイルを表示しなさい
と言う事になります。
拡張子が「aspx」なのでおそらくASP.NET等で生成されたHTMLをブラウザに返していると思います。

とりあえず今回はここまでです。

次回もパスの話題を書く場合は(覚えていたらw)「絶対パス」と「相対パス」について
書いていこうと思います。

「絶対パスは」今回使ったような「そこ」を確実に示す場所で、「相対パス」はある場所を基点に
他の場所を指す表記になります。

日にちで例えると「2014年12月24日」という表記が「絶対パス」
「昨日」、「明日」、「来週」という表記が「相対パス」という形になります。
まぁ、これは日付での例えですよw

それでは、また。


とういうか、書きながら気付いたんですが以前にも同じような内容の記事を書いていましたね。
1年も前の事なんで何書いたかなんて覚えてませんでしたw
もう途中まで書いて気付いたんで、気にせず最後まで書きましたw

さて、よく使っているWindowsのフォルダの階層ですがどこまで深く作っていますか?

 

実はこのフォルダ階層は容量が空いてる限りずっと掘り下げられる、

というわけではないようです。

 

Windowsではファイル名の最大長は255文字までとなっているようですが

(実際そんな長いファイル名を作って試した事がないからわからないけど)

フォルダーはどこまで掘り下げられるんでしょう?

ここでは現在Windowsで標準的に使われているNTFSというファイルシステムを前提で

話を進めてみたいと思います。

 

フォルダの中にフォルダを作ると

深くなればなるほど○○の中の○○の・・・と、ファイルの場所を指すための情報が増えます。

エクスプローラー等で見るとわかりやすいですが、上の方に今どこのフォルダを開いているか?

という情報が表示されています。↓を見てください。

path001
この例でいくと、Cドライブの中のProgram Filesの中のJavaというフォルダを開いている事がわかります。

 

さらに、そこのバーの中のJavaと書いてある右の空白部分を押してみましょう。

以下のような文字列が表示されます。

path002
C:\Program Files\Javaと表示が変わりました。

カンのいい人は気付いたと思いますが

「:」を「ドライブの」、「\」を「の中の」に置き換えてみます。

C「ドライブ」「の中の」Program Files「の中の」Java

もうそのまんまですね。

 

こういったフォルダやファイルの場所を指したものを「パス」と言ったりします。

「Pass」ではなく「Path」です。

 

さて、このパスですがフォルダを深く掘り下げると当然長くなって行きます。

そして、このパスの長さには限界があります。

 

どのくらいの長さのパスまで有効なのでしょうか?

エクスプローラ等で扱える最大の長さは多分259文字のようです。

つまり、ファイル名を255文字で作ったらドライブの直下にしか置けなくなります。

C:\長いファイル名のファイル.....(255文字)

だと、「C:\」の3文字+ファイル名の255文字で258文字になります。

これより深くフォルダを作ろうとしてもフォルダ名には最低でも1文字は必要です。

これを作ると259文字になりますが、このフォルダの中のという部分も必要になるため

「\」も追加しないといけません。

すると、259文字をオーバーしてしまいます。

なので直下にしか置けなくなってしまいます。

 

Visual C++という開発環境ではMAX_PATHという定数が定義されていて

この値は260となっています。

(259ではない理由は、C言語では文字列の終端にヌル文字という特殊な値を設定する必要があるため)

このあたりはプログラミングの話題を書く場合にでも書きましょうw

 

なぜMAX_PATHが260なのかはググれば色々と出てきますが、

まずドライブを表す2文字(「C:」など)とルートを表す1文字(\)、

そして拡張子とファイル名を区切るドット「.」の1文字

そしてファイル名の最大長である255文字、

最後にヌル終端の1文字、これらを合計すると260文字になるわけです。

 

エクスプローラなどではMAX_PATHの制限を受けてしまうようですが

Unicode版のWindowsAPIは最大32000文字までのパスが扱えます。

(この辺もプログラミングの話題を書く事があれば書きますw)

 

ただし、多くのアプリケーションではMAX_PATHを使っている場合が多く(わたしもですがw)

あまりにも長いパスだとプログラムがうまく動作しないといった事もありえます。

 

substなんかのコマンドを使うと別のドライブ文字に深い階層のフォルダを割り当てて

パスを短くしてアクセスは可能ですけどねw

まぁそれは対症療法みたいなものなので、259文字を超えるような

長いパスを扱う環境を作らない方が変なトラブルに悩まされずに済むかもしれませんw

[ 1 ]      2件中 1-2件