系统管理-Linux重定向与管道

本文详细介绍了Linux系统管理中的重定向和管道技术,包括为何使用重定向、标准输入输出、输出重定向、输入重定向、进程管道技术以及 tee 管道技术的案例分析。通过这些技术,你可以更有效地管理和控制命令的输入输出,实现自动化运维任务。
摘要由CSDN通过智能技术生成
  • 标准输入与输出
  • 输出重定向
  • 输入重定向
  • 进程管道技术
    • tee管道技术
    • 参数传递xargs

为何要使用重定向

  1. 当屏幕输出的信息很重要,而且希望保存重要的信息时
  2. 后台执行中的程序,不希望他干扰屏幕正常的输出结果时
  3. 系统的例行命令, 例如定时任务的执行结果,希望他可以存下来时
  4. 一些执行命令,我们已经知道他可能出现错误信息, 想将他直接丢弃时
  5. 错误日志与标准正确日志需要分别输出至不同的文件

标准输入与输出

执行一个shell程序时通常会自动打开三个标准文件
  1. 标准输入(STDIN,文件描述符为0):通常对应终端的键盘,也可从其他文件或命令或者文件内容中输入
  2. 标准输出(STDOUT,文件描述符为1):默认输出到屏幕
  3. 错误输出(STDERR,文件描述符为2):默认输出到屏幕

文件名称(filename,文件描述符为3+)

进程将从标准输入中得到数据,将正常输出打印至屏幕终端,将错误的输出信息也打印至屏幕终端
在这里插入图片描述

进程使用文件描述符(file descriptors)来管理打开的文件

图片

以cat命令为例, cat命令的功能是从命令行给出的文件中读取数据,并将这些数据直接送到标准输出。若使用如下命令:

[root@liza ~]# cat /etc/passwd

将会把文件/etc/passwd的内容依次显示到屏幕上

但如果cat命令行中没有参数, 它就会从标准输入中读取数据, 并将其送到标准输出

[root@liza ~]# cat 
hello
hello
^C
用户输入的每一行都立刻被cat命令输出到屏幕上
输入输出过程检测

持续追踪查看文件内容

[root@liza ~]# tail -f /etc/passwd
ctrl+z 将进程转到后台
查看运行的进程
[root@liza ~]# ps
   PID TTY          TIME CMD
 14550 pts/2    00:00:00 bash
 14678 pts/2    00:00:00 tail
 14687 pts/2    00:00:00 ps
查看6885进程下的文件描述符
[root@liza ~]# ls -l /proc/6885/fd
Linux查看标准输入输出设备
[root@liza ~]# ls -l /dev/std*
lrwxrwxrwx. 1 root root 15 Jan  3 23:07 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx. 1 root root 15 Jan  3 23:07 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx. 1 root root 15 Jan  3 23:07 /dev/stdout -> /proc/self/fd/1

输出重定向

重定向: 改变标准输入、标准输出的方向的就是重定向

  1. 标准覆盖输出重定向 >
  2. 标准追加输出重定向 >>
  3. 错误覆盖输出重定向 2>
  4. 错误追加输出重定向 2>>
  5. 输入重定向 <
    在这里插入图片描述
案例1: 标准输出重定向(覆盖)

在这里插入图片描述

标准输出重定向, 先清空,后写入, 如果文件不存在则创建

[root@liza ~]# ifconfig ens33 > abc
[root@liza ~]# cat abc 
ens33: flags=4163<UP,BROADCAST,RU
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值