减号 - 的用途
管线命令在 bash 的连续的处理程序中是相当重要的,在 log file 的分析当中也是相当重要的一环, 所以请特别留意!
而在管线命令当中,常常会使用到前一个指令的 stdout 作为这次的 stdin , 某些指令需要用到文件名称 (例如 tar) 来进行处理时,该 stdin 与 stdout 可以利用减号 "-" 来替代。举例来说:
$ tar -cvf - /home/test | tar -xvf -
上面这个例子是说:
我将 /home/test 里面的内容给他打包,但打包的数据不是纪录到档案,而是传送到 stdout; 经过管线后,将 tar -cvf - /home 传送给后面的 tar -xvf - 。
后面的这个 - 则是取用前一个指令的 stdout, 因此,我们就不需要使用 file 了!
新建/home/test空文件夹并执行范例命令。