硬件操作

Mr.Hope ... 2020-6-3 大约 4 分钟

# 硬件操作

# df

df 命令查看硬盘信息。

$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 15115452 5012392 9949716 34% /
/dev/sda5 59631908 26545424 30008432 47% /home
/dev/sda1 147764 17370 122765 13% /boot
1
2
3
4
5

# free

free 命令查看内存占用情况。

$ free
 total used free shared buffers cached
Mem: 513712 503976 9736 0 5312 122916
-/+ buffers/cache: 375748 137964
Swap: 1052248 104712 947536
1
2
3
4
5

# 硬盘

文件/etc/fstab 配置系统启动时要挂载的设备。

LABEL=/12               /               ext3        defaults        1   1
LABEL=/home             /home           ext3        defaults        1   2
LABEL=/boot             /boot           ext3        defaults        1   2
1
2
3

输出结果一共有 6 个字段,含义依次如下。

  • 设备名: 与物理设备相关联的设备文件(或设备标签)的名字,比如说/dev/hda1(第一个 IDE 通道上第一个主设备分区)。
  • 挂载点: 设备所连接到的文件系统树的目录。
  • 文件系统类型: Linux 允许挂载许多文件系统类型。
  • 选项: 文件系统可以通过各种各样的选项来挂载。
  • 频率: 一位数字,指定是否和在什么时间用 dump 命令来备份一个文件系统。
  • 次序: 一位数字,指定 fsck 命令按照什么次序来检查文件系统。

# mount

mount 不带参数时,显示当前挂载的文件系统。

$ mount
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda5 on /home type ext3 (rw)
1
2
3
4
5
6

这个列表的格式是: 设备 on 挂载点 type 文件系统类型(可选的)。

mount 带参数时,用于将设备文件挂载到挂载点,-t 参数用来指定文件系统类型。

$ mount -t iso9660 /dev/hdc /mnt/cdrom

# 挂载一个iso文件
$ mount -t iso9660 -o loop image.iso /mnt/iso_image
1
2
3
4

# umount

umount 命令用来卸载设备。

umount [设备名]

umount /dev/hdc
1
2
3

# fdisk

fdisk 命令用于格式化磁盘。

sudo umount /dev/sdb1
sudo fdisk /dev/sdb
1
2

# mkfs

mkfs 命令用于在一个设备上新建文件系统。

sudo mkfs -t ext3 /dev/sdb1
sudo mkfs -t vfat /dev/sdb1
1
2

# fsck

fsck 命令用于检查(修复)文件系统。

sudo fsck /dev/sdb1
1

# dd

dd 命令用于将大型数据块,从一个磁盘复制到另一个磁盘。

$ dd if=input_file of=output_file [bs=block_size [count=blocks]]

# 将 /dev/sdb 的所有数据复制到 /dev/sdc
$ dd if=/dev/sdb of=/dev/sdc

# 将 /dev/sdb 的所有数据拷贝到一个镜像文件
$ dd if=/dev/sdb of=flash_drive.img

# 从cdrom制作一个iso文件
$ dd if=/dev/cdrom of=ubuntu.iso
1
2
3
4
5
6
7
8
9
10

# dmidecode

dmidecode 命令用于输出 BIOS 信息。

sudo dmidecode
1

以上命令会输出全部 BIOS 信息。为了便于查看,往往需要指定所需信息的类别。

  • 0 BIOS
  • 1 System
  • 2 Base Board
  • 3 Chassis 4 Processor
  • 5 Memory Controller
  • 6 Memory Module
  • 7 Cache
  • 8 Port Connector
  • 9 System Slots
  • 10 On Board Devices
  • 11 OEM Strings
  • 12 System Configuration Options
  • 13 BIOS Language
  • 14 Group Associations
  • 15 System Event Log
  • 16 Physical Memory Array
  • 17 Memory Device
  • 18 32-bit Memory Error
  • 19 Memory Array Mapped Address
  • 20 Memory Device Mapped Address
  • 21 Built-in Pointing Device
  • 22 Portable Battery
  • 23 System Reset
  • 24 Hardware Security
  • 25 System Power Controls
  • 26 Voltage Probe
  • 27 Cooling Device
  • 28 Temperature Probe
  • 29 Electrical Current Probe
  • 30 Out-of-band Remote Access
  • 31 Boot Integrity Services
  • 32 System Boot
  • 33 64-bit Memory Error
  • 34 Management Device
  • 35 Management Device Component
  • 36 Management Device Threshold Data
  • 37 Memory Channel
  • 38 IPMI Device
  • 39 Power Supply

查看内存信息的命令如下。

$ sudo dmidecode -t 17
# 或者
$ dmidecode --type 17
1
2
3

以下是其他一些选项。

# 查看BIOS信息
$ sudo dmidecode –t 0

# 查看CPU信息
$ sudo dmidecode -t 4
1
2
3
4
5

dmidecode 也支持关键词查看,关键词与类别的对应关系如下。

  • bios 0, 13
  • system 1, 12, 15, 23, 32
  • baseboard 2, 10
  • chassis 3
  • processor 4
  • memory 5, 6, 16, 17
  • cache 7
  • connector 8
  • slot 9

查看系统信息的命令如下。

sudo dmidecode -t system
1

# lspci

lspci 命令列出本机的所有 PCI 设备。

lspci
1

该命令输出信息的格式如下。

03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)
1

输出信息一共分成三个字段。

  • Field 1: PCI bus slot 的编号
  • Field 2: PCI slot 的名字
  • Field 3: 设备名和厂商名

如果想查看更详细信息,可以使用下面的命令。

lspci -vmm
1

# lsusb

lsusb 命令用于操作 USB 端口。

下面命令列出本机所有 USB 端口。

lsusb
1

它的输出格式如下。

Bus 002 Device 003: ID 0781:5567 SanDisk Corp. Cruzer Blade
1

各个字段的含义如下。

  • Bus 002 : bus 编号
  • Device 003: bus 002 连接的第三个设备
  • ID 0781:5567: 当前设备的编号,冒号前是厂商编号,冒号后是设备编号
  • SanDisk Corp. Cruzer Blade: 厂商和设备名

找出本机有多少个 USB 接口可用。

$ find /dev/bus/
/dev/bus/
/dev/bus/usb
/dev/bus/usb/002
/dev/bus/usb/002/006
/dev/bus/usb/002/005
/dev/bus/usb/002/004
/dev/bus/usb/002/002
/dev/bus/usb/002/001
/dev/bus/usb/001
/dev/bus/usb/001/007
/dev/bus/usb/001/003
/dev/bus/usb/001/002
/dev/bus/usb/001/001
1
2
3
4
5
6
7
8
9
10
11
12
13
14

查看某个 USB 设备的详细情况。

lsusb -D /dev/bus/usb/002/005
1

查看所有设备的详细情况。

lsusb -v
1

查看 USB 端口的版本。

lsusb -v | grep -i bcdusb
1