【精通Linux系列】Linux中的输入输出与错误重定向详解

简介: 【精通Linux系列】Linux中的输入输出与错误重定向详解

🚀 作者 :“大数据小禅”


🚀 专栏简介 :本专栏主要分享Linux技术,会涉及到常用的Linux命令操作,常用的服务部应用署以及相关运维知识,还有一些Linux系统的深层解析,Linux系列专栏地址,欢迎小伙伴们订阅!


🚀 个人主页 :大数据小禅


🚀 粉丝福利 :加入小禅的大数据社群


🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬


目录

1:什么是输入重定向?

2:什么是输出重定向?

3:什么是错误重定向?

在linux中一切皆文件

1:输入重定向: <

2:输出重定向:> 代表覆盖写入(之前123.txt里面的内容会被覆盖掉) ; >> #代表追加写入(在原有的基础上继续写入)

3. 错误重定向:(错误重定向后要写上2 ,标准输出要加上的1可以省略)

几个符号常用符号

1:什么是输入重定向?

通俗的讲,输入重定向就是把要输入的信息写入到指定的文件中去


2:什么是输出重定向?

通俗的讲,输出重定向就是把要输出的信息写入到一个文件中去,而不是将要输出的文件信息输出到控制台(显示屏)


3:什么是错误重定向?

通俗的讲,错误重定向就是把错误的信息写入到一个文件中去


在linux中一切皆文件

文件描述符:

posix名称   文件描述符       用途

/dev/stdin    0           标准输入

/dev/stdout   1           标准输出

/dev/stderr   2           标准错误输出


1:输入重定向: <

eg:wc -l < 123.txt  #将123.txt里的输入,会统计出行数

2:输出重定向:> 代表覆盖写入(之前123.txt里面的内容会被覆盖掉) ; >> #代表追加写入(在原有的基础上继续写入)

eg: cat >> 123.txt ;
 cat > 123.txt ; ls -lrt >123.txt(也可以将ls -lrt列出的内容输出写入到123.txt中) ; 
 echo '123455' > 123.txt(将12345输入到123.txt)    
#ls -ltr(从底往高) ;
ls -lrt /home/ #列出home目录下的所有东西

3. 错误重定向:(错误重定向后要写上2 ,标准输出要加上的1可以省略)

例如,你输入llll,,因为这是个错误的命令,系统会输出 -bash :llll :command not found 。这个时候输入llll 2> 123.txt ,再查看123.txt这个文件的时候,里面的内容就是-bash :llll :command not found 。

linux的错误输出到无底洞:


eg:llll 2> 123.txt ;     llll 2> /dev/null                      
#/dev/null 无底洞#这样输入的话意思就是直接丢了这错误信息显示的东西,这个无底洞会直接把这个丢掉,不会占用磁盘。

几个符号常用符号

&

#代表等同于的 意思 ls -lrt /boot /test 1>/root/123.txt 2>&1 #1是标准输入


&>

#代表不分正确还是错误的意思 ls -lrt /boot /test &>123.txt #如果是没有test这个目录的话,ls-lrt这个命令就会错误列不出这个命令,那么上面的命令就不管这个目录在不在,这个符号都把他输入到这个文件夹。

|

#管道符 #cat /ect/passwd | grep root #这个管道符就是把passwd的内容列出来,之后grep出passwd里面含有这列字符的列表。(grep回忆用法见最后一行)

;

#代表的是可以执行多条命令 cat /etc/passwd | grep root ; ls -lrt # 先执行cat /etc/passwd再执行 grep root

&&(与与符号)

llll && echo 123#前面的命令执行成功的话,后面的才能执行成功。前面的命令执行失败的话后面的不可以执行。

||(两个管道符 就是或) #符号前面的命令执行成功的话后面的命令不能执行

grep

grep ‘119.4.253.206’ 123.txt | wc -l #查找123.txt里边含有这串数字的列表,需要精准匹配则需要加上 - 参数,后面加上 |wc -l就可以统计出这个数字行数。


相关文章
|
7月前
|
Unix Linux Shell
【探索Linux】P.12(文件描述符 | 重定向 | 基础IO)
【探索Linux】P.12(文件描述符 | 重定向 | 基础IO)
74 0
|
4月前
|
存储 Unix Linux
Linux I/O 重定向与管道
【8月更文挑战第17天】重定向在Linux中改变命令I/O流向,默认有&quot;&gt;&quot;覆盖输出至文件及&quot;&gt;&gt;&quot;追加输出至文件末尾,便于保存结果;使用&quot;&lt;&quot;从文件读取输入而非键盘,高效处理数据。文件描述符如0(stdin)、1(stdout)、2(stderr)标识I/O资源,支持读写操作。管道以&quot;|&quot;连接命令,使前一命令输出成为后一命令输入,如排序用户或找出CPU占用最高的进程,构建复杂数据处理流程。
53 9
|
4月前
|
存储 Unix Linux
Linux I/O 重定向与管道
【8月更文挑战第14天】输出重定向可将命令结果存入文件,如`&gt;`覆盖写入或`&gt;&gt;`追加写入。输入重定向从文件读取数据,如`&lt;`代替键盘输入。这些操作利用文件描述符(如0:stdin, 1:stdout, 2:stderr)管理I/O。管道`|`连接命令,使前一命令输出作为后一命令输入,便于数据处理,如排序用户`sort -t: -k3 -n /etc/passwd | head -3`或查找CPU占用高的进程`ps aux --sort=-%cpu | head -6`。
47 4
|
4月前
|
Unix Linux Shell
Linux I/O 重定向简介
Linux I/O 重定向简介
42 2
|
4月前
|
存储 Linux 数据处理
在Linux中,管道(pipe)和重定向(redirection)的是什么?
在Linux中,管道(pipe)和重定向(redirection)的是什么?
|
5月前
|
Linux 数据处理 C语言
【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向(下)
【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向(下)
84 0
|
5月前
|
Linux C语言 C++
【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向(上)
【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向(上)
58 0
|
6月前
|
Linux
【linux】重定向|缓冲区
【linux】重定向|缓冲区
42 0
|
7月前
|
Linux C语言 UED
【Linux】开始了解重定向
上一篇文章我们复习了C文件IO相关操作,了解了linux下的文件系统调用(open write read ),认识了文件描述符fd值,今天我们来学习重定向和缓冲区,这个缓冲区之前遇到过很多次,比如进度条项目的刷新缓冲区操作。然后我们可以来尝试封装一下系统调用,模拟C语言的文件库。
54 2
|
7月前
|
Linux
【Linux】Linux的管道与重定向
【Linux】Linux的管道与重定向