2012-04-02 186 views
0

我对使用Linux命令行程序和命令时应该使用的术语有些困惑。Linux命令行/ shell术语

如果我是执行命令,例如:

mkdir testing_dir 

会“testing_dir”被称为“操作”到程序的mkdir,或“参数”或“参数”?

我的另一个问题是,你会用什么术语来描述下面的过程?

find *.txt | grep a | grep b 

我可以说; “find”程序的输出是通过管道(重定向)到grep程序的输入?

回答

3

对于第一个问题,它是一个“论点”。这就是为什么在C程序中,主要原型是int main(int argc, char** argv)argc表示参数计数,而argv表示参数向量。

对于第二个,它是“管道”。 (因为它是通过管道|字符来完成的,和/或数据是从一个程序传递的,就像它正在通过一个管道一样。)通常,stdout仅在被发送到具有>的文件时才被称为“重定向”运营商。

2
  1. 大多数人会称它为论据。
  2. 是的,它是管道。
1
  • 参数或参数,而不是操作数,而MKDIR是一个命令,而不是一个算子

  • 是,则输出通过管道输送到下一个命令的输入参数。

+1

严格地说,参数是分配给参数的值。 – chepner 2012-07-20 20:39:27

1

命令没有操作数,操作符有操作数。对于命令,它们是参数。由于mkdir是一个命令,所以这个名字肯定是一个参数。

而关于第二个。第一个输出作为输入被赋予第二个命令。重定向通常用于运算符>,>>和2> 2 >>