カレントディレクトリ カレントディレクトリの概要

カレントディレクトリ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/04/27 19:12 UTC 版)

概要

階層構造のファイルシステムにおける個々のディレクトリやファイルは、パス(path)という文字列で識別されている。

ファイルやディレクトリのパス指定方法には「絶対パス」と「相対パス」がある。絶対パスは、先頭をルートディレクトリUnix系の場合は"/"、DOS/Windowsの場合はドライブレターを含む"C:\"など)で始め、パスの文字列を完全に指定する方式であり、フルパスとも呼ばれる。相対パスは単なるファイル名"sample.txt"や、"notes/sample.txt"または"../sample.txt"のようにルートからのフルパスではない方式のパス文字列のことである。ソフトウェアのプロセスopenシステムコールや標準Cライブラリfopen()関数などによってあるファイルを参照しようとするとき、指定パス文字列が相対パス形式であった場合、そのパスはカレントディレクトリから始まる相対的なものと解釈される。つまりカレントディレクトリは、相対パスでファイルやディレクトリを指定する場合の基準位置となる[1]。一般的にカレントディレクトリはプロセスごとに設定され、プロセス内の全スレッドで共有される[2][3][4]。あるプロセスが別のプロセスから起動されるとき、子プロセスは既定で親プロセスのカレントディレクトリを継承する[5]

たとえばLinuxコマンドラインシェルにおいて、カレントディレクトリが「/home/JohnSmith」の状態で、相対パスを使って「touch sample.txt」というコマンドを実行すると、"/home/JohnSmith/sample.txt"のタイムスタンプを変更する(該当ファイルが存在しなければ新規作成する)。これは、絶対パスを使って「touch /home/JohnSmith/sample.txt」というコマンドを実行することに相当する。

MS-DOSMicrosoft Windowsの場合、カレントディレクトリの他にカレントドライブの概念もある[6]。また、Windowsのショートカットファイル(.lnk)では「作業フォルダー」という設定項目があるが、ショートカットを使ってアプリを起動したときのカレントディレクトリをこれにより設定することができる。なお、英語版Windowsでの設定項目名は「Start in」である。

ダイナミックリンクライブラリ(DLL)の探索候補ディレクトリには、通例カレントディレクトリも含まれるが、カレントディレクトリの探索優先順位が高い場合、悪意のあるDLLインジェクションによるセキュリティホール(脆弱性)となってしまいやすい[7]Microsoft Windows XP SP2以降では、カレントディレクトリの優先順位を下げる安全なDLL探索モードが既定で有効になっている[8][9]

関連コマンド

コマンドの詳細な仕様はオペレーティングシステム (OS) などによって異なる。個別に説明する。

POSIX

UNIXLinuxシェルの場合。

  • カレントディレクトリの変更
cd - 引数で相対パスまたは絶対パスを指定することで変更が可能。
  • カレントディレクトリのフルパス表示
pwd

「cd」は1980年代など[要出典]ではPOSIXで規定されたchdirのほうが大元で、その略記法が「cd」という位置づけだったが、現在[いつ?]ではもっぱら「cd」が使われる状態になっている。Ubuntuではすでにchdirは廃止されている。

DOS/Windows

MS-DOS/COMMAND.COM/cmd.exe
  • カレントディレクトリの変更
cd <PathString>あるいはchdir <PathString>引数でパスを与える)
  • カレントディレクトリのフルパス表示
cdあるいはchdir(引数なし)
もともと入力待ちの状態(コマンドプロンプトの状態)でカレントディレクトリのフルパスが表示される仕様になっているので、通常は引数なしコマンドを使う必要はないが、エコーを返すのでリダイレクトに使うこともできる。

Windowsでは、chdirはまだ残されているものの、cdで代替されている[10]

通常のcdコマンドでは、ドライブをまたいだディレクトリの移動はできない。カレントドライブをCドライブからDドライブに変更する場合は、まずD:のようにコマンドなしでドライブ名と区切り文字コロンのみを入力し、ドライブのルートに移動する必要がある。あるいは、cd /d D:\Photosのようにcdコマンドに/dオプションを付けることでドライブをまたいだ移動ができる[11][12]

Windows PowerShell/PowerShell[13]
  • カレントディレクトリの変更
Set-Location -Path <PathString>あるいはcd <PathString>
  • カレントディレクトリのフルパス表示
Get-Locationあるいはpwd

cmd.exeのように、カレントディレクトリの変更にはcdchdirを使うこともできるが、引数を指定しなかった場合はエコーを返さない。代わりにpwdGet-Locationコマンドレットのエイリアスとして用意されている。

Windows Terminal[要説明]



「カレントディレクトリ」の続きの解説一覧



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「カレントディレクトリ」の関連用語






6
74% |||||





カレントディレクトリのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



カレントディレクトリのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのカレントディレクトリ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS