管道命令在bash的连续处理程序中是相当重要的,尤其在使用到前一个命令的studout(标准输出)作为这次的stdin(标准输入)时,就显得太重要了,某些命令需要用到文件名,例如上篇文档的的切割命令(split)、还有tar(打包)命令等等!这时这个文件就承当studout或者stdin,这个时候这个studout或者stdin就可以用减号(-)来替代
实例一:使用ls -al /将输出的信息中,没3行记录成一个文件
[root@bogon bash]# ls -al / | split -l 3 - s [root@bogon bash]# wc -l s* 3 saa 3 sab 3 sac 3 sad 3 sae 3 saf 3 sag 2 sah 23 total #一般来说,如果需要stdout(标准输出)/stdin(标准输入),但偏偏又没有文件,有的只是“-”时,那么那个“-”就会被当做stdout或者stout
实例二:tar -cvf tarName.tar ./bash 本来是这样的,看我怎么用“-”来替他文件的标准输出
[root@bogon ~]# tar -cvf ./bash tar: Cowardly refusing to create an empty archive Try `tar --help' or `tar --usage' for more information. #这里报错了,没有办法,因为语法错误 [root@bogon ~]# tar -cvf - ./bash ./bash/ ./bash/sag ./bash/saf ./bash/sae ./bash/aa.txt ./bash/sab ./bash/saa ./bash/sad ./bash/cc.txt ./bash/bb.txt ./bash/test.txt ..... #看到了没有这个时候用”-“替代了本来输出到文件,而标准输出到了屏幕
实例三:综合实例
[root@bogon ~]# tar -cvf - ./bash | tar -xvf - ./bash/ ./bash/sag ./bash/saf ......!(省略) ./bash/saf ./bash/sah ./bash/sac tar: ./bash: file changed as we read it ./bash/sae .......!省略) ./bash/sah ./bash/sac
上面这个例子是说我将./bash这个文件打包,但是打包的文件不是记录到文件,而是传送到标准输出(stdout);经过管道后,将tar -cvf - ./bash传给后面的tar -xvf -。后面这个“-”则是取用前面一个命令的stdout作为stdin,因此这里就不需要使用文件了,这是很常见的例子,因为我们写脚本的时候,就不要去写个临时文件了。
相关推荐
《Linux命令行与Shell脚本编程大全》随书的一些源码、笔记_Linux_Shell-Bash-
在 CentOS 下新增一个用户,登录进去之后 shell 脚本的信息如下:bash-4.1$,而不是我们经常看到的 username@hostname 的组合,看起来很不舒服。 解决方案 问题的原因是因为没有配置 .bash_profile 的问题,可以...
Bash(Bourne Again SHell)是Unix/Linux操作系统中最常用的命令解释器之一,也是大多数Linux发行版的默认Shell。 #### 描述:Learn Bash Shell - **学习目标**:了解如何在Linux环境中使用Bash Shell进行操作。这...
linux-shell-scripting-fundamentals-bash.epub
根据提供的信息,我们可以总结出以下关于《Linux Shell Scripting With Bash - 2005-Unencrypted》这本书的关键知识点: ### Linux Shell Scripting with Bash - 2005-Unencrypted #### 书籍概述 这本书是一本关于...
在线尝试: : 用法建立: git clone https://github.com/daniel-sc/bash-shell-to-bat-converter.gitcd bash-shell-to-bat-converternpm installnpm run tsc 用法: node lib/cli.js FILE_TO_CONVERT.sh 这将创建...
- Bash(Bourne-Again SHell)是 Unix 和 Linux 系统中最常用的 Shell 类型之一。 - Bash 提供了丰富的功能,支持变量、数组、条件判断、循环等结构化编程特性。 **2. Bash Shell 脚本基础语法** - **脚本的第一...
以上就是小编为大家带来的解决ssh远程登陆linux显示-bash-4.1$的问题全部内容了,希望大家多多支持软件开发网~ 您可能感兴趣的文章:浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释php $_SERVER windows系统与linux...
Linux Bash Shell 中文手册是为Linux用户和系统管理员提供的一份详细指南,涵盖了Bash Shell的基本用法和高级特性。Bash(Bourne-Again SHell)是GNU项目下的Unix/Linux操作系统默认的命令行解释器,它继承并扩展了...
### Bash Shell 学习笔记知识点概览 #### 1. 引言 - **Shell**:作为用户与操作系统之间的桥梁,Shell提供了一种与系统进行交互的方式,支持用户执行命令和编写脚本来自动化任务。 - **Bash**:是Bourne-Again ...
Linux是开源的操作系统,它的命令行界面,尤其是Shell编程...因此,无论你是技术小白还是希望进一步提升,这份“Linux零基础学习笔记 Shell编程-菜鸟入门”都会是你宝贵的资源。祝你在学习的道路上越走越远,不断进步!
书中通过大量的实践示例讲解了如何高效地使用Linux环境中的bash shell。 #### 三、章节内容概览 1. **第1章:bash基础** - **1.1 什么是shell?** - 解释shell的基本概念,包括它作为用户与操作系统之间的接口的...
Bash Shell,全称Bourne-Again SHell,是Linux和类UNIX系统中最常用的命令行解释器。它基于原始的Shell编程语言,由Steve Bourne开发,而Bash则是其增强版,由GNU项目维护。这份"Advanced Bash Shell Guide"旨在帮助...
### Linux 下 Shell 编程实验报告 - 考勤系统 #### 实验目的 通过本实验,学生将能够深入理解 Shell 程序的设计方法,包括但不限于如何编写、运行及调试 Shell 脚本。此外,学生还将学习如何利用 Shell 脚本来模拟...
《Linux高级Bash Shell脚本编程指南》是一本专为Linux用户深入理解并掌握Bash Shell脚本编程的宝贵资源。Bash(Bourne-Again SHell)是Unix及类Unix系统中最常用的命令行解释器,它为用户提供了一种强大而灵活的方式...