[JM:00052] Re: [POST:DP] GNU_findutils find.1

Back to archive index

K.Shirakata argra****@ub32*****
2010年 11月 28日 (日) 21:14:45 JST


 白方です。詳しいわけではないですが…。

(2010/11/28 11:00), 長南洋一 wrote:

> an ancester というのは、この部分の直前にあるパラグラフを見ても
> (Posix からの引用らしいところ)、「親ディレクトリ」とは
> かぎらない「上位ディレクトリ」と考えてよさそうだと思います。
> それがすでに間違いだったら、指摘してください。

 これはその通りだと思います。


> わたしは、「The link count of directories which contain entries
> which are hard links to an ancestor will often be lower than they
> otherwise should be.」を、言葉の上には上記のように解するよりない
> と思ったのですが、そもそも Unix ではディレクトリへのハードリンクは
> 作れないのではないでしょうか。Google で調べると、Solaris なら
> 作れないことはないという情報がありました。マニュアルの著者は
> Solaris のことまで考えに入れて、このくだりを書いたのでしょうか
> (それはありえると思います)。だとしても、読者を混乱させる書き方だ
> とは思いますが。

 POSIX でわざわざループ検出の規定があると言うことは、
 「UNIX ではディレクトリへのハードリンクは作れない」と決まって
 いるわけではないんだろうと思います。
 実際 Solaris なら作れるようですし。


>> Although this behaviour may be somewhat confusing, it is
>> unlikely that anybody actually depends on this behaviour.
> この部分の後半も、具体的に何を言っているのかわかりません。

  POSIX 的には、「ループを検出したら警告を出力しろ」となってる
  けれども、GNU find は最適化によってループをつくるハードリンクを
  辿らない(そして警告を出力しない)ことがある。

 ということなので、「GNU findを使って、警告が出るかどうかで
 ループがあるかどうかを知ろうとする人なんていないでしょ」って
 ことだと思います。

>> Symbolic links cannot be used to create filesystem cycles as such,
> これもわかりません。ハードリンクだとファイルシステムの循環に
> なり、シンボリックリンクだとそうならない、というのがピンと
> 来ないのです。

 シンボリックリンクはファイルシステムから見ると「特殊な属性のついた
 ただのファイル」なので、ファイルシステム的に循環が
 発生しているわけではない、ということだと思います。




linuxjm-discuss メーリングリストの案内
Back to archive index