Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Команды, параметры, аргументы в Linux  (Прочитано 2452 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн molfar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Помогите разобраться с принципом работы в терминале.
Как различать аргумента, параметры, именуемые параметры итд. Честно сказать запутался. Почему некоторые параметры можно вводить без дефиса (tar xfv), некоторые с двумя дефисами (--configure-all), некоторые с одним, другие без пробела (mysql -uroot), иные с пробелом. Также встречал варианты типа --param=val . Каким принципом это все классифицируется и объясняется?
Извиняюсь за немного невнятное объяснение проблемы, по другому не придумал. Варианты типа "юзай и не парься" не удовлетворят мое любопытство  :)

Оффлайн ABEgorov

  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: Команды, параметры, аргументы в Linux
« Ответ #1 : 09 Май 2010, 21:37:25 »
А как программисту нравится, так он и пишет. :)

Оффлайн alecsartania

  • Старожил
  • *
  • Сообщений: 1557
  • УМка.
    • Просмотр профиля
Re: Команды, параметры, аргументы в Linux
« Ответ #2 : 09 Май 2010, 21:38:57 »
есть команды они без дефисов. есть опции они с дефисами. укороченные с одним дефисом , полные с двумя.
как написал программист так и будет
p.s.  юзай и не парься.
Дома Linux mint 15 ||  Ubuntu 14.04  / Ubuntu 17.03
Работа: Linux Mint 18(Ub 16.04)

Оффлайн v@dik

  • Активист
  • *
  • Сообщений: 409
    • Просмотр профиля
Re: Команды, параметры, аргументы в Linux
« Ответ #3 : 09 Май 2010, 21:40:20 »
Наверное самые простые варианты узнать об аргументах какой либо команды это:
man командаили
команда --help

Оффлайн molfar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Команды, параметры, аргументы в Linux
« Ответ #4 : 09 Май 2010, 21:43:13 »
вопрос стоит не в том чтобы какие аргументы (параметры) с какими командами можно использовать, а в общем синтаксисе. вот например почему --help а не -help или h или -h ?

Оффлайн ABEgorov

  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: Команды, параметры, аргументы в Linux
« Ответ #5 : 09 Май 2010, 21:47:45 »
вопрос стоит не в том чтобы какие аргументы (параметры) с какими командами можно использовать, а в общем синтаксисе. вот например почему --help а не -help или h или -h ?
ну -- обычно пишется когда хотят указать параметр словом (целиком), например --help
- обычно, когда хотят указать для того, же параметра короткую запись, чтобы быстрее вводить, например -h
а ничего не пишут, когда считают, что так удобнее или это непосредственно связано с приложением, чтобы тире каждый раз не вводить

Оффлайн Jack Sparrow

  • Активист
  • *
  • Сообщений: 613
    • Просмотр профиля
Re: Команды, параметры, аргументы в Linux
« Ответ #6 : 09 Май 2010, 23:16:45 »
Жесткого стандарта, как бы нет, но практика такая сложилась, что, как уже сказали ранее, один дефис - короткий параметр (он же ключ), два дефиса -- полный параметр (чтобы удобнее запомнить, хотя кому как). Например:
cp -i # интерактивный режим копирования
cp --interactive # то же самое, но легче запомнить, если знаешь английский
Если --configure-all , то первые два дефиса означают, что это полный (длинный) параметр, а тот, что перед all это просто чтобы не было пробела.
А если --param=val то это значит, что самому параметру нужно передать значение (он так работает), например,
cp --preserve[=ATTR_LIST] копирование с сохранением аттрибутов, которые и задаются списком, который тут представлен как ATTR_LIST. Кстати, квадратные скобки обычно означают, что данный параметр не обязателен, т.е. если его не ввести, то будут подставлены дефолтные значения (в данном случае режим, владелец и время изменения). Все это можно узнать по man cp
А если параметр вводится без дефиса, то, имхо, программа/утилита скорее всего пришла из древности без изменения, как, например, тот же tar, который как раз и пришел со времен, когда все архивировали на ленту.
Why join the navy if you can be a pirate? (c) Steve Jobs

Оффлайн Kwah

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: Команды, параметры, аргументы в Linux
« Ответ #7 : 12 Май 2010, 05:27:27 »
У каждой программы своё видение того как и каким образом обрабатывать параметры командной строки ибо параметром в командной строке может быть очень многое (как пример для изучения как оно бывает сильно по-другому, смотри bazaar ;) ). Для GNU утилит есть «стандартные требования», в частности про выдачу сообщения о том, как программа работает, при задании --help (или -h).

Оффлайн VolCh

  • Активист
  • *
  • Сообщений: 543
    • Просмотр профиля
Re: Команды, параметры, аргументы в Linux
« Ответ #8 : 12 Май 2010, 06:15:21 »
Не стоит еще забывать о том, что многие команды собственно к линуксу отношения имеют мало, а пришли с "больших" (и разных, что не маловажно) юниксов (а там тоже не всё с нуля появилось) от различных производителей, да и сейчас процесс миграции команд между разными unix-like (а может и не только unix-like) системами  не прекратился.

 

Страница сгенерирована за 0.061 секунд. Запросов: 22.