博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux bash shell 关于减号-的作用
阅读量:7051 次
发布时间:2019-06-28

本文共 1279 字,大约阅读时间需要 4 分钟。

hot3.png

管道命令在bash的连续处理程序中是相当重要的,尤其在使用到前一个命令的studout(标准输出)作为这次的stdin(标准输入)时,就显得太重要了,某些命令需要用到文件名,例如上篇文档的的切割命令(split)、还有tar(打包)命令等等!这时这个文件就承当studout或者stdin,这个时候这个studout或者stdin就可以用减号(-)来替代

 实例一:使用ls -al /将输出的信息中,每3行记录成一个文件

  1. [root@bogon bash]# ls -al / | split -l 3 - s  
  2. [root@bogon bash]# wc -l s*  
  3.    3 saa  
  4.    3 sab  
  5.    3 sac  
  6.    3 sad  
  7.    3 sae  
  8.    3 saf  
  9.    3 sag  
  10.    2 sah  
  11.   23 total  
  12. #一般来说,如果需要stdout(标准输出)/stdin(标准输入),但偏偏又没有文件,有的只是“-”时,那么那个“-”就会被当做stdout或者stout  

 

实例二:tar -cvf  tarName.tar ./bash 本来是这样的,看我怎么用“-”来替他文件的标准输出

  1. [root@bogon ~]# tar -cvf   ./bash  
  2. tar: Cowardly refusing to create an empty archive  
  3. Try `tar --help' or `tar --usage' for more information.  
  4. #这里报错了,没有办法,因为语法错误  
  5. [root@bogon ~]# tar -cvf  - ./bash   
  6. ./bash/  
  7. ./bash/sag  
  8. ./bash/saf  
  9. ./bash/sae  
  10. ./bash/aa.txt  
  11. ./bash/sab  
  12. ./bash/saa  
  13. ./bash/sad  
  14. ./bash/cc.txt  
  15. ./bash/bb.txt  
  16. ./bash/test.txt  
  17. .....  
  18. #看到了没有这个时候用”-“替代了本来输出到文件,而标准输出到了屏幕  

 

    实例三:综合实例

  1. [root@bogon ~]# tar -cvf - ./bash | tar -xvf -  
  2. ./bash/  
  3. ./bash/sag  
  4. ./bash/saf  
  5. ......!(省略)  
  6. ./bash/saf  
  7. ./bash/sah  
  8. ./bash/sac  
  9. tar: ./bash: file changed as we read it  
  10. ./bash/sae  
  11. .......!省略)  
  12. ./bash/sah  
  13. ./bash/sac  

  上面这个例子是说我将./bash这个文件打包,但是打包的文件不是记录到文件,而是传送到标准输出(stdout);经过管道后,将tar -cvf - ./bash传给后面的tar -xvf -。后面这个“-”则是取用前面一个命令的stdout作为stdin,因此这里就不需要使用文件了,这是很常见的例子,因为我们写脚本的时候,就不要去写个临时文件了。

转载于:https://my.oschina.net/jackguo/blog/794824

你可能感兴趣的文章
Time Series / Date functionality
查看>>
[解题报告]151 - Power Crisis
查看>>
Day24&25&26&27:HTML+CSS
查看>>
第26天:js-$id函数、焦点事件
查看>>
iOS开发-Alpha,Hidden与Opaque区别
查看>>
CSS中nth-child和nth-of-type的简单使用
查看>>
javascript 乘法口诀表
查看>>
Windows7上完全卸载Oracle 12c操作步骤
查看>>
一个农夫进城卖驴和山羊
查看>>
Show下界面
查看>>
android 如何设置背景的透明度
查看>>
C#操作xml SelectNodes,SelectSingleNode总是返回NULL 与 xPath 介绍
查看>>
Convert Sorted List to Balanced Binary Search Tree leetcode
查看>>
Yii路径总结(转)
查看>>
pytorch基础(4)-----搭建模型网络的两种方法
查看>>
PHP编译安装参数介绍
查看>>
winsock学习1
查看>>
生产事故的优化经历
查看>>
谈谈 在 .Net 生态里为什么没有 Hadoop 系列 ?
查看>>
CentOS 6.6 nginx install
查看>>