~《Linux》~终端

本文详细探讨了Linux终端的各个方面,包括重定向操作、使用/dev/tty,深入解析termios结构及其各个模式,如输入、输出、控制和本地模式,并介绍了识别终端类型、terminfo库及功能标志的使用,同时还涵盖了虚拟控制台和伪终端的概念。
摘要由CSDN通过智能技术生成

《Linux》终端

一、对终端进行读写

1.1、重定向

在这里插入图片描述

int isatty(int fd); //<unistd.h>
如果打开的文件描述符fd连接到一个终端,则系统调用isatty返回1,否则返回0
  • 例子:
    /检查是否存在输出重定向
 if(!isatty(fileno(stdout)))
 {
   
         fprintf(stderr,"You are not a terminal!\n");
         exit(1);
 }
// int fileno(FILE *f); FILE * -> fd
  • 菜单1

代码:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
运行代码:
在这里插入图片描述
在这里插入图片描述

1.2、使用/dev/tty

关键代码
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述

二、termios结构

在这里插入图片描述

最小的termios结构的典型定义:

struct termios{
   
	tcflag_t c_iflag; 输入模式
	tcflag_t c_oflag; 输出模式
	tcflag_t c_cflag; 控制模式
	tcflag_t c_lflag; 本地模式
	cc_t c_cc[NCCS];  特殊控制字符
}; //<termios.h>	
int tcgetattr(int fd, struct termios *termios_p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值