Linux基础复习:字符输入与输出

该文仅针对自身对Linux基础知识不足的地方进行补充扩展,便于巩固。

终端的输入和输出由字符设备管理。

1、查看当前字符设备

复制代码
# 查看当前bash进程
[root@openEuler-1 ~]# ps
    PID TTY          TIME CMD
   9662 pts/1    00:00:00 bash
   9938 pts/1    00:00:00 ps

# 该目录存放了当前进程打开的所有文件描述符的符号链接
[root@openEuler-1 ~]# cd /proc/9662/fd/

# 0表示输入、1表示标准输出、2表示错误输出
[root@openEuler-1 fd]# ls
0  1  2  255

# 可以看到其都链接指向/dev/pts/1
[root@openEuler-1 fd]# ll
total 0
lrwx------ 1 root root 64 Jul  8 17:23 0 -> /dev/pts/1
lrwx------ 1 root root 64 Jul  8 17:23 1 -> /dev/pts/1
lrwx------ 1 root root 64 Jul  8 17:23 2 -> /dev/pts/1
lrwx------ 1 root root 64 Jul  8 17:23 255 -> /dev/pts/1

# 当前使用的字符设备
[root@openEuler-1 fd]# ll /dev/pts/1
crw--w---- 1 root tty 136, 1 Jul  8 17:25 /dev/pts/1

# 回到最开始ps命令也有显示:
[root@openEuler-1 ~]# ps
    PID TTY          TIME CMD
   9662 pts/1    00:00:00 bash
   9938 pts/1    00:00:00 ps

测试将 date 命令的输出,输入到第二个终端使用的字符设备当中:

2、输入与输出工作流程

3、常用命令

|--------|----------------------|
| 命令 | 含义 |
| > | 将标准输出1重写入目标(>>为续写) |
| 2> | 将错误输出2重写入目标 |
| & | 将标准输出1和错误输出2都重写入目标 |
| | | 将标准输出1拿出来给标准输入 |
| tee | 将标准输入1复制一份给入目标 |
| 2>&1 | 强制将错误输出2转入给标准输出1 |

相关推荐
AI备忘录3 分钟前
(二十五)华为华三锐捷迈普思科 ERPS 环网保护配置命令(G.8032 五厂商对照)
运维·服务器·网络·网络协议·华为
木由里予11 分钟前
NAND 这门生意
运维·服务器·网络·单片机
slimer11 分钟前
11.C 语言 printf 打印函数详解:格式说明符、宽度精度与安全输出
linux·c语言
不会就选b19 分钟前
Linux之ip地址<3>
linux·运维·tcp/ip
Victor Zhong29 分钟前
llama.cpp 部署大模型到 Ubuntu 台式机 SOP
linux·ubuntu·llama
Kendra91937 分钟前
运维监控平台(Prometheus + Grafana)部署与维护
运维·grafana·prometheus
分布式存储与RustFS38 分钟前
指标、日志、链路进同一个桶:GreptimeDB 存算分离解读与 RustFS 接入配置
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
AAA代码批发商1 小时前
DAYS 57【Linux 驱动深度】I2C 子系统驱动开发全指南:从架构、核心数据结构到设备驱动实战
linux·驱动开发·架构·内核开发·i2c 子系统
橙色云-智橙协同研发1 小时前
电子高科技行业:机械与电子(MCAD & ECAD)如何协同?
大数据·运维·服务器·人工智能·安全
派小心.1 小时前
A/B实验分层随机种子的稳定性验证
大数据·服务器·前端·数据分析