Linux 一切皆文件思想



“一切皆文件”

在linux开发过程中,相信大家都听过一句话叫作“limux下,一切皆文件”。这句话是linux/unix的哲学核心思想,下面我们就针对这句话给大家进行展开解释下。

这句话中的“文件”不仅仅是我们通常所指的文件,在linux和unix中它代表的更为宽泛。目录、字符设备、块设备、 套接字、进程、线程、管道等都被视为是一个“文件”,那么既然这样当我们建立一个文件时,我们如何来操作一个已经打开文件呢?

文件描述符(file descriptor),简称fd

这里就使用到了“文件描述符”,它是一个对应某个已经打开的文件的索引(非负整数)。下图表述了一个文件描述符的意义,


其中每一个文件描述符都是一个问文件的索引,当然也可以出现多个不同的文件描述符索引同一个文件。在linux系统中,0是标准输入的文件描述符,stdin。1是标准输出的文件描述符,stdout。2是标准错误输出的文件描述符,stderr。


 
 
  1. //test.cpp关于标准文件描述符的测试
  2. #include<unistd.h>//这是系统调用read和write和头文件
  3. #include<string.h>
  4. int main()
  5. {
  6. char *t = new char[ 10];
  7. read( 0, t, 10); //从标准输入(键盘)读取10个字节长度放入t中
  8. write( 1, t, strlen(t)); //将t中的前10个字节内容写出到标准输出(屏幕)上
  9. return 0;
  10. }
g++ -o test test.cpp

./test


其中第一个行的”ertewtr”是read系统调用我们输入的,第二行的”ertewtr”是write系统调用写到屏幕上的。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值