telnet 协议以及源码解析

本文探讨了telnetd服务与shell的基础知识,包括Linux终端与shell的关联,以及shell如何作为用户与内核交互的工具。同时讲解了Linux I/O系统,如文件、文件描述符和管道的工作原理,强调文件描述符在进程中的作用以及管道如何实现进程间通信。通过实例分析了dup系统调用如何复制和共享文件描述符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

telnetd

shell & tty basics

在我看来terminal=shell,以linux系统为例,一个terminal/shell 本质上就是一个程序,利用这个shell用户更加方便进行内核调用,以及调用其他程序。

  • 这个shell可以是bash,也可以sh。
  • shell运行的所有程序都是改shell程序的子进程,可以通过pstree看出。
  • 在一个shell中调用另外的shell sh -c "echo china".
  • shell 有绑定默认的tty文件,所有的输入输出默认在这个文件中,可以通过tty 查看。
  • tty文件的内容会自动显示在shell上,甚至可以直接对其他tty文件写入,从这个角度shell还是一个tty的显示器。
cat "Hello" > /dev/pts/1 
  • tty有三个stream(Each TTY has its own stdin, stdout, and stderr streams connected to it.)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值