Linux操作系统基础IO(下)

一、标准输出和标准错误

标准输出和标准错误对应的都是显示器文件,其内容都会打印到显示器上。那么标准输出和标准错误有什么区别呢?标准输出和标准错误都打印到显示器上,我们怎么区分哪些是标准输出打印的信息,哪些是标准错误打印的信息呢?

我们用一段代码来对比一下标准输出和标准错误的区别:
我们分别往stdout文件和stderr文件里写入内容,标记为[1]号的内容是写入到stdout文件里的,标记为[2]号的内容是写入到stderr文件里的。

在这里插入图片描述


运行程序查看结果:
我们可以看到,向stdout文件写入的内容和向stderr文件写入的内容都打印到了显示器上。

在这里插入图片描述


输入指令:./myfile > stdout.txt
即将内容重定向到stdout.txt文件里,我们会发现结果只有标准输出文件里的内容被写入到了stdout.txt中,而标准错误文件里的内容并没有被写入,依然是打印在显示器上。

在这里插入图片描述

这个现象解释起来非常简单,我们的指令./myfile > stdout.txt默认是将标准输出文件里的内容进行重定向,完整的指令应该是:./myfile 1 > stdout.txt.
如果我们想要同时将标准输出文件重定向到一个新的文件,将标准错误文件重定向到另一个新的文件,应该输入这个指令:./myfile > stdout.txt 2>stderr.txt,此时就能将标准输出的内容和标准错误的内容分开到两个不同的文件里了。

在这里插入图片描述

如果我们就想要将标准输出和标准错误的内容都重定向到一个文件里,那我们需要使用这个指令:./myfile > all.txt 2>&1

在这里插入图片描述

二、文件系统

我们前面介绍过,在内存中的文件都是被打开的文件,我们一直进行的文件操作也是针对被打开文件的,但在磁盘上有大量的没有被打开的文件,这些文件就存储在磁盘里。所以对于文件系统的了解,我们不能还把视角放在内存上,而是应该把视角迁移到硬盘上。

1.磁盘的物理结构

如下是磁盘的内部结构图,磁盘的主轴串联着一摞盘片,每一个盘片都有两面,两面都可以存放数据,我们存储在磁盘上的数据就是在这个地方。传动轴的一端有磁头,磁头是在盘片上方的(并不与盘面接触),一方面盘片在旋转,另一方面磁头在摆动,盘片旋转决定的是磁头访问到的哪一块区域,磁头摆动决定的是访问盘片的内侧还是外侧,这就是磁盘的寻址过程。并且每一个盘面都配备一个磁头(即一个盘片的正反面都有磁头)。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JJP1124

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值