「Linux文件及目录管理」输入输出重定向与管道.docxVIP

「Linux文件及目录管理」输入输出重定向与管道.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

夜晚回家 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档