在Linux系统中,设备(如磁盘、USB、打印机等)可以通过以下几种方式访问:
Linux将硬件设备抽象为文件,存放在 /dev 目录下。通过读写这些文件即可与设备交互。
块设备(如磁盘、SSD):
/dev/sda(第一块SATA磁盘)、/dev/nvme0n1(NVMe SSD)。mount /dev/sda1 /mnt)。字符设备(如键盘、串口):
/dev/ttyS0(串口)、/dev/input/mouse0(鼠标)。cat /dev/input/mouse0)。特殊设备:
/dev/null(黑洞设备)、/dev/zero(零源)、/dev/random(随机数生成器)。/sys(sysfs):
/sys/bus/usb/devices/)。echo "powersave" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor。/proc(procfs):
/proc/devices 或 /proc/interrupts 查看。/dev 下的设备文件。
/etc/udev/rules.d/ 可自定义设备命名或权限(如自动挂载USB)。udevadm info --query=all --name=/dev/sda。存储设备(如磁盘分区)需挂载到目录才能访问:
mount /dev/sdb1 /mnt/data # 挂载到/mnt/data
umount /mnt/data # 卸载
/etc/fstab 配置文件实现开机自动挂载。mount -t nfs 192.168.1.100:/share /mnt/nfsiscsiadm 连接远程存储。sshfs user@host:/path /mnt/sshfssmartctl(SMART检测)、hdparm(硬盘参数)。lsusb、usbview。open()、ioctl())直接操作设备文件。libusb(USB设备)、libpci(PCI设备)。dmesg 或 lsblk 查看设备名(如 /dev/sdd1)。bash
mkdir /mnt/usb
mount /dev/sdd1 /mnt/usbbash
umount /mnt/usbsudo 或加入 disk、plugdev 等用户组。/dev/sda)可能破坏数据,需谨慎。通过以上方式,Linux系统实现了灵活且统一的设备访问机制。