linux
系统挂载了存储设备之后会有一些信息生成,这时候可以通过一些命令查看获取存储设备的信息
有些命令和工具可能系统没有自带,需要执行安装操作,像Ubuntu
系统一般执行apt install 工具名称
就可以了
/proc/partitions
$ cat /proc/partitions
major minor #blocks name
8 0 468851544 sda
259 0 1000204632 nvme0n1
259 1 975872 nvme0n1p
major
: 数字可以看做是设备驱动程序,被同一设备驱动程序管理的设备有相同的major device number
minor
:minor device number
代表被访问的具体设备blocks
: 表示存储设备都块的数量name
: 存储设备的标签
df
查看存储设备使用情况
$ sudo df -h
文件系统 大小 已用 可用 已用% 挂载点
tmpfs 3.2G 4.1M 3.2G 1% /run
/dev/nvme0n1p5 368G 187G 163G 54% /
tmpfs 16G 269M 16G 2% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
tmpfs 16G 0 16G 0% /run/qemu
/dev/nvme0n1p1 920M 282M 575M 33% /boot
/dev/nvme0n1p2 549G 422G 100G 81% /home
/dev/nvme0n1p4 953M 6.1M 947M 1% /boot/efi
/dev/sda 440G 392G 25G 95% /home/gong/files
fdisk
$ sudo fdisk -l
....
Disk /dev/nvme0n1:953.87 GiB,1024209543168 字节,2000409264 个扇区
Disk model: INTEL SSDPEKNW010T8
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:90A66A56-6910-428C-82FF-E82C0CAB6978
设备 起点 末尾 扇区 大小 类型
/dev/nvme0n1p1 2048 1953791 1951744 953M Linux 文件系统
/dev/nvme0n1p2 1953792 1173829631 1171875840 558.8G Linux 文件系统
/dev/nvme0n1p3 1173829632 1212891135 39061504 18.6G Linux swap
/dev/nvme0n1p4 1212891136 1214844927 1953792 954M EFI 系统
/dev/nvme0n1p5 1214844928 2000408575 785563648 374.6G Linux 文件系统
.....
可以看到磁盘的挂载点是/dev/nvme0n1
, 设备最大存储字节数和扇区数量,该设备下面的每个分区的情况等
parted
$ sudo parted -l
型号:INTEL SSDPEKNW010T8 (nvme)
磁盘 /dev/nvme0n1: 1024GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:
编号 起始点 结束点 大小 文件系统 名称 标志
1 1049kB 1000MB 999MB ext4
2 1000MB 601GB 600GB ext4
3 601GB 621GB 20.0GB linux-swap(v1) 交换
4 621GB 622GB 1000MB fat32 启动, esp
5 622GB 1024GB 402GB ext4
该输出和fdisk
的大体一样,但是没有展示loop
等伪设备信息
hwinfo
$ sudo apt install hwinfo
该工具可以获取系统的大部分硬件信息,包括cpu
,内存,磁盘等
现在主要展示磁盘信息
$ sudo hwinfo --disk
29: PCI 00.0: 10600 Disk
[Created at block.245]
Unique ID: wLCS.k7s0ooYnsC5
Parent ID: B35A.DDz_x3DkYn0
SysFS ID: /class/block/nvme0n1
SysFS BusID: nvme0
SysFS Device Link: /devices/pci0000:00/0000:00:1d.0/0000:02:00.0/nvme/nvme0
Hardware Class: disk
Model: "Intel SSD 660P Series"
Vendor: pci 0x8086 "Intel Corporation"
Device: pci 0xf1a8 "SSD 660P Series"
SubVendor: pci 0x8086 "Intel Corporation"
SubDevice: pci 0x390d
Driver: "nvme"
Driver Modules: "nvme"
Device File: /dev/nvme0n1
Device Files: /dev/nvme0n1, /dev/disk/by-id/nvme-INTEL_SSDPEKNW010T8_BTNH945004391P0B, /dev/disk/by-path/pci-0000:02:00.0-nvme-1, /dev/disk/by-id/nvme-eui.0000000001000000e4d25c0586905101
Device Number: block 259:0
Geometry (Logical): CHS 976762/64/32
Size: 2000409264 sectors a 512 bytes
Capacity: 953 GB (1024209543168 bytes)
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #7 (Non-Volatile memory controller)
包含字段主要有
Model: "Intel SSD 660P Series"
: 设备型号Vendor: pci 0x8086 "Intel Corporation"
厂商信息Driver Modules: "nvme"
驱动模块信息Size: 2000409264 sectors a 512 bytes, Capacity: 953 GB (1024209543168 bytes)
存储空间大小
/sys/class/block
下面所有操作都是在路径为/sys/class/block
开始的
查看所有存储设备
$ ls -l /sys/class/block
lrwxrwxrwx 1 root root 0 六月 5 09:01 loop9 -> ../../devices/virtual/block/loop9
lrwxrwxrwx 1 root root 0 六月 5 09:01 nvme0n1 -> ../../devices/pci0000:00/0000:00:1d.0/0000:02:00.0/nvme/nvme0/nvme0n1
lrwxrwxrwx 1 root root 0 六月 5 09:01 nvme0n1p1 -> ../../devices/pci0000:00/0000:00:1d.0/0000:02:00.0/nvme/nvme0/nvme0n1/nvme0n1p1
lrwxrwxrwx 1 root root 0 六月 5 09:01 nvme0n1p2 -> ../../devices/pci0000:00/0000:00:1d.0/0000:02:00.0/nvme/nvme0/nvme0n1/nvme0n1p2
lrwxrwxrwx 1 root root 0 六月 5 09:01 sda -> ../../devices/pci0000:00/0000:00:17.0/ata1/host0/target0:0:0/0:0:0:0/block/sda
下面采用sda
设备进行演示
查看设备基本信息以及设备类型
$ cat sda/uevent
MAJOR=8
MINOR=0
DEVNAME=sda
DEVTYPE=disk
DISKSEQ=9
设备是否可卸载,0,1表示
$ cat sda/removable
0
查看扇区数量,扇区是有大小的,一般是512字节一个扇区
$ cat sda/size
937703088
# 可以执行命令核对一下该参数的值
$ sudo fdisk -l /dev/sda
Disk /dev/sda:447.13 GiB,480103981056 字节,937703088 个扇区
Disk model: GALAX TA1D0480A
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
查看设备型号
$ cat sda/device/model
GALAX TA1D0480A
dmesg
内核缓冲信息(kernel ring buffer
),在系统启动时,包含许多与硬件有关的信息,可以用dmesg
查看
比如现在查看关于存储设备/dev/sda
的日志信息(发现关于存储设备的日志比较少,暂未发现别的地方有存储设备相关日志信息)
$ sudo dmesg|grep sda
[ 1.556496] sd 0:0:0:0: [sda] 937703088 512-byte logical blocks: (480 GB/447 GiB)
[ 1.556608] sd 0:0:0:0: [sda] Write Protect is off
[ 1.556618] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 1.556830] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.557131] sd 0:0:0:0: [sda] Preferred minimum I/O size 512 bytes
[ 1.591926] sd 0:0:0:0: [sda] Attached SCSI disk
[ 4.241354] EXT4-fs (sda): mounted filesystem with ordered data mode. Quota mode: none.
也可以直接查看日志文件
$ sudo cat /var/log/dmesg |grep sda