美文网首页
4-15 Linux中的输入重定向

4-15 Linux中的输入重定向

作者: 捌千里路雲和月 | 来源:发表于2021-12-12 22:15 被阅读0次

1、输入重定向:标准的输入设备是键盘,常规的输入途径通过键盘进行信息的输入。输入重定向就是不使用系统提供的标准输入端口,重设读取数据的方式。例如,输入重定向为一个文件,系统就会从文件中读取数据进行运作,而不是通过键盘录入数据让系统进行读取。

2、标准输入文件(stdin):stdin 的文件描述符为0,默认输入硬件 ---- 键盘。

3、输入重定向的符号是:< (小于号)

4、输入重定向的格式与说明:

  • command <file:重定向 file 文件中的内容作为标准输入, command 执行 filie 的内容。

  • command <<END:从标准输入(键盘)中输入数据。END 是结束符,当输入 END 的时候停止输入操作。(结束符可以是任意的字符串,用户自己定义)。

  • command <file1 >file2 输入输出重定向, file1 作为标准输入, command 执行 file1的内容,然后把结果输出到 file2。

5、实操练习:

  • ①、command <file:重定向 file 文件中的内容作为标准输入, command 执行 filie 的内容。
[root@localhost ~]# 
[root@localhost ~]# ll    ## 现时有一个文件 backups.txt
total 4
-rw-r--r--. 1 root root 176 Oct 21 09:33 backups.txt
[root@localhost ~]# 

##  重定向输入为 backups.txt,cat 遍历 backups.txt 的内容
[root@localhost ~]# cat <backups.txt    
hello
-bash: abc: command not found
ls: cannot access 123: No such file or directory
hello world
-bash: efg: command not found
ls: cannot access 456: No such file or directory
[root@localhost ~]# 

##  重定向输入为 backups.txt,wc -l 遍历 backups.txt 的内容,统计有多少行     
[root@localhost ~]# wc -l <backups.txt    
6

## 用 wc -l 命令统计 backups.txt 和 重定向输入 backups.txt 后用 wc -l 命令统计的区别
## wc -l 命令统计 backups.txt 文件会显示行数 和 文件名
## 重定向输入 backups.txt 后用 wc -l 命令统计,只会显示行号。
## 因为 重定向输入的 backups.txt 只作为输入方,命令只会执行里面的内容,而不是作为执行一个文件。
[root@localhost ~]# wc -l backups.txt 
6 backups.txt
[root@localhost ~]# 

  • ②、command <<END:从标准输入(键盘)中输入数据。END 是结束符,当输入 END 的时候停止输入操作。(结束符可以是任意的字符串,用户自己定义)。
  • cat 打印键盘输入的内容。
[root@localhost ~]# 
[root@localhost ~]# cat <<END    ## 标准输入(键盘)内容,cat 打印内容
> 1
> 2
> 3
> 4
> 5
> END
1
2
3
4
5
[root@localhost ~]# 

  • wc -l 统计键盘输入的内容有多少行。
[root@localhost ~]# wc -l << end
> 1
> 2
> 3
> end
3    ## 3行内容
[root@localhost ~]# 

  • ③、command <file1 >file2 输入输出重定向, file1 作为标准输入, command 执行 file1的内容,然后把结果输出到 file2。
[root@localhost ~]# vim catFile.txt    ## vim 编辑一个 catFile.txt 文件并输入内容

Hello
World                                                                   
~                                                                                       
~                                                                                       
~                                                                                       
:wq    ## 保存退出

## cat 读取输入重定向的 catFile.txt,并把结果输出重定向到 showCatFile.txt 文件
[root@localhost ~]# cat <catFile.txt >showCatFile.txt     
[root@localhost ~]# 
[root@localhost ~]# cat showCatFile.txt    ## showCatFile.txt 文件内容 
Hello
World
[root@localhost ~]# 

## wc -l 统计输入重定向的 catFile.txt,并把结果输出重定向到 showWcFile.txt 文件
[root@localhost ~]# wc -l <catFile.txt >showWcFile.txt
[root@localhost ~]# 
[root@localhost ~]# cat showWcFile.txt 
2    ## 统计出有两行内容
[root@localhost ~]# 
                          
  • bc 计算输入重定向的文件 result.txt,把结果重定向输出到 showResult.txt。
[root@localhost ~]# vim result.txt    ## 编辑  result.txt,输入需要计算的内容

1+2
4-3
3*3
1/1                                                                         
~                                                                                       
~                                                                                       
~                                                                                       
:wq    ## 保存并退出

## bc 计算输入重定向的 result.txt,并把结果输出重定向到 showResult.txt 文件
[root@localhost ~]# bc <result.txt >showResult.txt
[root@localhost ~]# 
[root@localhost ~]# cat showResult.txt    ## 计算结果 
3
1
9
1
[root@localhost ~]# 
                   
  • ④、当指令执行键盘输入的内容后,再重定向输出到文件。屏幕不会显示输入时的内容,而是把指令执行的结果输出到指定文件。
[root@localhost ~]# cat <<end >file.txt
> 1
> 2
> 3
> 4
> 5
> end      ##/ <---- 收到结束符后不会打印输入的信息,而是重定向输出到 file.txt 文件
[root@localhost ~]# ll
total 8
-rw-r--r--. 1 root root 176 Oct 21 09:33 backups.txt
-rw-r--r--. 1 root root  10 Oct 21 10:44 file.txt
[root@localhost ~]# 
[root@localhost ~]# cat <file.txt    ## file.txt 的内容 
1
2
3
4
5
[root@localhost ~]# 

[root@localhost ~]# wc -l <<end >file.txt
> hello
> world
> end    ##/ <---- 收到结束符后不会打印输入信息有多少行,而是把答案重定向输出到 file.txt 文件
[root@localhost ~]# 
[root@localhost ~]# ll
total 8
-rw-r--r--. 1 root root 176 Oct 21 09:33 backups.txt
-rw-r--r--. 1 root root   2 Oct 21 10:48 file.txt
[root@localhost ~]# 
[root@localhost ~]# cat <file.txt    ## wc -l 统计的行数 
2
[root@localhost ~]# 

相关文章

  • 4-15 Linux中的输入重定向

    1、输入重定向:标准的输入设备是键盘,常规的输入途径通过键盘进行信息的输入。输入重定向就是不使用系统提供的标准输入...

  • Linux / Unix示例中的输入输出重定向

    Linux / Unix示例中的输入输出重定向 什么是重定向? 重定向是Linux中的一项功能,因此在执行命令时,...

  • linux重定向

    linux 重定向 的符号有 > >> < <<> >> 是输出重定向< << 是输入重定向0 用来表于标准输入1...

  • shell中的重定向

    linux shell下常用输入输出操作符是: 输出重定向 输入重定向

  • Shell | 标准输入输出重定向

    一、Linux 标准输入输出 二、标准输入输出重定向 1. 标准输入输出重定向是什么? 2. 标准输入输出重定向的...

  • linux 输入/输出重定向介绍

    linux 输入/输出重定向介绍 介绍 linux 内置的重定向能力提供了很多工具,使你更加轻松地完成各种各样的任...

  • Linux重定向day13

    1.重定向概述2.重定向的输出输入3.进程管道技术 一、重定向概述 什么是重定向:Linux重定向是指修改原来默认...

  • Linux定向输入和定向输出

    Linux下的标准输入和标准输出: 常用文件重定向命令:

  • 重定向

    输出重定向 输入重定向 错误重定向 管道 shell中特殊符号

  • Bash编程010——输入输出重定向

    Bash编程010——输入输出重定向 输入输出是任何一种编程环境中最基本的功能。我们在本节将会讨论Linux系统中...

网友评论

      本文标题:4-15 Linux中的输入重定向

      本文链接:https://www.haomeiwen.com/subject/eayxaltx.html