在Linux中短橫線(-)可以表示輸出流,具體用法如下。
搭配cat
cat -
如果指定cat的文件為-,表示從標准輸入讀取(和直接使用cat,好像沒什么區別)
搭配|
echo 123 | cat -
表示把管道符前面的輸出流,在交給cat執行一遍(這就很牛逼了)
例子:
如果操作系統沒有scp命令,只有ssh,那么是不是就不能遠程拷貝了(前提:沒有openssh-clients軟件包)
利用-,就可以實現:
cat jdk.tar.gz | ssh 192.168.56.101 'cat - > /tmp/jdk.tar.gz'
含義是,cat jdk.tar.gz 產生輸出流, 在管道后面的 - ,則可以接受輸出流,並重定向到 /tmp/jdk.tar.gz