エンジニアの将来って?

現在7年目のCOBOL→Java→C#エンジニアが、将来への考えや勉強のアウトプット、たまに腎臓について書くブログです

絶対パスと相対パスのちがいを解説します。情報処理試験で出された問題もまとめました!

こんにちは。たいら(@tairaengineer2)です。
この記事では絶対パス相対パスの違いを解説します。
最後の方で実際に情報処理試験の午前問題で出題されたものをまとめました。

f:id:Tairax:20180220210221p:plain

 

絶対パスとは

絶対パス 【 absolute path 】 フルパス / full path / 絶対パス指定 / 絶対パス名
絶対パスとは、記憶装置などでファイルやフォルダの所在を示す文字列(パス)の表記法の一つで、階層構造の頂点(最上位階層)から目的のファイルやフォルダまでの道筋を省略なくすべて記述する方式。

絶対パス(フルパス)とは - IT用語辞典 e-Wordsから引用させて頂きました

図を使って詳しく解説します。
絶対パスとはこれです。

f:id:Tairax:20190403221319p:plain

トップから目的ファイルもしくはディレクトリまでパスのことです。
上の例でいうと、Sample.txtまでの絶対パスは
C:\work\user\Sample.txt
です。
「絶対」とついているので、変わることがありません
どのような場所からでも絶対パスを使うと目的のファイルにたどり着くことができます。
たとえば

f:id:Tairax:20190403223739p:plain

という構造のディレクトリがあったとします。
各ファイルの絶対パスは

ファイル名 絶対パス
tanaka.txt c:/user/tokyo/tanaka.txt
engineer.txt c:/job/engineer.txt
student.txt c:/job/student.txt

という感じです。

相対パスとは

相対パス 【 relative path 】 相対パス指定 / 相対パス名
相対パスとは、ファイルなどの所在を書き表すパス(path)の表記法の一つで、現在位置からの相対的な位置関係を記述する方式。
起点となる位置から目的の位置までの道筋にある要素を順に並べて記述する。

相対パスとは - IT用語辞典 e-Wordsから引用させて頂きました

相対パスは、今自分どの位置にいて、目的のファイルどこにあるのか?を知る必要があります。
複雑なので相対パスについて、2つ例を出して解説します。
先ほど絶対パスで使った図を使います。

相対パスのサンプルその1

今、自分が【engineer.txt】を参照していて、目的のファイルが【tanaka.txt】だとします。

f:id:Tairax:20190404083649p:plain

【engineer.txt】から【tanaka.txt】の道のりを書くと

  1. 【engineer.txt】から1つ階層を上がる
  2. ディレクトリ【job】と同じ階層にあるディレクトリ【user】に行く
  3. ディレクトリ【tokyo】の階層に下がる
  4. ファイル【tanaka.txt】の階層に下がる

f:id:Tairax:20190405083423p:plain

答えを書くと、相対パスは

../user/tokyo/tanaka.txt

と書きます。解説すると

f:id:Tairax:20190406145638p:plain

【../】は、今自分が参照しているディレクトリの1つ上の階層に移動するという意味です。
1つ上の階層に移動すると、ディレクトリ【job】と【user】同じ階層になります。
ディレクトリ【user】に移動して、下に降りてディレクトリ【tokyo】、【tanaka.txt】という様に参照していきます。

相対パスのサンプルその2

今、自分が【student.txt】を参照していて、目的のファイルが【engineer.txt】だとします。

f:id:Tairax:20190406171936p:plain

【student.txt】から【engineer.txt】の道のりを書くと

  1. 同じディレクトリにある【engineer.txt】を参照する

f:id:Tairax:20190406172412p:plain

答えを書くと、相対パスは

./engineer.txt

と書きます。解説すると

f:id:Tairax:20190406172850p:plain

【./】は、今自分が参照しているディレクトリを指し示しているという意味です。
なので、参照している【job】の中にある【engineer.txt】という様に参照していきます。

絶対パスと相対パスの違い

それは

  • 絶対パスは、トップを基点にしていること
  • 相対パスは、今自分がいる位置を基点にしていること

という違いがあります。

パスの種類 パスの例
絶対パス c:/user/tokyo/tanaka.txt
相対パス ../user/tokyo/tanaka.txt

このように同じファイルへのパスなのに、絶対パスと相対パスでは違いが出ます。

情報処理試験で実際に出た問題

絶対パスと相対パスの解説は以上です。
では、実際に情報処理試験で実際に出題された問題を解いてみましょう。

ITパスポート

平成21年春期問57 ファイルシステム|ITパスポート試験ドットコム

平成23年特別問100 相対パス指定|ITパスポート試験ドットコム

平成26年春期問68 ファイルパスの指定|ITパスポート試験ドットコム

基本情報技術者試験

平成21年春期問21 ディレクトリパス|基本情報技術者試験.com

平成26年秋期問19 絶対パス名を説明したものはどれか|基本情報技術者試験.com

まとめ:絶対パスと相対パスは異なるもの

以上が

  • 絶対パスの解説
  • 相対パスの解説
  • 絶対パスと相対パスの違い
  • 情報処理試験で出題された問題

です。あなたの勉強に少しでもお役に立てれば幸いです。
ではでは~(・ω・)ノシ

 

ほかにも勉強記事を書いてます。
よければご参考ください。

私が基本情報処理試験に合格したときの勉強方法をご紹介します!

RFM分析を解説!情報処理試験で出された問題もまとめました!

5フォース分析(5F分析)とは?情報処理試験で出題された問題もまとめました!