2012-04-02 184 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 >>