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 |

相关推荐
arbboter9 分钟前
【自动化】深入浅出UIAutomationClient:C#桌面自动化实战指南
运维·c#·自动化·inspect·uiautomation·uia·桌面自动化
二进制_博客31 分钟前
给CentOS的虚拟机扩容
linux·运维·centos
千钰v38 分钟前
Tcpdump: The Basics Tcpdump 基础
linux·运维·网络·tcpdump·tryhackme
kk5791 小时前
【Ubuntu】sudo apt update出现E :仓库***没有Release文件
linux·运维·ubuntu
cellurw1 小时前
Linux下C语言实现HTTP+SQLite3电子元器件查询系统
linux·c语言·http
belldeep1 小时前
Win10 上 Debian 12 如何安装 Redis ?
运维·redis·debian
文弱书生6561 小时前
5.后台运行设置和包设计与实现
服务器·开发语言·c#
..过云雨1 小时前
03.【Linux系统编程】基础开发工具1(yum软件安装、vim编辑器、编辑器gcc/g++)
linux·c语言·笔记·学习
Don't Look Down1 小时前
Rustdesk server docker-compose 一键搭建教程
运维·docker·容器
青草地溪水旁1 小时前
Linux 高性能 I/O 事件通知机制的核心系统调用—— `epoll_ctl`
linux·c语言·c++