- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
PAGE232
Linux系统管理
Linux系统管理
PAGE232
「Linux文件及目录管理」输入输出重定向与管道
知识点解析
输入/输出重定向
标准输入(stdin):默认从键盘读取,文件描述符为0。
标准输出(stdout):默认输出到终端,文件描述符为1。
标准错误(stderr):默认输出到终端,文件描述符为2。
重定向符号:
:覆盖输出到文件(如commandfile)。
:追加输出到文件(如commandfile)。
:从文件读取输入(如commandfile)。
2:重定向错误输出(如command2error.log)。
:重定向所有输出(标准输出+错误输出)到文件(如commandall.log)。
管道(|)
将前一个命令的输出作为后一个命令的输入。
示例:command1|command2。
案例代码与解析
案例:重定向标准输出到文件
将ls命令的输出保存到文件(test.txt)
将当前时间追加到文件(test.txt)
#将ls命令的输出保存到目录列表文件
ls-ltest.txt
#查看test.txt写入的内容
cattest.txt
#总用量4#-rw.1rootroot12288月262021anaconda-ks.cfg
#-rw-r--r--1rootroot06月2117:17test.txt
#将当前时间追加到日志文件
datetest.txtcattest.txt
#总用量4#-rw.1rootroot12288月262021anaconda-ks.cfg
#-rw-r--r--1rootroot06月2117:17test.txt
#2025年06月21日星期六17:18:14CST
解析:
ls-l的输出被覆盖写入test.txt(若文件不存在则创建)。
date的输出被追加到test.txt末尾。
会清空目标文件后写入,会保留原有内容并在末尾追加。
案例:重定向标准错误
#查看当前目录下的内容
ls
#anaconda-ks.cfg
#查找不存在的文件,将错误信息保存到error.log(终端不显示错误)
find/nonexistent2error.log
#查看当前目录下的内容
ls
#anaconda-ks.cfgerror.log#查看error.log的内容
caterror.log
#find:‘/nonexistent’:没有那个文件或目录
#合并标准输出和错误输出到同一文件
catnonexistent_file.txtfull_log.txt
catfull_log.txt
#cat:nonexistent_file.txt:没有那个文件或目录
解析:
find命令的错误输出被保存到error.log,终端不显示错误。
cat命令的标准输出和错误输出均被保存到full_log.txt。
2仅重定向错误输出,或file21会重定向所有输出。
案例:管道操作
#统计当前目录下文件的数量
ls-l|grep^-|wc-l
#1#筛选出/etc目录下以.conf结尾的文件并显示行号
grep-n.conf$/etc/*2/dev/null|less
解析:
ls-l列出目录内容。
grep^-筛选出普通文件(以-开头的行)。
wc-l统计行数(即文件数量)。
grep-n显示匹配行的行号,2/dev/null丢弃错误信息。
案例:混合使用重定向与管道
#将错误输出重定向到/dev/null(丢弃),仅统计标准输出
ls-l/etc/nonexistent2/dev/null|grep^-|wc-l
#87
#统计/var/log目录下.log文件的数量(忽略错误)
ls/var/log/*.log2/dev/null|wc-l
#2
解析:2/dev/null丢弃错误输出,仅处理标准输出(如/etc目录下的文件)。
案例:从文件读取输入
#使用文件内容作为grep的输入(例如搜索users.txt中的用户名)
greproot/etc/passwd
#root:x:0:0:root:/root:/bin/bash
#operator:x:11:0:operator:/root:/sbin/nologin
#等价写法(更直观)
greproot/etc/passwd
解析:从文件读取输入,但直接传递文件名(如greproot/etc/p
文档评论(0)