Linux基础知识2:块缓冲和行缓冲/<<:定义分隔符

块缓冲和行缓冲

提高电脑的效率

块缓冲

机械磁盘分为盘片和磁头,磁头收缩在磁道上写东西。磁盘高速旋转,磁头不断写东西

所以不要开着机带着电脑到处走,因为磁盘和磁头距离太小,容易损伤

所以写东西的时候电脑完成的顺序是:

1.完成现在操作
2.找到要写的磁道的位置
3.开始写入

所以最好一次多写点,不然磁盘一直转一直转很费命。所以现在基本上是先攒着(块缓冲),攒够了一定数目之后一起写。缺点是这样的话容易造成误报。比如:写1k的东西,实际是留在了缓存区,但是标准IO提示已经完成写入。结果重新掉电之后,东西丢了(但实际上这点东西不太重要,而且有电池/电池,所以问题不大)

由此引申,把存储设备称为块(block)缓冲设备。

行缓冲

printf就是一个行缓冲,遇到换行/程序结束/长时间/数据够多就输出。

<<: 定义分隔符

比如,cat不加宾语的时候

jskdalfeuiwu
jskdalfeuiwu
dsjaiogprei
dsjaiogprei
ska;gjriejng
ska;gjriejng
dskla;jio
dskla;jio

cat将会从标准IO中正向连续读入,读入一次输出一次,以换行为分隔符。(结束是ctrl + d)

如果对cat使用<<:

cat << EOF

则只有当输入EOF才认为是结束输入,认为此时的EOF是分隔符,EOF和任何别的如word效果一样(指定某个东西为分隔符)

heredoc> this
heredoc> is a
heredoc> test
heredoc> EOF
this
is a
test
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值