[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
realpath
: ファイル名を展開して表示するrealpath
は、すべてのシンボリックリンクを展開し、
‘/./’ や ‘/../’ に対する参照を解決する。
さらに、余分な ‘/’ 文字の削除も行う。デフォルトでは、
指定したファイル名のうち、最後の要素以外のすべての要素が実在していなければならない。
書式:
realpath [option]… file… |
このプログラムでは以下のオプションが使用できる。参照: 共通オプション.
指定されたファイル名中のすべての構成要素が実在することを確認する。
存在しなかったり、利用できなかったりする要素があると、‘-q’
オプションが指定されていないかぎり、realpath
はエラーメッセージを出し、0 以外の終了コードで終了する。
ファイル名の末尾にスラッシュを付けると、その名前はディレクトリであるという指定になる。
指定されたファイル名中に存在しなかったり、使用できなかったりする構成要素があれば、 それをディレクトリとして処理する。
指定されたファイル名中にあるシンボリックリンクの展開を行うが、 シンボリックリンクに ‘..’ という要素が後続している場合は、 シンボリックリンクを展開するより前に、そちらを先に処理する。 (訳注: 例を挙げた方が、わかりやすいだろう。‘symlink-directory/../..’ といったファイル名が与えられた場合、symlink-directory というシンボリックリンクそのものの親ディレクトリの親ディレクトリに展開するということ。 次項の注と比較していただきたい。)
指定されたファイル名中にあるシンボリックリンの展開を行う際、 シンボリックリンクに ‘..’ という要素が後続している場合も、 シンボリックリンクを展開してから、‘..’ の処理を行う。 こちらがデフォルトの動作モードである。(訳注: すなわち、 ‘symlink-directory/../..’ といったファイル名が与えられた場合、 シンボリックリンクの参照先の親ディレクトリの親ディレクトリに展開する。)
指定されたファイル名についてエラーメッセージを出力しない。
オプション引数に指定したファイルを基点とする相対パスとして、 ファイル名を展開する。このオプションは、ファイルの存在に関して ‘-m’ や ‘-e’ オプションを認識することに注意していただきたい。
このオプションは ‘--relative-to’ と一緒に使うこともでき、 その場合は、操作対象の file が base 以下のディレクトリに存在するときにのみ、 相対パス名を表示するように、‘--relative-to’ の出力に制限を課す。 file が base 以下のディレクトリに存在しないときは、 出力は絶対パスのファイル名になる。‘--relative-to’ を指定しなかった場合、 base 以下のディレクトリに存在するファイルは、base を基点とする相対パスで表示される。‘--relative-to’ も指定するなら、 そのディレクトリは base の下位ディレクトリでなければならず、 さもないと、このオプションは効果を持たない。このオプションは、ファイルの存在に関して ‘-m’ や ‘-e’ オプションを認識することに注意していただきたい。 例を挙げよう。
realpath --relative-to=/usr /tmp /usr/bin ⇒ ../tmp ⇒ bin realpath --relative-base=/usr /tmp /usr/bin ⇒ /tmp ⇒ bin |
シンボリックリンクの展開を行わない。すなわち、‘/./’ や ‘/../’
の参照の解決と、余分な ‘/’ 文字の削除だけを行う。
‘-m’ オプションと組み合わせた場合、realpath
は与えられたファイル名に対して操作を行うだけであり、
その各要素が存在しているかどうか、実在のファイルに当たってみることはない。
各行の末尾に改行ではなく、ゼロバイト (ASCII NUL) を出力する。このオプションを使用すると、出力するデータの途中に改行が現れる場合でも、 他のプログラムがその出力を解析できるようになる。
終了ステータス:
0: すべてのファイル名が問題なく表示できた場合。 1: それ以外。 |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on June 7, 2022 using texi2html 1.82.