linux中减号的意义有哪些

linux中减号的意思有哪些?
目前知道的作用有:

1,为应用程序指定参数。如ps -aux
2,表示上一级工作目录。如cd -
3,表示标准输出流。如tar -cvf - /home | tar -xvf - (这个有点不懂,求解释)

求高手说说减号还有哪些作用,另外解释一下第三个,http://zhidao.baidu.com/question/202154496.html这个解释说减号代表标准输出流,那么标准输入流是什么呢?标准错误呢?

------解决方案--------------------
一些命令选项
------解决方案--------------------
man getopt
------解决方案--------------------
cat 用 - 来代表标准输入
cat --help:
With no FILE, or when FILE is -, read standard input.

Examples:
cat f - g Output f's contents, then standard input, then g's contents.
cat Copy standard input to standard output.


------解决方案--------------------
看来LZ问的应该是"-"在linux shell环境下的用途?!

1)最常用的是各种应用程序的单字符前缀,如:"ls -a" ;
2) 环境变量"-"表示上级目录,如: "cd -"返回上一级目录,类似的还有: ".","..","~",具体可参考<<Unix高级环境编程>>;
3)解释一下第三个:
效果相当于把"/home"拷贝到当前目录,包括原来的属性;shell里面标准输入,输出,错误流分别是"0","1","2",如:2>&1,把标准错误输出重定向到标准输出中去。

------解决方案--------------------
man帮助最大。

1,为应用程序指定参数。如ps -aux
man ps

2,表示上一级工作目录。如cd -
man 1p cd

3,表示标准输出流。如tar -cvf - /home | tar -xvf - (这个有点不懂,求解释)
man tar
man bash

tar -cvf - /home 将home打包到stdout(-)
| 管道,即前一命令的输出为后一命令输入
tar -xvf - 从stdin(-)解包

------解决方案--------------------
-就是代表标准输出/标准输入, 视命令而定.