FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | シンボリックリンクの取り扱い | 関連項目
SYMLINK(7)              FreeBSD 多方面の情報マニュアル              SYMLINK(7)

名称
     symlink -- シンボリックリンクの取り扱い

シンボリックリンクの取り扱い
     シンボリックリンクは、他のファイルへのポインタとして振る舞うファイルで
     す。それらの振る舞いを理解するためには、最初にハードリンクがどのように動
     作するか理解しなければなりません。ファイルへのハードリンクは、それがオリ
     ジナルのファイル名の基本的なオブジェクトへの参照であるので、オリジナルの
     ファイルと区別できません。ファイルへの変更は、ファイルを参照するために使
     用される名前に依存しません。ハードリンクは、ディレクトリを参照しません
     し、異なるファイルシステムのファイルを参照しません。シンボリックリンク
     は、それがリンクされているファイルの名前を含んでいます、すなわち、それ
     は、基本的なオブジェクトへのポインタではなく、別の名前へのポインタです。
     そういうわけで、シンボリックリンクは、ディレクトリを参照するかもしれない
     し、ファイルシステムをまたがるかもしれません。

     シンボリックリンクとその参照されるオブジェクトがファイルシステムの名前空
     間で共存するので、リンク自体と参照されたオブジェクトを区別で混乱が生じる
     かもしれません。歴史的に、コマンドとシステムコールは、いくらか特別のやり
     方で規約に従うそれら自体のリンクを採用しました。それらがこのシステムで実
     装されるような、より統一されたアプローチのための規則は、ここで解説されま
     す。ユーザインタフェースができるだけ一貫性があるようにできる、これらの規
     則に適合するローカルのアプリケーションも、重要です。

     シンボリックリンクは、リンク自体で動作することによって、またはリンクに
     よって参照されるオブジェクトで動作することによって、扱われます。後者の場
     合に、アプリケーションまたはシステムコールは、リンクを ``たどる'' と言わ
     れます。シンボリックリンクは、他のシンボリックリンクを参照するかもしれま
     せん、その場合に、シンボリックリンクでないオブジェクトが見つかるが、存在
     しないファイルを参照するうシンボリックリンクが見つかるか、または、ループ
     が検出されるまで、リンクは、逆参照されます。(ループの検出は、たどられるリ
     ンクの数の上限を置くことによって行われ、この制限を超過するなら、エラーの
     結果となります。)

     議論される必要のある 3 つの個別の領域があります。それらは、次の通りです:

           1.   システムコールに対してファイル名の引数として使用されるシンボ
                リックリンク。
           2.   ファイルツリーをたどらないユーティリティへのコマンド行の引数と
                して指定されるシンボリックリンク。
           3.   (コマンド行で指定されるか、またはファイル階層を歩き回る一部と
                して遭遇されるいずれか) ファイルツリーをたどるユーティリティに
                よって遭遇されるシンボリックリンク。

   システムコール
     最初の領域は、システムコールのためのファイル名の引数として使用されるシン
     ボリックリンクです。

     下に注意された場合を除き、すべてのシステムコールは、シンボリックリンクを
     たどります。例えば、``afile'' と名前が付けられたファイルを指すシンボリッ
     クリンク ``slink'' があったなら、システムコール ``open("slink" ...)''
     は、ファイル ``afile'' へのファイル記述子を返します。

     リンクをたどらず、シンボリックリンク自体で動作する 13 のシステムコールが
     あります。それらは、次の通りです: lchflags(2), lchmod(2), lchown(2),
     lpathconf(2), lstat(2), lutimes(2), readlink(2), readlinkat(2),
     rename(2), renameat(2), rmdir(2), unlink(2), と unlinkat(2)remove(3)
     は、unlink(2) の別名であるので、それもまたシンボリックリンクをたどりませ
     ん。AT_REMOVEDIR フラグがある rmdir(2) または unlinkat(2) がシンボリック
     リンクに適用されるとき、それは、エラー ENOTDIR で失敗します。

     linkat(2) システムコールは、AT_SYMLINK_FOLLOW フラグを与えられないなら、
     シンボリックリンクをたどりません。

     AT_SYMLINK_NOFOLLOW フラグを与えられないなら、シンボリックリンクをたどり
     ます: chflagsat(2), fchmodat(2), fchownat(2), fstatat(2)utimensat(2)。

     既存のシンボリックリンクの所有者とグループは、lchown(2) システムコールに
     よって変更することができます。既存のシンボリックリンクのフラグ、アクセス
     パーミッション、所有者/グループと更新時刻は、それぞれ lchflags(2),
     lchmod(2), lchown(2)lutimes(2) システムコールを用いて変更することがで
     きます。これらのうち、フラグと所有権だけがシステムによって使用されます。
     アクセスパーミッションは、無視されます。

     4.4BSD システムは、シンボリックリンクをたどるためにシステムコール
     chown(2) が変更された点において、歴史的に 4BSD システムと異なります。
     lchown(2) システムコールは、新しい chown(2) の制限が明らかになったときの
     後に、追加されました。

   ファイルツリーをたどらないコマンド
     2 番目の領域は、ファイルツリーをたどらないコマンドに、コマンド行のファイ
     ル名の引数として指定される、シンボリックリンクです。

     下に注意された場合を除き、コマンドは、コマンド行の引数として指定されたシ
     ンボリックリンクをたどります。例えば、``afile'' と名前が付けられたファイ
     ルを指す、シンボリックリンク ``slink'' があったなら、コマンド ``cat
     slink'' ファイル ``afile'' の内容を表示します。

     この規則がオプションで、ファイルツリーをだどるコマンドを含むことを理解す
     ることは重要です、例えば、コマンド ``chown file'' は、この規則に含まれて
     いますが、コマンド ``chown -R file'' は、そうではありません。(後者は、下
     記の 3 番目の領域に記述されています。)

     シンボリックリンクをたどる代わりに、シンボリックリンクでコマンドが動作す
     ることが、明示的に意図されるなら、例えば、``chown slink'' は、``slink''
     が、シンボリックリンクであるかどうかにかかわらず、-h オプションが使用され
     るべき、ファイルの所有権を変更することを望まれます。上記の例で、``chown
     root slink'' は、``slink'' によって参照されるファイルの所有権を変更します
     が、``chown -h root slink'' は、``slink'' 自体の所有権を変更します。

     この規則の 5 つの例外があります。mv(1)rm(1) コマンドは、引数として指
     定されたシンボリックリンクをたどりませんが、それぞれ、それらの名前を変更
     して、削除することを試みます。(シンボリックリンクが相対的なパスを通して
     ファイルを参照するなら、パスがもはや正確ではないかもしれないので、別の
     ディレクトリにそれを移動させることは、当然動作を停止することに注意してく
     ださい。)

     また、ls(1) コマンドは、この規則の例外です。歴史的なシステムとの互換性の
     ために、(ls がツリーの歩き回りを行っていないとき、すなわち、-R オプション
     が指定されないとき) ls コマンドは、-H または -L オプションが指定されるな
     ら、または -F, -d または -l オプションが指定されないなら、引数として指定
     されたシンボリックリンクをたどります。(ls コマンドは、たとえそれがファイ
     ルツリーの歩き回り行っていなくても、-H-L オプションは、その振る舞いに
     影響するただ一つのコマンドです。)

     また、file(1)stat(1) コマンドは、この規則の例外です。これらのコマンド
     は、デフォルトで引数として指定されたシンボリックリンクをたどりませんが、
     -L オプションが指定されるなら、引数として指定されたシンボリックリンクをた
     どります。

     4.4BSD システムは、chownchgrp コマンドがコマンド行で指定されたシンボ
     リックリンクをたどる点において、歴史的に 4BSD システムと異なります。

   ファイルツリーをたどるコマンド
     次のコマンドは、オプションとして、または常にファイルツリーをたどります:
     chflags(1), chgrp(1), chmod(1), cp(1), du(1), find(1), ls(1), pax(1),
     rm(1), tar(1), chown(8)。

     次の規則がファイルツリーをたどる間に遭遇するシンボリックリンク、とコマン
     ド行の引数としてリストされたシンボリックリンクに等しく適用されることを理
     解することは重要です。

     最初の規則は、タイプディレクトリでないファイルを参照するシンボリックリン
     クに適用されます。シンボリックリンクに適用される操作は、リンク自体で行な
     われますが、そうでなければ、リンクは、無視されます。

     コマンド ``rm -r slink directory'' は、シンボリックリンクが削除されるの
     で、``directory'' のツリーをたどりことで遭遇するあらゆるシンボリックリン
     クと同様に ``slink'' を削除します。どんな場合にも、rm は、どんな方法でも
     ``slink'' が参照するファイルに影響します。

     2 番目の規則は、タイプディレクトリのファイルを参照するシンボリックリンク
     に適用されます。デフォルトでタイプディレクトリのファイルを参照するシンボ
     リックリンクは、決して ``たどり'' ません。これは、(ディレクトリを参照する
     シンボリックリンクが続くところで) ``論理的な'' 歩き回りとは対照的に ``物
     理的な'' 歩き回りとしてしばしば参照されます。

     できるだけ一貫して、(``half-logical'' フラグのために) -H を指定することに
     よって、それらが参照するファイルのタイプにかかわらず、コマンド行で指定さ
     れたあらゆるシンボリックリンクをたどる、コマンドをファイルツリーの歩き回
     りを行うことができます。このフラグは、コマンド行の名前空間を論理的な名前
     空間のように見せることを目的としています。(注、ファイルツリーをたどるとは
     限らないコマンドについて、-R フラグも指定されないなら、-H フラグは、無視
     されます。)

     例えば、コマンド ``chown -HR user slink'' は、``slink'' によって指される
     ファイルをルートとするファイル階層をたどります。注、-H は、以前に議論され
     た -h フラグと同じではありません。-H フラグによって、コマンド行で指定され
     たシンボリックリンクは、行なわれるアクションの目的とツリーの歩き回りの両
     方を逆参照され、あたかもユーザが指されたシンボリックリンクへのファイルの
     名前を指定したかのようです。

     できるだけ一貫して、-L (``論理的な'') フラグを指定することによって、それ
     らが参照するファイルのタイプにかかわらず、たどっている間に遭遇したあらゆ
     るシンボリックリンクと同様にコマンド行で指定されたあらゆるシンボリックリ
     ンクをたどらせるコマンドに、ファイルツリーの歩き回りを行うことができま
     す。このフラグは、すべての名前空間を論理的な名前空間のように見せるように
     することを目的としています。(注、ファイルツリーをたどることを必ずしも行う
     とは限らないコマンドについて、-R フラグも指定されないなら、-L フラグは、
     無視されます。)

     例えば、コマンド ``chown -LR user slink'' は、``slink'' によって参照され
     るファイルの所有者を変更します。``slink'' がディレクトリを参照するなら、
     chown は、それが参照するディレクトリをルートとするファイル階層をたどりま
     す。さらに、あらゆるシンボリックリンクが chown がたどるあらゆるファイルツ
     リーで遭遇するなら、それらは、``slink'' と同じ方法で扱われます。

     できるだけ一貫して、(``物理的な'') -P フラグの指定することによって、デ
     フォルトの振る舞いを指定することができます。このフラグは、すべての名前空
     間を物理的な名前空間のように見せることを目的としています。

     デフォルトで、ファイルツリーをたどることを行わないコマンドについて、-R フ
     ラグもまた指定されないなら、-H, -L-P フラグは、無視されます。さらに、
     二度以上 -H, -L-P オプションを指定できます。最後に指定されたものが、
     コマンドの振る舞いを決定します。これは、どちらにしても振る舞うためのコマ
     ンドを別名として許可することを目的としています、次にコマンド行のその振る
     舞いを上書きします。

     ls(1)rm(1) コマンドには、これらの規則の例外があります。rm コマンド
     は、それが参照するファイルではなくシンボリックリンクで動作し、そのため、
     決してシンボリックリンクをたどりません。rm コマンドは、-H, -L または -P
     オプションをサポートしません。

     歴史的なシステムとの互換性を維持するために、ls コマンドは、少し違って動作
     します。-F, -d または -l オプションを指定しいなら、ls は、コマンド行で指
     定されたシンボリックリンクをたどります。-L フラグが指定されるなら、ls
     は、コマンド行で指定されようと、ツリーの歩き回りで遭遇しようと、それらの
     タイプにかかわらず、シンボリックリンクをすべてたどります。

関連項目
     chflags(1), chgrp(1), chmod(1), cp(1), du(1), find(1), ln(1), ls(1),
     mv(1), pax(1), rm(1), tar(1), lchflags(2), lchmod(2), lchown(2),
     lstat(2), lutimes(2), readlink(2), rename(2), symlink(2), unlink(2),
     fts(3), remove(3), chown(8)

FreeBSD 11.2                   February 16, 2015                  FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索