<?xml version="1.0" encoding="UTF-8"?>
<!--
	  User Manual for Gramps - a GTK+/GNOME based genealogy program

	  Copyright (C) 2003  Alexander Roitman

	  Permission is granted to copy, distribute and/or modify this
	  document under the terms of the GNU Free Documentation
	  License (GFDL), Version 1.1 or any later version published
	  by the Free Software Foundation with no Invariant Sections,
	  no Front-Cover Texts, and no Back-Cover Texts. 
          A copy of the license is included in the file COPYING-DOCS 
          distributed with this manual.
-->

<!-- $Id: cmdline.xml,v 1.2 2003/12/27 05:02:18 rshura Exp $ -->

      <!-- =============== Appendices Subsection ================ -->
  <sect2 id="append-cmdline">
  <title>Справка командной строки</title>
  <para>Это приложение содержит справку по возможностям командной
  строки при заупске &app; из терминала. </para>
  
  <para>Здесь важно отметить, что &app; была спроектирована как 
  интерактивная программа. Поэтому она использует графический
  дисплей и не работает в по-настоящему текстовой консоли. Переработка
  программы с целью обеспечить её работу из чисто текстового терминала 
  потребовала бы чрезвычайных усилий. Поэтому, набор опций командной 
  строки не ставит своей целью устранение зависимости от графического 
  дисплея. Возможности командной строки просто делают выполнение 
  определённых (типичных) задач более удобным. Также, они позволяют 
  выполнять эти операции из скриптов. Однако, графический дисплей 
  должен быть всё время доступен!</para>

  <para>Другими словами, использование командной строки обеспечивает
  неинтерактивное поведение, но не снимает зависимости от графического
  дисплея, нравится это Вам или нет!
  </para>


      <sect3 id="cmdline-options">
      <title>Возможные опции</title>

      <para>Вот список возможных опций командной строки &app;:
      </para>

          <variablelist>

          <varlistentry><term>Опции формата</term>
          <listitem><para> Формат любого файла, предназначенного для 
          импорта или экспорта, может быть указан с помощью опции 
          	<command>-f</command> <replaceable>format</replaceable>.
          <replaceable>format</replaceable> может иметь следующие значения:
          
          	<variablelist>

          	<varlistentry><term>gramps</term>
          	<listitem><para> База данных &app;. Этот формат доступен для импорта и 
          	экспорта. Если не указан, он может быть угадан, если имя является 
          	каталогом. 
                </para></listitem></varlistentry>

          	<varlistentry><term>gedcom</term>
          	<listitem><para> Файл GEDCOM. Этот формат доступен для импорта и 
          	экспорта. Если не указан, он может быть угадан, если имя заканчивается
          	на .ged
                </para></listitem></varlistentry>

          	<varlistentry><term>gramps-pkg</term>
          	<listitem><para>Пакет &app;. Этот формат доступен для импорта и 
          	экспорта. Если не указан, он может быть угадан, если имя заканчивается
          	на .tgz
                </para></listitem></varlistentry>

          	<varlistentry><term>wft</term>
          	<listitem><para> Семейное Веб-Дерево (Web Family Tree). Этот формат доступен 
          	только для экспорта. Если не указан, он может быть угадан, если имя 
          	заканчивается на .wft
                </para></listitem></varlistentry>

          	<varlistentry><term>iso</term>
          	<listitem><para> Изображение CD. Этот формат доступен 
          	только для экспорта. Он должен быть всегда явно указан.
                </para></listitem></varlistentry>

          	</variablelist>

          </para></listitem>
          </varlistentry>

          <varlistentry><term>Опции импорта</term>
          <listitem><para> Файлы, предназначенные для импорта, могут быть
          указаны с помощью опции
          	<command>-i</command> <replaceable>filename</replaceable>
          	Формат может быть указан опцией <command>-f</command>
          следующей непосредственно за именем <replaceable>filename</replaceable>. 
          Если формат не указан, &app; сделает попытку угадать формат, основываясь
          на имени <replaceable>filename</replaceable>. Для формата <term>gramps</term>,
          имя <replaceable>filename</replaceable> на самом деле является именем
          каталога, в котором находится база данных &app;. Для форматов 
          <term>gedcom</term> и <term>gramps-pkg</term>, имя 
          <replaceable>filename</replaceable> является именем соответствующего файла.
          </para>

          <para>Если задано более одного имени для импорта, каждому должен
          предшествовать флаг <command>-i</command>. Файлы импортируются
          в указанном порядке, т.е. 
          <command>-i</command> <replaceable>file1</replaceable> 
          <command>-i</command> <replaceable>file2</replaceable> 
          и 
          <command>-i</command> <replaceable>file2</replaceable> 
          <command>-i</command> <replaceable>file1</replaceable> 
          могут произвести различные ID в конечной базе данных. 
          </para></listitem>
          </varlistentry>


          <varlistentry><term>Опции экспорта</term>
          <listitem><para> Файлы, преднахначенные для экспорта, могут быть указаны
          с помощью опции 
          	<command>-o</command> <replaceable>filename</replaceable>.
          	Формат может быть указан опцией <command>-f</command>
          следующей непосредственно за именем<replaceable>filename</replaceable>. 
          Если формат не указан, &app; сделает попытку угадать формат, основываясь
          на имени <replaceable>filename</replaceable>. Для форматов 
          <term>gramps</term> и <term>iso</term>, 
          имя <replaceable>filename</replaceable> на самом деле является именем
          каталога, в который будет записана база данных &app;. Для форматов 
          <term>gedcom</term>, <term>wft</term> и <term>gramps-pkg</term>, имя 
          <replaceable>filename</replaceable> является именем экспортируемого файла.
          </para>

          <para> Если задано более одного имени для экспорта, каждому должен
          предшествовать флаг <command>-o</command>. Файлы экспортируются
          один за другим, в указанном порядке.
          </para></listitem>
          </varlistentry>

          <varlistentry><term>Опции действия</term>
          <listitem><para> Действие, производимое над ипортированными данными,
          может быть указано с помощью опции 
          <command>-a</command> <replaceable>action</replaceable>. 
          Действие производится после успешного завершения всех импортов.
          В настоящий момент, доступные опции таковы: 
          <term>summary</term> (то же самое, что и 
          <menuchoice><guimenu>Отчёты</guimenu><guisubmenu>Вид</guisubmenu>
	  <guimenuitem>Итоги базы данных...</guimenuitem></menuchoice>)
          и <term>check</term> (то же самое, что и  
          <menuchoice><guimenu>Инструменты</guimenu>
          <guisubmenu>Обработка Базы Данных</guisubmenu>
	  <guimenuitem>Проверить и починить базу данных...</guimenuitem></menuchoice>).
          </para>

          <para> Если задано более одного действия, каждому должен
          предшествовать флаг <command>-a</command>. Действия призводятся
          один за другим, в указанном порядке.
          </para></listitem>
          </varlistentry>

          </variablelist>

      </sect3>


      <sect3 id="cmdline-operation">
      <title>Порядок работы</title>
      
       <para>Порядок опций <command>-i</command>, <command>-o</command>, 
       или <command>-a</command> относительно друг друга не имеет значения. 
       Настоящий порядок выполнения всегда таков: все импорты (если есть) -> 
       все экспорты (если есть) -> все действия (если есть). </para>
                                                                                
       <para>Если не дано ни одной опции <command>-i</command>, &app; 
       запустит своё главное окно и начнёт обычный интерактивный сеанс с пустой
       базой данных (т.к. данных всё равно не дано). </para>
                                                                                
       <para>Если не дано ни одной опции
       <command>-o</command> или <command>-a</command>, &app; 
       запустит своё главное окно и начнёт обычный интерактивный сеанс
       с базой данных, получившейся как результат всех импортов. 
       Эта база данных будет находится в каталоге 
       <replaceable>~/.gramps/import</replaceable>. </para>
                                                                                
       <para>Любые ошибки в процессе импорта, экспорта или действия 
       будут выброшены на стандартный вывод stdout (если это исключения,
       пойманные &app;) или на стандартное устройство ошибки stderr 
       (если они не пойманы). Используйте обычные методы перенаправления 
       стандартных устройств, чтобы сохранить сообщения и ошибки в файлы. </para>

      </sect3>

      <sect3 id="cmdline-examples">
      <title>Примеры</title>
        <para>Для импорта четырёх баз данных (формат которых может быть определён
        по их именам) и последующей проверки получившейся базы данных на целостность, 
        можно набрать: </para>
        <para><command>gramps -i</command> <replaceable>file1.ged</replaceable> 
        <command>-i</command> <replaceable>file2.tgz</replaceable> 
        <command>-i</command> <replaceable>~/db3</replaceable> 
        <command>-i</command> <replaceable>file4.wft</replaceable> 
        <command>-a</command> <replaceable>check</replaceable>
        </para> 
        
        <para>Чтобы явно указать форматы файлов в предыдущем примере, добавьте 
        соответствующие опции <command>-f</command> после каждого имени: </para>
        <para><command>gramps -i</command> <replaceable>file1.ged</replaceable> 
          <command>-f</command> <replaceable>gedcom</replaceable> 
        <command>-i</command> <replaceable>file2.tgz</replaceable> 
          <command>-f</command> <replaceable>gramps-pkg</replaceable> 
        <command>-i</command> <replaceable>~/db3</replaceable> 
          <command>-f</command> <replaceable>gramps</replaceable> 
        <command>-i</command> <replaceable>file4.wft</replaceable> 
          <command>-f</command> <replaceable>wft</replaceable> 
        <command>-a</command> <replaceable>check</replaceable>
        </para>

       <para>Чтобы записать базу данных, получившуюся в результате всех импортов, 
       добавьте флаг <command>-o</command> (используйте опцию 
       <command>-f</command> если имя не позволяет &app; угадать формат): </para>
        <para><command>gramps -i</command> <replaceable>file1.ged</replaceable> 
        <command>-i</command> <replaceable>file2.tgz</replaceable> 
        <command>-o</command> <replaceable>~/new-package</replaceable> 
          <command>-f</command> <replaceable>gramps-pkg</replaceable> 
        </para>
                                                                                
       <para>Для сохранения сообщений об ошибке в предыдущем примере в файлы 
       <replaceable>outfile</replaceable> и 
       <replaceable>errfile</replaceable>, запустите:</para>
        <para><command>gramps -i</command> <replaceable>file1.ged</replaceable> 
        <command>-i</command> <replaceable>file2.tgz</replaceable> 
        <command>-o</command> <replaceable>~/new-package</replaceable> 
        <command>-f</command> <replaceable>gramps-pkg</replaceable> 
        &gt;<replaceable>outfile</replaceable> 
        2&gt;<replaceable>errfile</replaceable> 
        </para>

       <para>Чтобы импортировать три базы данных и начать интерактивный сеанс 
       &app; с результатом: </para>
        <para><command>gramps -i</command> <replaceable>file1.ged</replaceable> 
        <command>-i</command> <replaceable>file2.tgz</replaceable> 
        <command>-i</command> <replaceable>~/db3</replaceable> 
        </para> 
                                                                                
       <para>Наконец, чтобы начать обычный интерактивный сеанс, наберите: </para>
       <para> <command>gramps </command></para>
                                                                                
      </sect3>

      </sect2> 
