#4.Linux的设备管理

设备文件存放在/dev目录下

这个文件提供了设备的一些信息,文件类型为 b、c、p、s开头的文件或目录就是设备文件,大致为一下几种

/dev/sda为SATA第一块接口类型设备。/dev/hdb第二块IDE类型接口设备

块设备:如sda1就是块设备,其容量大小固定

字符设备:如打印机,其无固定容量大小,当对字符设备读写时,内核才会对相应的设备进行读写

管道设备:一根管子,有进有出,将数据导向需要的地方

套接字设备:跨进程通信时使用的对接口

文件系统类型

就像windows下的文件系统格式有FAT16、FAT32、NTFS,linux下有ext2 3 4 xfs的文件类型可供选择

ext4和xfs都是较新的文件类型,不同类型的文件系统差别在于读写速度,随机读写速度,查找操作、碎片产生多少、解压缩操作碎片产生所需的时间与速度各有优劣

磁盘分区

案例

/dev/sda1 启动分区

/dev/sda2 交换分区

/dev/sda3 根分区

  1. #以SATA接口的硬盘为例
  2. fdisk -l #查看所有硬盘和分区信息
  3. fdisk /dev/sda
  4. #进入fdisk模式
  5. 输入 n 建立引导分区
  6. 输入 p 确认创建主分区
  7. 输入1此为分区号
  8. 输入起始位置回车
  9. 输入结束位置+300M
  10. 输入 a
  11. 输入1
  12. #这样一个300M启动分区建立完成,并设置为启动状态,键入print可查看到 boot处有*标志
  13. #建立swap分区
  14. 输入 n 建立交换分区
  15. 输入 p 确认创建主分区
  16. 输入2分区号
  17. 输入起始位置回车
  18. 输入结束位置+1024M
  19. 输入 t 设置分区类型
  20. 输入82此为交换分区类型
  21. 输入 print 查看当前分区信息
  22. #建立根分区
  23. 输入 n
  24. 输入 p 确认创建主分区
  25. 输入3分区号
  26. 输入起始位置回车
  27. 输入结束位置回车使用剩余全部空间
  28. #完成键入 print查看分区信息
  29. 输入 w 对分区操作进行保存
  30. Calling ioctl() to re-read partition table.Syncing disks.

接下来还需要对分区进行格式化

  1. mkfs.ext3 /dev/sda1
  2. mkfs.ext4 /dev/sda3
  3. mkswap /dev/sda2

fdisk模式下可用的命令集合

  1. Command(m for help): m
  2. Command action
  3. a toggle a bootable flag
  4. b edit bsd disklabel
  5. c toggle the dos compatibility flag
  6. d delete a partition
  7. l list known partition types
  8. m print this menu
  9. n add a new partition
  10. o create a new empty DOS partition table
  11. p print the partition table
  12. q quit without saving changes
  13. s create a new empty Sun disklabel
  14. t change a partition‘s system id
  15. u change display/entry units
  16. v verify the partition table
  17. w write table to disk and exit
  18. x extra functionality (experts only)

磁盘挂载

  1. #mount 将要挂载的文件的格式 文件位置 挂载点
  2. mount -t iso9660 /dev/dvd /mnt # 挂载光驱
  3. mount -t ntfs-3g/dev/sdc1 /media/cdrom # 挂载ntfs硬盘
  4. mount -t vfat /dev/sda1 /mnt/usb # 挂载USB
  5. mount -o loop /xxx/**.iso /mnt/ # 挂载xxx目录下的镜像文件到mnt目录
  6. mount -t nfs 192.168.1.1:/home/aaa /home/bbb/mt
  7. #将NFS服务器上home目录下的aaa文件夹 挂载到本机home目录下bbb目录的mt目录下

设备监控

  1. udevadm monitor

可监控U盘的使用记录,udevadm是常用的管理工具其他用法,可以使用man udevadm查看

查看磁盘信息

  1. df #显示磁盘使用信息
  2. du #显示目录或文件占用磁盘信息
  3. quota #显示磁盘已使用和空间限额信息

LVM

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。

在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。因为如果估 计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区。

LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。(本段内容来自百度百科)

GRUB引导过程

(1) BIOS或者启动固件加载并运行引导装载程序。

(2) 引导装载程序在磁盘上找到内核映像,将其载入内存并启动。

(3) 内核初始化设备及设备的驱动程序。

(4) 内核挂载root文件系统。

(5) 内核使用进程号为PID 1来运行一个叫init的程序,用户空间在此时开始启动。

(6) init启动其他的系统进程。

(7) init还会启动一个进程,通常发生在整个过程的尾声,负责用户登录。

启动运行级别3位命令行模式,5为图形界面模式。可在/etc/inittab文件中修改启动级别,需root权限

来自为知笔记(Wiz)

时间: 2024-10-04 16:40:13

#4.Linux的设备管理的相关文章

八、Linux精简系统和内核管理裁剪(二)

八.内核服务管理 内核切换 chroot  initramfs(内核所在的目录) [[email protected] initramfs]# cd .. [[email protected] ~]# chroot initramfs/ bash-4.1# 自定义启动服务 1.编辑启动脚本文件,可以模仿/etc/rc.d/init.d/目录下的脚本文件. 2.cp启动脚本到/etc/rc.d/init.d/目录下. 3.配置启动项,chkconfig -add scriptname 手工编写启动

Linux字符设备驱动框架

字符设备是Linux三大设备之一(另外两种是块设备,网络设备),字符设备就是字节流形式通讯的I/O设备,绝大部分设备都是字符设备,常见的字符设备包括鼠标.键盘.显示器.串口等等,当我们执行ls -l /dev的时候,就能看到大量的设备文件,c就是字符设备,b就是块设备,网络设备没有对应的设备文件.编写一个外部模块的字符设备驱动,除了要实现编写一个模块所需要的代码之外,还需要编写作为一个字符设备的代码. 驱动模型 Linux一切皆文件,那么作为一个设备文件,它的操作方法接口封装在struct fi

linux 输入设备驱动

<输入子系统简介> a:背景 内核的输入子系统是对"分散的","多种不同类别"的输入设备(键盘,鼠标,跟踪杆,触摸屏,加速度计等)进行"统一处理"的驱动程序.具有如下特点: a-1:统一各种形态各异的相似的输入设备的处理功能(鼠标,不论是PS/2形的鼠标,还是usb形式的鼠标,还是蓝牙形式的鼠标),都做一样的处理. a-2:提供用于分发"输入报告"给用户应用程序的简单事件(event)接口.(驱动程序不必创建和管理

设备与驱动的关系以及设备号、设备文件

Linux设备分类Linux下的设备通常分为三类,字符设备,块设备和网络设备. 字符设备 一个字符设备是一种字节流设备,对设备的存取只能按顺序按字节的存取而不能随机访问,字符设备没有请求缓冲区,所有的访问请求都是按顺序执行的.Linux下的大多设备都是字符设备.应用程序是通过字符设备节点来访问字符设备的.设备节点一般都由mknod命令都创建在/dev目录下,下面的例子显示了串口设备的设备节点.字符设备文件的第一个标志是前面的“c”标志. root#ls -l /dev/ttyS[0-3]crw-

主设备号和次设备号

Linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录下,称为设备文件.应用程序可以打开.关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样.为了管理这些设备,系统为设备编了号,每个设备号又分为主设备号和次设备号.主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个设备.对于常用设备,Linux有约定俗成的编号,如硬盘的主设备号是3. 一个字符设备或者块设备都有一个主设备号和次设备号.主设备号和次设备号统称为设备号.主设备号用来表示一个

mknod命令的使用

1.mknod命令 在Linux系统下,mknod命令可用于系统下字符设备文件和块设备文件的创建. (1)命令语法 mknod(选项)(参数) (2)常用选项说明 -Z:设置安全的上下文. -m:设置权限信息. -help:显示帮助信息. --version:显示版本信息. (3)参数 文件名:要创建的设备文件名. 类型:指定要创建的设备文件类型,c代表字符设备文件. 主设备号:指定设备文件主设备号. 次设备号:指定设备文件次设备号. (4)实例 查看主设备号,并创建设备文件节点(字符设备,主设

Linux内核工程导论——用户空间设备管理

用户空间设备管理 用户空间所能见到的所有设备都放在/dev目录下(当然,只是一个目录,是可以变化的),文件系统所在的分区被当成一个单独的设备也放在该目录下.以前的2.4版本的曾经出现过devfs,这个思路非常好,在内核态实现对磁盘设备的动态管理.可以做到当用户访问一个设备的设备的时候,devfs驱动才会去加载该设备的驱动.甚至每个节点的设备号都是动态获得的.但是该机制的作者不再维护他的代码,linux成员经过讨论,使用用户态的udev代替内核态的devfs,所以现在的devfs已经废弃了.用户态

Linux设备管理之权限倾斜——mem、proc、devfs、sysfs、udev(下)

Jack:淫龙,Linux实现的设备管理机制是什么样子的呢? 我:在2.4内核里,主流的解决方案是devfs. Jack:我知道.在2.6里,devfs已经被udev替代了. 我:这种说法是不准确的,是一种外行看热闹的说法. Jack:怎么说? 我:让我给你讲一讲proc文件系统的起源吧.听完了,你自然就明白了. Jack:proc文件系统?穿越了. 我:在很久很久很久以前,Linux内核的所有代码都是写死的,如果你想修改其中一些参数,必须要手动修改源代码,然后重新编译,重新写软盘,重新跑起来.

Linux中的存储设备管理

1.设备识别 1)发现系统中的设备 <1> fdisk -l 发现系统中的所有设备(比较详细,有从那块空间开始,那块空间结束等具体的信息.) 2)cat   /prco/partitions 3)发现设备并且在使用 df   ---查看 df    -h    以10^n为单位 df    -H    以2^n为单位(比较精确) 4)系统已发现但是无法投入使用,随时可以使用的设备 2.设备名称的读取 /dev/xd* x=s /dev/sd*