Mandriva Linux: Полное руководство пользователя. 2-е издание

Команды Linux для получения прав суперпользователя

Команды Linux для навигации в терминале

  1. &&. Строго говоря, это не команда. Если вы хотите выполнить сразу несколько команд, поставьте между ними двойной амперсанд вот так: первая_команда && вторая_команда. Терминал выполнит команды по порядку. Вы можете ввести столько команд, сколько захотите.
  2. alias. Присваивает созданные вами названия длинным командам, которые вы не можете запомнить. Введите alias длинная_команда короткая_команда.
  3. cd. Изменяет текущую терминальную папку. Когда вы запускаете терминал, он использует вашу домашнюю папку. Введите cd адрес_папки, и терминал будет работать с файлами, которые там находятся.
  4. clear. Очищает окно терминала от всех сообщений.
  5. history. Отображает все недавно введённые вами команды. Кроме того, вы можете переключаться между недавними командами с помощью клавиш «Вверх» и «Вниз». Если вы не хотите, чтобы введённая вами команда была записана, поставьте перед ней пробел так: ваша_команда.
  6. man. Отображает руководство по программам и командам Linux. Введите man имя_пакетаили man ваша_команда.
  7. whatis. Отображает краткое описание какой-либо программы. Введите команду и название программы whatis имя_пакета.
Команды Linux для навигации в терминале

Журналы и бланки

БухгалтерияОхрана труда и техника безопасностиКадровая работа: Журналы, бланки, формыЖурналы, бланки, формы документов для органов прокуратуры и суда, минюста, пенитенциарной системыЖурналы, бланки, формы документов МВД РФКонструкторская, научно-техническая документацияЛесное хозяйствоПромышленностьГостиницы, общежития, хостелыСвязьЖурналы и бланки по экологииЖурналы и бланки, используемые в торговле, бытовом обслуживанииЖурналы по санитарии, проверкам СЭСЛифтыКомплекты документов и журналовНефтебазыБассейныГазовое хозяйство, газораспределительные системы, ГАЗПРОМЭксплуатация зданий и сооруженийЖурналы и бланки для нотариусов, юристов, адвокатовЖурналы и бланки для организаций пищевого производства, общепита и пищевых блоковЖурналы и бланки для организаций, занимающихся охраной объектов и частных лицЖурналы и бланки для ФТС РФ (таможни)Журналы для образовательных учрежденийЖурналы и бланки для армии, вооруженных силБанкиГеодезия, геологияГрузоподъемные механизмыДокументы, относящиеся к нескольким отраслямНефтепромысел, нефтепроводы

ДелопроизводствоЖурналы для медицинских учрежденийАЗС и АЗГСЭлектроустановкиТепловые энергоустановки, котельныеЭнергетикаШахты, рудники, метрополитены, подземные сооруженияТуризмДрагметаллыУчреждения культуры, библиотеки, музеиПсихологияПроверки и контроль госорганами, контролирующими организациямиРаботы с повышенной опасностьюПожарная безопасностьОбложки для журналов и удостоверенийАптекиТранспортРегулирование алкогольного рынкаАвтодороги, дорожное хозяйствоСамокопирующиеся бланкиСельское хозяйство, ветеринарияСкладСнегоплавильные пунктыСтройка, строительствоМетрологияКанатные дороги, фуникулерыКладбищаЖурналы для парикмахерских, салонов красоты, маникюрных, педикюрных кабинетовАрхивыАттракционы

Неоднозначности

Доступ к базовому классу должен быть задан однозначно. Доступ к члену базового класса считается неоднозначным, если выражение, используемое для доступа, задает более одной функции, объекта, типа или элемента перечисления. Проверка на однозначность происходит до проверки возможности доступа (§). Приведем пример:

class A {

public:

 int a;

 int (*b)();

 int f();

 int f(int);

 int g();

class B {

 int a;

 int b();

public:

 int f();

 int g();

 int h();

 int h(int);

class C: public A, public B {};

void g(C* pc)

 pc-›a = 1; // ошибка: неоднозначность: A::a или B::a

 pc-›b(); // ошибка: неоднозначность: A::b или B::b

 pc-›f(); // ошибка: неоднозначность: A::f или B::f

 pc-›f(1); // ошибка: неоднозначность: A::f или B::f

 pc-›g(); // ошибка: неоднозначность: A::g или B::g

 pc-›g = 1; // ошибка: неоднозначность: A::g или B::g

 pc-›h(); // нормально

 pc-›h(1); // нормально

Если имя перегруженной функции установлено однозначно, то прежде проверки возможности доступа происходит еще и разрешение перегрузки. Неоднозначность можно устранить, уточняя используемое имя именем класса, например, так:

class A {

public:

 int f();

class B {

public:

 int f();

class C: public A, public B {

 int f() { return A::f() + B::f(); }

Если используются виртуальные базовые классы, до отдельной функции, объекта, типа или элемента перечисления можно добраться несколькими путями, двигаясь по направленному ацикличному графу, который образуют базовые классы. Но это не является неоднозначностью. Идентичное же использование невиртуальных базовых классов порождает неоднозначность, поскольку в этом случае участвует в задании доступа более одного вложенного объекта. Приведем пример:

class V { public: int v; };

class A { public: int a; };

class B: public A, public virtual V {};

class C: public A, public virtual V {};

class D: public B, public C { public: void f(); };

Читайте также:  Что такое сервер отображения в Linux? Для чего он используется?

void D::f()

 v++; // нормально

 a++; // ошибка, неоднозначность: `a’ в `D’ входит дважды

Если используются виртуальные базовые классы, возможно что двигаясь по направленному ацикличному графу, можно добраться более, чем до одного имени функции, объекта или элемента перечисления. Это, конечно, неоднозначность, но кроме случая, когда одно имя доминирует над другими. Идентичное использование невиртуальных базовых классов всегда приводит к неоднозначности, т.к. в этом случае всегда участвует более одного вложенного объекта.

Считается, что имя B::f доминирует над именем A::f, если класс A является для класса B базовым. Если одно имя доминирует над другим, они не могут привести к неоднозначности: в ситуации выбора используется всегда доминирующее имя. Приведем пример:

class V { public: int f(); int x; };

class B: public virtual V { public: int f(); int x; };

class C: public virtual V {};

class D: public B, public C { void g(); };

void D::g()

 x++; // нормально: B::x доминирует над V::x

 f(); // нормально: B::f() доминирует над V::f()

В результате явного или неявного преобразования указателя или ссылки на производный класс в указатель или ссылку на один из его базовых классов, эти указатель или ссылка должны указывать только на тот же самый объект, который представляет базовый класс. Приведем пример:

class V {};

class A {};

class B: public A, public virtual V {};

class C: public A, public virtual V {};

class D: public B, public C {};

void g()

 D d;

 B* pb = &d;

 A* pa = &d; // ошибка, неоднозначность: A из C или A из B?

 v* pv = &d; // нормально: только один вложенный объект V

Параметры для работы с хранилищем конфигурации

Тем, кто дорабатывает конфигурации 1С в команде, механизм хранилища дает множество возможностей. Неудивительно, что существует достаточно параметров командной строки в 1С Предприятие 8.3, чтобы управлять этим механизмом. После того, как вы изучите следующие команды, ваша работа может существенно упроститься и ускориться:

  • /ConfigurationRepositoryF _Каталог_ – этим параметром задается каталог хранилища;
  • /ConfigurationRepositoryN _Имя_ и /ConfigurationRepositoryP _Пароль_ – задает имя пользователя и пароль для хранилища;
  • /ConfigurationRepositoryDumpCfg _ИмяФайлаФорматаCF_ [-v_НомерВерсии_] – параметр инициализирует сохранение конфигурации 1С в указанный файл. Если номер версии не указывать, то будет выгружена последняя версия;
  • /ConfigurationRepositoryUpdateCfg[-v_НомерВерсии_] [-revised] [-force] – обновление структуры базы в хранилище из указанного файла формата cf. Если не указан номер версии хранилища, то будет обновлена последняя сохраненная. Параметр revised отвечает за получение захваченных объектов. Force отвечает за подтверждение необходимости получения новых объектов или удаления тех, что уже внутри хранилища;
  • /ConfigurationRepositoryUnbindCfg [-force] – отвечает за отключение структуры конфигурации от хранилища, причем для исполнения этого параметра у пользователя должны быть права администратора. Если аутентификация происходит внутри хранилища, то сам процесс отключения также записывается в хранилище. В ином случае происходит исключение из хранилища базы лишь локально. Параметр force применяется в случаях необходимости быстро отключить конфигурацию от хранилища, не учитывая нюансы;
  • /ConfigurationRepositoryReport _ИмяФайла_ [-NBegin _НомерВерсии_] [-NEnd _НомерВерсии_] [-GroupByObject] [-GroupByComment] – выполнение командной строки позволит 1С сформировать отчет по данным истории хранилища. В том случае, если не указана группировка и не используется совместимость, то отчет будет сформирован сгруппированным по версиям. Если выбран режим совместимости с версией платформы 8.1 или 8.2, то группирован отчет будет по объектам конфигурации. Дополнительные параметры отвечают за:
    • _ИмяФайла_ – в какой файл выгрузиться результат;
    • -NBegin и -NEnd – с какой версии начнется и закончится формирование отчета;
    • -GroupByObject и -GroupByComment – установка группировки по объектам и по комментариям, соответственно.

Работа с 1С Предприятием 8.3, если вы знаете параметры запуска 1С 8.3 из командной строки, может существенно упроститься. Уже это заставляет администраторов, если не выучить основные параметры, то хотя бы примерно представлять возможности этого механизма. Правильность написания того или иного параметра вы всегда сможете подсмотреть в интернете, если знаете, что платформа это позволяет.