linux除了块设备还有什么设备
发布时间 - 2023-04-17 00:00:00 点击率:次linux除了块设备还有字符设备和网络设备 。字符设备是能够像字节流一样被访问的设备,当对字符设备发出读写请求,相应的IO操作立即发生;而网络设备是由Linux的网络子系统驱动,负责数据包的发送和接收,而不是面向流设备,因此在Linux系统文件系统中网络设备没有节点。
本教程操作环境:linux7.3系统、Dell G3电脑。
linux除了块设备还有字符设备和网络设备 。
Linux系统中的设备可以分为字符设备、块设备和网络设备这3类。
(1)字符设备
字符设备是能够像字节流一样被访问的设备,当对字符设备发出读写请求,相应的IO操作立即发生。Linux系统中很多设备都是字符设备,如字符终端、串口、键盘、鼠标等。在嵌入式Linux 开发中,接触最多的就是字符设备以及驱动。
(2)块设备
块设备是Linux系统中进行TO操作时必须以块为单位进行访问的设备,块设备能够安装文件系统。块设备驱动会利用一块系统内存作为缓冲区,因此对块设备发出读写访问,并不一定立即产生硬件I/O操作。Linux系统中常见的块设备有如硬盘、软驱等等。
(3)网络设备
网络设备既可以是网卡这样的硬件设备,也可以是一个纯软件设备如回环设备。网络设备由Linux的网络子系统驱动,负责数据包的发送和接收,而不是面向流设备,因此在Linux系统文件系统中网络设备没有节点。对网络设备的访问是通过socket调用产生,而不是普通的文件操作如 open/closc和 read/write等。
linux查看块设备信息
在linux中,可以使用lsblk命令来查看块设备信息。
lsblk命令的英文是“list block”,即用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,CD-ROM等等。lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。
lsblk命令有几个选项:
默认选项
lsblk命令默认情况下将以树状列出所有块设备。打开终端,并输入以下命令:
$ lsblk
输出如下:
lsblk default lsblk default
7个栏目名称如下:
NAME : 这是块设备名。 MAJ:MIN : 本栏显示主要和次要设备号。 RM : 本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。 SIZE : 本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。 RO : 该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。 TYPE :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。(LCTT译注,此处sr0的RO项没有标记为1,可能存在一些错误?) MOUNTPOINT : 本栏指出设备挂载的挂载点。
列出所有设备:
默认选项不会列出所有空设备。要查看这些空设备,请使用以下命令:
$ lsblk -a
该选项将列出所有设备,包括空设备在内。
lsblk bytes sda
lsblk bytes sda
列出设备权限和属主:
lsblk命令也可以用于列出一个特定设备的拥有关系,同时也可以列出组和模式。可以通过以下命令来获取这些信息:
$ lsblk -m lsblk permissions lsblk permissions
列出指定设备:
该命令也可以只获取指定设备的信息。这可以通过在提供给lsblk命令的选项后指定设备名来实现。例如,你可能对了解以字节显示你的磁盘驱动器大小比较感兴趣,那么你可以通过运行以下命令来实现:
$lsblk -b /dev/sda
或者,以下命令等同:
$ lsblk --bytes /dev/sda
以列表形式列出不带头的设备:
你也可以组合几个选项来获取指定的输出。例如,你也许想要以列表格式列出设备,而不是默认的树状格式。你可能也对移除不同栏目名称的标题感兴趣。可以将两个不同的选项组合,以获得期望的输出,命令如下:
$ lsblk -nl
或者,你可以使用下面的长选项,它们也能给出相同的输出。
$ lsblk --noheadings --list lsblk no header and list lsblk no header and list
列出SCSI设备:
要获取SCSI设备的列表,你只能使用-S选项。该选项是大写字母S,不能和-s选项混淆,该选项是用来以颠倒的顺序打印依赖的。
$ lsblk -S
lsblk列出SCSI设备,而-s是逆序选项(LCTT译注:将设备和分区的组织关系逆转过来显示),其将给出如下输出。输入命令:
$ lsblk -S
或者
$ lsblk --inverse
你可以使用lsblk来获取关于你的块设备的更多信息,自己把它试着显示出来吧
相关推荐:《Linux视频教程》
# linux
# 你可以
# 而不是
# 文件系统
# 感兴趣
# 树状
# 闪存盘
# 来实现
# 数据包
# 都是
# 本例
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
Android滚轮选择时间控件使用详解
微信小程序 HTTPS报错整理常见问题及解决方案
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
网站建设保证美观性,需要考虑的几点问题!
如何用搬瓦工VPS快速搭建个人网站?
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
微信小程序制作网站有哪些,微信小程序需要做网站吗?
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
如何在香港服务器上快速搭建免备案网站?
iOS发送验证码倒计时应用
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
如何在服务器上三步完成建站并提升流量?
Laravel如何使用withoutEvents方法临时禁用模型事件
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
怎么用AI帮你为初创公司进行市场定位分析?
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
高端云建站费用究竟需要多少预算?
微信小程序 scroll-view组件实现列表页实例代码
如何快速搭建二级域名独立网站?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
如何在云虚拟主机上快速搭建个人网站?
Android利用动画实现背景逐渐变暗
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
敲碗10年!Mac系列传将迎来「触控与联网」双革新
如何破解联通资金短缺导致的基站建设难题?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
香港服务器部署网站为何提示未备案?
Laravel如何处理CORS跨域请求?(配置示例)
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
微信小程序 配置文件详细介绍
深圳网站制作的公司有哪些,dido官方网站?
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
javascript中对象的定义、使用以及对象和原型链操作小结
Laravel如何实现本地化和多语言支持?(i18n教程)
网站建设整体流程解析,建站其实很容易!
Swift中switch语句区间和元组模式匹配
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
Laravel如何处理异常和错误?(Handler示例)
如何在不使用负向后查找的情况下匹配特定条件前的换行符
如何在 React 中条件性地遍历数组并渲染元素
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程


lsblk -b /dev/sda