内存与IO,磁盘IO,网络IO

本文深入探讨了Linux系统中I/O的基本原理,包括文件系统I/O、内存与I/O的关系及网络I/O等内容。介绍了标准输入输出的概念及其重定向方法,并通过实例展示了如何利用管道进行数据处理。

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

本节主要内容:

系统IO原理:Linux

VFS  FD

pagecache

[java]

1文件系统的io

2内存和io关系

3网络io

任何程序都有

0:标准输入

1:标准输出

2:报错输出

/proc/$$进入当前进程目录

$$表示当前bash的pid 

$BASHPID 也可以获取进程pid

/proc/$$/fd  进入当前进程的文件描述符目录,可以查看打开哪些文件

命令:lsof -op $$ 也可以查看当前进程的详细信息

文件重定向:

ls ./    /etc/    1> zzz02.out     2>&    1

语法注意:1> zzz02.out 必须在前,因为标准输出2需要重定向到标准输入1

一般都是重定向到文件,但是这里是标准输出重定向到标准输入,因此必须使用>&

管道  |   ------------非常重要

先掌握几个基本的命令

head -n 文件名   显示文件的前n行,如果不带n,默认显示前10行

tail -n 文件名   显示文件的后n行,如果n不带,显示后10行

问题:怎么显示第八行的数据呢???

通过管道可以实现

head -8 zzz.txt | tail -1

export   变量名   export后的变量,会成为环境变量

代码块---即执行多条指令

{ echo "123"; echo "abc"; }

原因是:管道两边都会起一个子进程,然后将两个子进程并在一起。执行完管道后,又进入了父进程,因此a还是1

原因:$$ 的优先级比 | 高            但是$BASHPID的优先级比  |  低

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值