Терминология командной строки / оболочки Linux - PullRequest
0 голосов
/ 02 апреля 2012

Меня немного смущает терминология, которую я должен использовать при обращении к программам и командам командной строки Linux.

Если бы мне пришлось выполнить такую ​​команду, как:

mkdir testing_dir

Будет ли «testing_dir» называться «операндом» программы mkdir, «аргументом» или «параметром»?

Другой вопрос, который у меня есть, какую терминологию вы бы использовали для описания следующего процесса?

find *.txt | grep a | grep b

Могу я сказать;вывод программы "find" передается (перенаправляется) на вход программы grep?

Ответы [ 4 ]

3 голосов
/ 02 апреля 2012

По первому вопросу это «аргумент».Вот почему в программах на C основным прототипом является int main(int argc, char** argv).argc означает количество аргументов, а argv означает вектор аргумента.

Во-вторых, это «трубопровод».(Поскольку это делается с помощью канала |, и / или данные передаются из одной программы, как если бы они проходили через канал.) Как правило, stdout вызывается только как «перенаправленный», когда он отправляетсяфайл с оператором >.

2 голосов
/ 02 апреля 2012
  1. Большинство людей назвали бы это аргументом.
  2. Да, это по каналу.
1 голос
/ 02 апреля 2012

В командах нет операндов, у операторов есть операнды.Для команд они являются аргументами.Поскольку mkdir - это команда, имя, безусловно, является аргументом.

И о втором. Первый вывод передается во вторую команду как ввод.Перенаправления обычно используются с операторами>, >> и 2> 2 >>

1 голос
/ 02 апреля 2012
  • Аргумент или параметр, а не операнд, в то время как mkdir - это команда, а не оператор

  • Да, выходные данные передаются во входной параметр следующегокоманда.

...