位置: 编程技术 - 正文

linux dev 常见特殊设备介绍与应用(loop,null,zero,full,random)(linux dev/sr0)

编辑:rootadmin

推荐整理分享linux dev 常见特殊设备介绍与应用(loop,null,zero,full,random)(linux dev/sr0),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux dev/sr0,linux dev_dbg,linux dev命令,linux dev/shm,linux中dev,linux dev/shm,linux中dev什么意思,linux中dev什么意思,内容如对您有帮助,希望把文章链接给更多的朋友!

linux是文件型系统,所有硬件如软件都会在对于的目录下面有相应的文件表示。对于dev这个目录,我们知道它下面的文件,表示的是linux的设备。在windows系统中,设备大家很好理解,象硬盘,磁盘指的是实实在在硬件。而在文件系统的linux下面,都有对于文件与这些设备关联的。访问它们就可以放到实际硬件,想想还是linux灵活了。变成文件,操作该多简单了。不用调用以前com,prt等接口了。直接读文件,写文件就可以向设备发送读或者写操作了。 按照读写存储数据方式,我们可以把设备分为以下几种:字符型设备,块设备,伪设备。

一、设备分类

字符型设备

字符设备是指每次与系统传输1个字符的设备。这些设备节点通常为传真、虚拟终端和串口调制解调器、键盘之类设备提供流通信服务,它通常不支持随机存取数据。 字符设备在实现时,大多不使用缓存器。系统直接从设备读取/写入每一个字符。例如,键盘这种设备提供的就是一个数据流,当你敲入“cnblogs”这个字符串时,键盘驱动程序会按照和输入完全相同的顺序返回这个由七个字符组成的数据流。它们是顺序的,先返回c,最后是s。

块设备

块设备是指与系统间用块的方式移动数据的设备。这些设备节点通常代表可寻址设备,如硬盘、CD-ROM和内存区域。

块设备通常支持随机存取和寻址,并使用缓存器。操作系统为输入输出分配了缓存以存储一块数据。当程序向设备发送了读取或者写入数据的请求时,系统把数据中的每一个字符存储在适当的缓存中。当缓存被填满时,会采取适当的操作(把数据传走),而后系统清空缓存。它与字符设备不同之处就是,是否支持随机存储。字符型是流形式,逐一存储。

伪设备

在类Unix操作系统中,设备节点并不一定要对应物理设备。没有这种对应关系的设备是伪设备。操作系统运用了它们提供的多种功能。部份经常使用到的伪设备包括: null,zero,full,loop,random,urandom

二、特殊设备及使用

这里说到特殊设备除了硬盘主板等,只是它在linux shell命令里面,有特殊的作用,因此把它们单独拿出来。这些设备分别是:

/dev/stdin/dev/stdout/dev/stderr/dev/null/dev/zero/dev/full/dev/random,urandom/dev/fd/dev/tcp|upd/dev/loop

1、标准输出输入设备

还记得上次说的,linux重定向吗?可以看下:linux shell数据重定向(输入重定向与输出重定向)详细分析 。它们就是与几个特殊文件描述符对应,fd0,fd1,fd2 (stdin,stdout,stderr)

如:

/dev/stdin指的就是键盘设备

/dev/null设备

是个黑洞设备,它丢弃一切写入其中数据,空设备通常被用于丢弃不需要的输出流。记得当年用windows时候,有个类似的设备:NUL ,跟这个功能一样。任何写入该设备数据都会被丢弃掉。从这个里面读取数据返回是空。将一些不用内容经常发送给这个设备,丢弃不需要的数据。

如:

/dev/zero设备

在类UNIX 操作系统中, /dev/zero 是一个特殊的文件,当你读它的时候,它会提供无限的空字符(NULL, ASCII NUL, 0x)。其中的一个典型用法是用它提供的字符流来覆盖信息,另一个常见用法是产生一个特定大小的空白文件。

linux dev 常见特殊设备介绍与应用(loop,null,zero,full,random)(linux dev/sr0)

如:

在linux资源配额限制里面,如果没有现在普通用户的磁盘空间利用,或内存使用。一个普通用户就可以通过上面方法一会就塞满整个磁盘。也可以通过while(true) {fork……}类程序,启动无限线程,耗尽整个系统内存。

/dev/full设备

类Unix系统中,/dev/full(常满设备)是一个特殊设备文件,总是在向其写入时返回设备无剩余空间(错误码为ENOSPC),读取时则与/dev/zero相似,返回无限的空字符(NULL, ASCII NUL, 0x)。这个设备通常被用来测试程序在遇到磁盘无剩余空间错误时的行为。

如:

/dev/random[urandom]

在类UNIX操作系统中,/dev/random是一个特殊的设备文件,可以用作随机数发生器或伪随机数发生器。它允许程序访问来自设备驱动程序或其它来源的背景噪声。常用作随机数发生器。具体参考:linux shell实现随机数多种方法(date,random,uuid)

/dev/fd

记录用户打开的文件描述符

[chengmo@centos5 shell]$ ls /dev/fd/0 1 2 3

详细参考:

linux shell数据重定向(输入重定向与输出重定向)详细分析 文件描述符介绍。

/dev/tcp[udp]/host/port

读取该类形式设备,将会创建一个连接host主机port端口的tcp[upd]连接。打开一个socket通讯接口。

详细使用可以参考:

linux shell 脚本实现tcp/upd协议通讯(重定向应用)

/dev/loop

在类UNIX操作系统中,Loop设备 可以把loop 文件,作为块设备挂载使用。

如:

[chengmo@centos5 shell]$mount -o loop example.img /home/chengmo/img

#将img镜像文件挂载到/home/chengmo/img目录下面,有了这个设备,我们不需要通过虚拟光驱就可以读虚拟磁盘格式的文件。

说了很多linux 特殊设备,其它象cpu,内存,磁盘,网络,键盘,终端设备。跟我们windows里面常见差不多。有什么问题,欢迎交流!

linux shell命令快捷获得系统帮助(一)[man-pages定义规范] 作为刚刚学习linux朋友,我们拿到一个命令,不知道怎么样使用,一般都会先看下命令默认参数说明,然后再不清楚就是通过man命令查阅手册。还是找不

linux shell实现随机数几种方法分享(date,random,uuid) 在日常生活中,随机数实际上经常遇到,想丢骰子,抓阄,还有抽签。呵呵,非常简单就可以实现。那么在做程序设计,真的要通过自己程序设计出随

linux shell 脚本实现tcp/upd协议通讯(重定向应用) 前几天发了重定向以及管道相关使用方法,今天这里发些很有趣的例子。通过重定向实现基于tcp/udp协议的软件通讯。linux设备里面有个比较特殊的文件:/

标签: linux dev/sr0

本文链接地址:https://www.jiuchutong.com/biancheng/371372.html 转载请保留说明!

上一篇:linux whatis与whatis database 使用及查询方法(man使用实例)

下一篇:linux shell命令快捷获得系统帮助(一)[man-pages定义规范](linux shell脚本命令)

  • 个税返还手续费增值税申报填在哪里
  • 税控盘白盘和黑盘一样吗
  • 出差人员个人原因延迟返回
  • 外币收入的增值税是多少
  • 下列各项中免征增值税的有
  • 合同不交印花税合法吗
  • 收到投资款需要缴纳什么税
  • 增值税零申报触发附加税零申报
  • 外购商品增值税
  • 捐赠和赞助业务的税务处理怎么做?
  • 公司现金支票取现用途怎么填写
  • 小规模无票收入怎么做账
  • 抵账房产财务入账
  • 不再认证时段内
  • 财务费用期末结转后有余额吗
  • 印花税税目错了能申报更正吗
  • 易票365是哪家公司的
  • 单位给员工交社保怎么交怎么计算
  • 换账套期初数怎么填
  • 收到场地租赁费用计入什么科目
  • 出售固定资产账务如何处理
  • 模具费属于什么费用
  • 无法访问您可能没有权限使用资源
  • 为什么说人与人的悲欢不相通
  • Windows10如何禁止电脑自动安装软件
  • 公司为什么要签劳务协议
  • php数组函数 菜鸟
  • 实际缴纳消费税是什么意思
  • ErrorCaptureStackTrace(err); Error [ERR_MODULE_NOT_FOUND]: Cannot find module
  • php保存数据
  • php set_time_limit
  • codeigniter3中文手册
  • Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
  • 触屏不灵敏怎么调整oppo
  • 有限责任公司股东对公司债务承担
  • 办公费抵扣标准
  • php匿名函数和回调函数
  • mybatis isnotempty标签
  • 驱动开发做得长久吗
  • 物业公司电费最多可以收多少钱一度
  • 建筑业成本核算流程
  • 无偿提供建筑服务缴纳增值税
  • 一般纳税人认定管理办法
  • sql2000数据迁移到2008
  • PostgreSql新手必学入门命令小结
  • 企业研发费用加计扣除比例
  • 计提税金如何做凭证
  • 现金流量表为负数的几种原因
  • 水电费没有收到怎么处理
  • 固定资产处置损益怎么算
  • 电梯安装发票税收分类
  • 税控盘忘记抄报税怎么办
  • 未交增值税不用交了
  • 报税营业成本包括哪些费用
  • 预缴税款附加税享受优惠政策吗
  • 总资产报酬率的利息支出是财务费用吗
  • 企业办理土地证需要哪些资料
  • 销项负数发票如何作废
  • 企业所得税必须预缴吗
  • sqlserver的case 用法
  • 粘贴板有问题不能粘贴怎么处理
  • foxmail反应慢的原因
  • linux ipi
  • centos7编译c语言
  • 如何关闭windows防火墙
  • linux使用rpm安装软件
  • windows网络诊断在哪
  • win10能运行的单机游戏
  • linux设置utf8编码
  • Tutorial 8:Scaling Transformation
  • perl获取文件名
  • 使用的拼音
  • jquery网站开发
  • 脚本被删除
  • 查询某个时间段
  • pypy 使用
  • 迭代 python
  • 梦见擦窗户框
  • bootstrap要学到什么程度
  • 系统导出数据不完整
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设