shell脚本:输入/输出重定向

命令通常从标准输入读取输入,将输出写入标准输出。默认情况下,标准输入和标准输出都是终端。重定向就是重新指定输入/输出。

文件描述符

linux中一切都是文件,输入、输出设备也不例外。为做区分,Linux 会给每个文件分配一个 ID,这个 ID 就是一个整数,即文件描述符。

Linux 程序在执行任何形式的 I/O 操作时,都是在读取或者写入一个文件描述符。一个文件描述符只是一个和打开的文件相关联的整数,它的背后可能是一个硬盘上的普通文件、FIFO、管道、终端、键盘、显示器,甚至是一个网络连接。

shell脚本:输入/输出重定向_第1张图片 

输出重定向

输出重定向是指命令的结果不再输出到显示器上,而是输出到其它地方(一般是文件中)。

  • >:覆盖
  • >>:追加

shell脚本:输入/输出重定向_第2张图片

str="helloWorld"    
echo $str >>demo.txt  #将输出结果以追加的方式重定向到文件

/dev/null 文件

可以把 /dev/null 当成 Linux 系统的垃圾箱,任何放入垃圾箱的数据都会被丢弃,不能恢复。

ls -l &>/dev/null

输入重定向

输入重定向就是改变输入的方向,不再使用键盘作为命令输入的来源,而是使用文件作为命令的输入。

shell脚本:输入/输出重定向_第3张图片

你可能感兴趣的:(shell脚本)