<?xml version="1.0" encoding="UTF-8"?>
<refentry id="ad.1">
  <refmeta>
    <refentrytitle>ad</refentrytitle>

    <manvolnum>1</manvolnum>

    <refmiscinfo class="date">5 Oct 2024</refmiscinfo>

    <refmiscinfo class="source">Netatalk</refmiscinfo>

    <refmiscinfo class="manual">Netatalk AFP ファイルサーバーのマニュアル</refmiscinfo>

    <refmiscinfo class="version">@netatalk_version@</refmiscinfo>
  </refmeta>

  <refnamediv>
    <refname>ad</refname>

    <refpurpose>AppleDouble ファイルユーティリティ 一式</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <cmdsynopsis>
      <command>ad</command>

      <group>
        <arg choice="plain">ls</arg>
        <arg choice="plain">cp</arg>
        <arg choice="plain">mv</arg>
        <arg choice="plain">rm</arg>
        <arg choice="plain">set</arg>
      </group>

      <arg><replaceable>...</replaceable></arg>
    </cmdsynopsis>

    <cmdsynopsis>
      <command>ad</command>

      <group>
        <arg choice="plain">-v</arg>
        <arg choice="plain">--version</arg>
      </group>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title>説明</title>

    <para><command>ad</command>は、Netatalk 互換の AppleDouble
    ファイルユーティリティ一式である。Netatalk 共有ボリューム内の AppleDouble データ
    (ファイルの拡張属性や、同じディレクトリ内の._fileや、<filename>.AppleDouble</filename>ディレクトリ内のファイル)
    とCNIDデータベースを適切に更新する。</para>
  </refsect1>

  <refsect1>
    <title>有効なコマンド</title>

    <cmdsynopsis>
      <command>ad ls</command>

      <arg>-dRl<arg>u</arg></arg>

      <arg choice="req">file|dir <arg>...</arg></arg>
    </cmdsynopsis>

    <para>ファイルやディレクトリをリストする。</para>

    <cmdsynopsis>
      <command>ad cp</command>

      <arg choice="opt">-aipvf</arg>

      <arg choice="req">src_file</arg>

      <arg choice="req">dst_file</arg>
    </cmdsynopsis>

    <cmdsynopsis>
      <command>ad cp -R</command>

      <arg choice="opt">-aipvf</arg>

      <arg choice="req">src_file|src_directory ...</arg>

      <arg choice="req">dst_directory</arg>
    </cmdsynopsis>

    <para>ファイルやディレクトリをコピーする。</para>

    <cmdsynopsis>
      <command>ad mv</command>

      <arg choice="opt">-finv</arg>

      <arg choice="req">src_file</arg>

      <arg choice="req">dst_file</arg>
    </cmdsynopsis>

    <cmdsynopsis>
      <command>ad mv</command>

      <arg choice="opt">-finv</arg>

      <arg choice="req">src_file|src_directory ...</arg>

      <arg choice="req">dst_directory</arg>
    </cmdsynopsis>

    <para>ファイルやディレクトリを移動する。</para>

    <cmdsynopsis>
      <command>ad rm</command>

      <arg choice="opt">-Rv</arg>

      <arg choice="req">file|directory</arg>
    </cmdsynopsis>

    <para>ファイルやディレクトリを削除する。</para>

    <cmdsynopsis>
      <command>ad set</command>

      <arg choice="opt">-t <replaceable>type</replaceable></arg>

      <arg choice="opt">-c <replaceable>creator</replaceable></arg>

      <arg choice="opt">-l <replaceable>label</replaceable></arg>

      <arg choice="opt">-f <replaceable>flags</replaceable></arg>

      <arg choice="opt">-a <replaceable>attributes</replaceable></arg>

      <arg choice="req">file</arg>
    </cmdsynopsis>

    <para>ファイルにメタデータを設定する。</para>

    <cmdsynopsis>
      <command>ad -v|--version</command>
    </cmdsynopsis>

    <para>バージョンを表示する。</para>
  </refsect1>

  <refsect1>
    <title>ad ls</title>

    <para>ファイルやディレクトリをリストする。 オプション:</para>

    <variablelist>
      <varlistentry>
        <term>-d</term>

        <listitem>
          <para>ディレクトリを単純なファイルとしてリストする</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-R</term>

        <listitem>
          <para>サブディレクトリを再帰的にリストする</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-l</term>

        <listitem>
          <para>長い出力。AFP infoをリストする</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-u</term>

        <listitem>
          <para>UNIX infoをリストする</para>
        </listitem>
      </varlistentry>
    </variablelist>

    <para><emphasis>長い出力の説明</emphasis></para>

    <programlisting>&lt;unixinfo&gt; &lt;FinderFlags&gt; &lt;AFP Attributes&gt; &lt;Color&gt; &lt;Type&gt; &lt;Creator&gt; &lt;CNID from AppleDouble&gt; &lt;name&gt;

FinderFlags (valid for (f)iles and/or (d)irectories):

  d = On Desktop                      (f/d)
  e = Hidden extension                (f/d)
  m = Shared (can run multiple times) (f)
  n = No INIT resources               (f)
  i = Inited                          (f/d)
  c = Custom icon                     (f/d)
  t = Stationery                      (f)
  s = Name locked                     (f/d)
  b = Bundle                          (f/d)
  v = Invisible                       (f/d)
  a = Alias file                      (f/d)

AFP Attributes:

  y = System                          (f/d)
  w = No write                        (f)
  p = Needs backup                    (f/d)
  r = No rename                       (f/d)
  l = No delete                       (f/d)
  o = No copy                         (f)

Note: any letter appearing in uppercase means the flag is set but it's a directory for which the flag is not allowed.</programlisting>
  </refsect1>

  <refsect1>
    <title>ad cp</title>

    <para>ファイルやディレクトリをコピーする。</para>

    <para>上の概要で示した一番目の形式では、cpユーティリティはsrc_fileの内容をdst_fileへコピーする。二番目の形式では、それぞれの名前のsrc_fileの内容は配布先のdst_directoryにコピーされる。ファイル自身の名前は変更されない。ファイルを自分自身へコピーしようとしているのをcpが検出したら、コピーは失敗する。</para>

    <para>AFPボリュームへのコピーであると検出された場合、CNIDデータベースデーモンに接続し、全てのコピーはCNIDデータベースの手続きを踏む。ターゲットがAFPボリュームの場合はAppleDoubleデータもまたコピーされ、必要なら作成される。</para>

    <para>オプション:</para>

    <variablelist>
      <varlistentry>
        <term>-a</term>

        <listitem>
          <para>アーカイブモード。-Rpと同じ。</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-f</term>

        <listitem>
          <para>それぞれの配布先パス名が既に存在している場合、それを削除してから新しいファイルを作成する。パーミッションに関わらず確認プロンプトを出さない。(-fオプションは手前の-iオプションと-nオプションを無効にする。)</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-i</term>

        <listitem>
          <para>存在するファイルに上書きする前に、標準エラー出力にプロンプトを出す。もし標準入力からの返答が'y'または'Y'で始まるならばファイルコピーを試みる。(-iオプションは手前の-fオプションと-nオプションを無効にする。)</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-n</term>

        <listitem>
          <para>存在するファイルを上書きしない。 (-nオプションは手前の-fオプションと-iオプションを無効にする。)</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-p</term>

        <listitem>
          <para>以下に示すそれぞれのコピー元ファイルの属性を、パーミッションが許す限り維持する:
          変更時刻、アクセス時刻、ファイルフラグ、ファイルモード、ユーザIDグループID。ユーザIDとグループIDが維持されない場合、エラーメッセージは表示されず、終了コードは変更されない。</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-R</term>

        <listitem>
          <para>もしsrc_fileでディレクトリを指定した場合、cpはそのディレクトリと全体のサブツリーをコピーする。もしsrc_fileが「/」で終わっている場合、ディレクトリ自身ではなく中身をコピーする。</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-v</term>

        <listitem>
          <para>コピーしたファイルを詳細に表示する。</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-x</term>

        <listitem>
          <para>ファイルシステムのマウントポイントを横断しない。</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1>
    <title>ad mv</title>

    <para>ファイルやディレクトリを移動する。</para>

    <para>AFPボリューム内のファイルを移動し、必要に応じてCNIDデータベースを更新する。以下のどちらかの場合はファイルをコピーしてからコピー元を削除する。<itemizedlist>
        <listitem>
          <para>移動元または移動先がAFPボリュームでない</para>
        </listitem>

        <listitem>
          <para>移動元AFPボリュームと移動先AFPボリュームが異なる</para>
        </listitem>
      </itemizedlist></para>

    <para>オプション:</para>

    <variablelist>
      <varlistentry>
        <term>-f</term>

        <listitem>
          <para>配布先パスに上書きする前に確認プロンプトを出さない。(-fオプションは手前の-iオプションと-nオプションを無効にする。)</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-i</term>

        <listitem>
          <para>存在するファイルに上書きする前に、標準エラー出力にプロンプトを出す。もし標準入力からの返答が'y'または'Y'で始まるならば移動を試みる。(-iオプションは手前の-fオプションと-nオプションを無効にする。)</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-n</term>

        <listitem>
          <para>存在するファイルを上書きしない。 (-nオプションは手前の-fオプションと-iオプションを無効にする。)</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-v</term>

        <listitem>
          <para>移動したファイルを詳細に表示する。</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1>
    <title>ad rm</title>

    <para>ファイルやディレクトリを削除する。</para>

    <para>rmユーティリティはコマンドラインで指定した非ディレクトリ型のファイルを削除しようと試みる。もしファイルやディレクトリがAFPボリューム上にあるなら、対応するCNIDをボリュームデータベースから削除する。</para>

    <para>オプションは以下のとおり:</para>

    <variablelist>
      <varlistentry>
        <term>-R</term>

        <listitem>
          <para>それぞれのファイル引数の下のファイル階層を削除しようと試みる。</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-v</term>

        <listitem>
          <para>ファイルを削除するときに詳細を表示する。</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1>
    <title>ad set</title>

    <para>ファイルにメタデータを設定する。</para>

    <para>set ユーティリティは、AFP ボリューム内のファイルのメタデータを変更する。</para>

    <para>オプションは次の通り。</para>

    <variablelist>
      <varlistentry>
        <term>-t <replaceable>type</replaceable></term>

        <listitem>
          <para>ファイルの 4 文字のファイル タイプを変更する。</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-c <replaceable>creator</replaceable></term>

        <listitem>
          <para>ファイルの 4 文字の作成者タイプを変更する。</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-l <replaceable>label</replaceable></term>

        <listitem>
          <para>ファイルの色ラベルを変更する。使用可能な色については、以下のリストを参照。</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-f <replaceable>flags</replaceable></term>

        <listitem>
          <para>ファイルの Finder フラグを変更する。使用可能なフラグについては、以下のリストを参照。大文字はフラグを設定し、小文字はフラグを削除する。</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-a <replaceable>attributes</replaceable></term>

        <listitem>
          <para>ファイルの属性を変更する。使用可能な属性については、以下のリストを参照。大文字はフラグを設定し、小文字はフラグを削除する。</para>
        </listitem>
      </varlistentry>
    </variablelist>
    <para><emphasis>旗の説明</emphasis></para>

    <programlisting>
Color Labels:

  none | grey | green | violet | blue | yellow | red | orange

Finder Flags (valid for (f)iles and/or (d)irectories):

  d = On Desktop                      (f/d)
  e = Hidden extension                (f/d)
  m = Shared (can run multiple times) (f)
  n = No INIT resources               (f)
  i = Inited                          (f/d)
  c = Custom icon                     (f/d)
  t = Stationery                      (f)
  s = Name locked                     (f/d)
  b = Bundle                          (f/d)
  v = Invisible                       (f/d)
  a = Alias file                      (f/d)

AFP Attributes:

  y = System                          (f/d)
  w = No write                        (f)
  p = Needs backup                    (f/d)
  r = No rename                       (f/d)
  l = No delete                       (f/d)
  o = No copy                         (f)
  </programlisting>
  </refsect1>

  <refsect1>
    <title>参照</title>

    <para><citerefentry>
        <refentrytitle>dbd</refentrytitle>

        <manvolnum>1</manvolnum>
      </citerefentry>, <citerefentry>
        <refentrytitle>addump</refentrytitle>

        <manvolnum>1</manvolnum>
      </citerefentry>.</para>
  </refsect1>

  <refsect1>
    <title>著作者</title>

    <para><ulink url='https://netatalk.io/contributors'>CONTRIBUTORS</ulink> を参照</para>
  </refsect1>
</refentry>
