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

Back to archive index

長南洋一 cyoic****@maple*****
2010年 12月 9日 (木) 18:56:16 JST


長南です。

質問を続けます。

・ -O オプションの最後の部分
     The findutils test suite runs all the tests on find at each
     optimisation level and ensures that the result is the same.

     なお、findutils のソースに付属する一連のテストプログラムは、
     findに対して各最適化レベルですべてのテスト式を実行して、
     結果が必ず同じになるようにしている。

   かなりインチキな訳です。ensure がうまく訳せないということも
   あるのですが (ensure に「確認する」という意味がないようなので)、
   テストプログラムが実際に何をやっているかがわからないせいでも
   あります。テストプログラム (the findutils test suite) というのは、
   findutils のソースの findutils-4.4.2/tests に含まれるプログラム
   群のことだと思います。

     なお、findutils では、ソースに付属するテストプログラムを
     使用し、find に対して各最適化レベルですべてのテスト式を
     実行して、結果が必ず同じになるようにしている。(あるいは、
     「結果が同じになることを確保している」)

   というのも考えました。

   # なお、この部分が「テスト式」と「式」を付けた理由の一つでも
   # あります。やっぱり「判別式」を使うべきなのかもしれません。
   # もうちょっとぴったりの訳語がないかなと思うのですが。

・ -mindepth levels
     Do not apply any tests or actions at levels less than levels
     (a non-negative integer).  -mindepth  1  means  process  all
     files except the command line arguments.

     コマンドライン引数として指定したパスからディレクトリを
     降りること levels 未満のディレクトリは、テスト式やアクション式の
     対象にしない (levels は非負の整数)。-mindepth 1 を指定すると、
     コマンドラインの引数を除くすべてファイルを処理する。

   ぎくしゃくした表現なので、こんなふうにしようかと思っています。
   それでもまだ、わかりにくいかもしれませんが。

     コマンドライン引き数として指定したパスから少なくとも levels 段階
     ディレクトリを下降するまで、どんなテストやアクションも行わない
     (levels は非負の整数)。

・ -executable
     Matches files which are executable and directories which
     are searchable (in a file name resolution sense). This takes
     into account access control lists and other permissions
     artefacts which the -perm test ignores. 

     実行可能なファイルや (ファイル名解決の際に) 検索可能なディレ
     クトリにマッチする。テスト式 -perm が ACL (アクセス・コント
     ロール・リスト) などのパーミッション制御の仕組みを無視するのに
     対して、このテスト式は ACL なども考慮に入れる。

   「(ファイル名解決の際に)」で通じますか。
   ACL 云々の文も内容的に正しいか、自信がありません。

・ -fstype type
     ... The valid filesystem types vary among different versions of
     Unix; an incomplete  list of filesystem types that are accepted
     on some version of Unix or another is: ufs, 4.2, 4.3, nfs, tmp,
     mfs, S51K, S52K. ...

     使用できるファイルシステムは、Unix の系統によって様々である。
     Unix の系統次第では指定可能なファイルシステムを不完全ながら
     挙げると、ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K などがある。

   これも内容的に正しいでしょうか。

・ -execdir command ; と -execdir command {} +
     ... This a much more secure method for invoking commands, 
     as it avoids race conditions  during  resolution of 
     the paths to the matched files. ...

     これはコマンドを呼び出す方法としてずっと安全である。
     マッチしたファイルのパスを解決する際に起きる競合状態を
     避けられるからだ。

   よくわからないまま訳しています。「競合状態」でよいでしょうか。
   なお、This a much more secure と is が抜けているのは、原文の
   ままです。

・ -ok command と -okdir command
     If the command is run, its standard input is redirected
     from /dev/null.

     コマンドを実行する際、そのコマンドの標準入力は、/dev/null に
     付け換えられる。

   「is redirected from /dev/null」というのは、こういうことですか。
    つまり、標準入力が無効になる?

・ -printf format の書式指定子 %S
      %S   File's sparseness. This is calculated as 
           (BLOCK‐SIZE*st_blocks  / st_size). The exact value
           you will get for an ordinary file of a certain length is
           system-dependent. However, normally  sparse files will
           have values less than 1.0, and files which use indirect
           blocks may have a value which is greater than 1.0. 
           The value used for BLOCKSIZE is system-dependent,  
           but is usually 512 bytes. If the file size is zero, 
           the value printed is undefined.  On systems which lack
           support for st_blocks, a file's sparseness is assumed
           to be 1.0.

      %S   ファイルの穴空き率 (sparseness)。この値は 、(BLOCK‐
           SIZE*st_blocks  / st_size) で計算される。ある程度の大きさ
           の通常ファイルから得られる値は、厳密に言うと、システム
           依存である。それでも、穴空きファイルの穴空き率は、
           普通 1.0 未満になるし、間接ブロックを使用しているファイルの
           穴空き率は、1.0 以上になることがある。 BLOCKSIZE に使われる
           値は、システム次第だが、普通は 512 バイトである。ファイル
           サイズが 0 の場合、出力される値は不定である。st_blocks を
           サポートしていないシステムでは、ファイルの穴空き率は、1.0
           と見なされる。

   訳文は内容的に見てどうでしょう。「穴空きファイル」とか「間接
   ブロック」とか、一応調べて見ましたが、よくわかっていません。
   「間接ブロック」というのは inode の「間接参照」のことでしょうか。

   それから、「穴空き率」という言葉は適当かどうか。また、
   著者はディレクトリやリンクに対する通常ファイルを regular file と
   ほかのところで言っていますから、ordinary file は穴空きファイル
   などではない普通のファイルのことかもしれません。だとしたら、
   「ある一定の大きさの普通のファイルから得られる値は、厳密に
   言うとシステム依存である」でしょうか。「厳密に言うと」も、
   続き方がおかしいかもしれません。「普通のファイルから得られる
   正確な値は」でもよいのですが、ちょっと主語が長すぎる気がしますし。

・ -quit
     Exit immediately. No child processes will be left running, 
     but no more paths specified on the command line will be 
     processed. For example, find /tmp/foo /tmp/bar -print -quit
     will print only /tmp/foo. Any command lines which have been
     built up with -execdir ... {} + will be invoked before find
     exits. 

     直ちに終了する。動いている子プロセスを残したまま終了したりは
     しないが、コマンドラインで指定したパスをこれ以上処理すること
     はない。たとえば、find /tmp/foo /tmp/bar -print -quit は、
     /tmp/foo を表示するだけである。-execdir ... {} + によって
     すでに作成されたコマンドラインがあれば、find が終了する前に、
     呼び出して実行する。

   「No child prosesses ...」は、こんな解釈でよいのでしょうか。

・ 「環境変数」の LANG
     LANG   Provides a default value for the internationalization
            variables that are unset or null.

     LANG   国際化関係の環境変数のうち、値が設定されていなかったり、
            null だったりする変数に対して、LANG の値がデフォルトの
            値になる。

   「internationalization variables」は「国際化関係の環境変数」で
    よいでしょうか。訳文は内容的にはどうでしょう。

・ 「用例」
   「find . -name .snapshot -prune -o \( \! -name *~ -print0 \)」
    にこういう部分があります。

      However, the -prune action itself returns true, so the
      following -o ensures that the right hand side is evaluated
      only for those directories which didn't get pruned
      (the contents of the pruned directories are not even visited, 
      so their contents are irrelevant).

    このカッコの中にある their contents are irrelevant がうまく
    訳せません。誤読しているのかもしれません。一応こんなふうに
    しましたが。

     (探索の対象から取り除かれたディレクトリの中身は処理の対象
     にすらならないので、そうしたものはもう関係がない) 

・ 同じく「用例」の最後の例
     Given the following directory of projects and their associated
     SCM administrative directories, perform an efficient  search
     for the projects' roots:

     以下のようなプロジェクトのディレクトリとそれに関連する
     SCM (訳注: ソースコード管理システム) の管理用ディレクトリが
     ある場合に、プロジェクトのルートを効率的に検索する。

   「プロジェクトのルート」という言い方は熟した用語ですか。

・ ついでに。
   man -l find.draft で訳文を表示させると、「履歴」の表で
   -okdir と -samefile の間に空行が入ってしまいます (印刷した
   場合は問題ありません)。どうしてなんでしょうか。

訳文に手を入れているうちに質問がまだ出てきそうですが、取り合えず
このぐらい。

-- 
長南洋一




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