• 欢迎访问显哥博客,本网站纯属学习技术,绝无商业用途,欢迎小伙伴们共同学习!研究技术!QQ:52249909 加我QQ
  • 世界75亿人,这么小的概率,能认识你,是我一生的幸运,不妨加个QQ接触一下:52249909 加我QQ

【一看就懂,一听就会】Linux重定向详解——输入重定向

技术栈 lixian 5年前 (2019-12-01) 2356次浏览 3个评论 扫描二维码
文章目录[隐藏]

一、啥是输入重定向

卧槽,我理解输入重定向时灰常的难以理解,其实用通俗的话来说就是:
改变输入的方式,比如我们通常标准输入是通过键盘来输入,向程序发出指令,
我们改变它的方向不再使用键盘作为命令输入的来源,而是使用文件作为命令的输入

二、文件描述符

标准输入文件的描述符 代表为 0

Linux shell 输入重定向

【一看就懂,一听就会】Linux重定向详解——输入重定向

三、实例操作(一看就懂,一听就会)干货:

1. 标准输入

正常键盘操作:
#以键盘作为标准输入设备,并将内容显示控制台。

[root@lixian ~]#ls -l                            
total 8
-rw-r--r--. 1 root root   7 Dec  1 12:54 err.txt
-rw-r--r--. 1 root root 102 Nov 30 23:05 out.txt

输入重定向操作:
#它是将err.txt文件指定为输入设备,并将内容显示到控制台,并不是用键盘设备输入。

[root@lixian ~]#ls -l <err.txt 
total 8
-rw-r--r--. 1 root root   7 Dec  1 12:54 err.txt
-rw-r--r--. 1 root root 102 Nov 30 23:05 out.txt

举个实际的例子:
我想查看messages-20191201 这个文件有多少行
使用wc -l 命令,其中,-c选项统计字节数,-w选项统计单词数,-l选项统计行数。
我以messages-20191201 为输入设备 ,导入给wc -l 命令,统计一下文件中的内容行数。

[root@lixian /var/log]#wc -l <messages-20191201 
19150
[root@lixian /var/log]#

2. 自定义输入

#使用特定的符号来当分界符,分界符可以自己自定义,
当用ls -l 这条命令会等待用户的输入,当用户输入之后 碰到相同的分界符,会自动结束输入,并将结果打印出来。

[root@lixian ~]#ls -l <<end
> dawkdw
> daw434645
> fje3243lrg
> end
total 4
-rw-r--r--. 1 root root   0 Dec  1 14:02 a.txt
-rw-r--r--. 1 root root   0 Dec  1 14:01 err.txt
-rw-r--r--. 1 root root 147 Dec  1 14:02 out.txt
[root@lixian ~]#

[root@lixian ~]#cat <<endli
> wdhiuahfiu435'3
> wejfoie435
> dejfirjgiotjgiotj
> end
> dwjdw
> endli
wdhiuahfiu435'3
wejfoie435
dejfirjgiotjgiotj
end
dwjdw
[root@lixian ~]#

3.输入并输出

以a.txt为输入的设备,以out.txt为输出的设备,
相当于a.txt发出指令告诉程序执行ls -l ,然后将结果输出到out.txt里面。

[root@lixian ~]#ls -l <a.txt >>out.txt 
[root@lixian ~]#cat out.txt 
total 0
-rw-r--r--. 1 root root 0 Dec  1 14:02 a.txt
-rw-r--r--. 1 root root 0 Dec  1 14:01 err.txt
-rw-r--r--. 1 root root 0 Dec  1 14:02 out.txt


本站博主 , 版权所有丨如未注明 , 均为原创
转载请注明原文链接:【一看就懂,一听就会】Linux重定向详解——输入重定向
喜欢 (11)

您必须 登录 才能发表评论!

(3)个小伙伴在吐槽
  1. :mrgreen: :mrgreen: good
    匿名2019-12-02 13:59
  2. 赞一个,希望继续更新 加油
    匿名2019-12-02 13:58