硬件操作

df

df命令查看硬盘信息。

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

free

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

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

硬盘

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

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

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

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

mount

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

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

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

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

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

umount

umount命令用来卸载设备。

  1. $ umount [设备名]
  2. $ umount /dev/hdc

fdisk

fdisk命令用于格式化磁盘。

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

mkfs

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

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

fsck

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

  1. $ sudo fsck /dev/sdb1

dd

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

  1. $ dd if=input_file of=output_file [bs=block_size [count=blocks]]
  2. # 将 /dev/sdb 的所有数据复制到 /dev/sdc
  3. $ dd if=/dev/sdb of=/dev/sdc
  4. # 将 /dev/sdb 的所有数据拷贝到一个镜像文件
  5. $ dd if=/dev/sdb of=flash_drive.img
  6. # 从cdrom制作一个iso文件
  7. $ dd if=/dev/cdrom of=ubuntu.iso

dmidecode

dmidecode命令用于输出BIOS信息。

  1. $ sudo dmidecode

以上命令会输出全部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

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

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

以下是其他一些选项。

  1. # 查看BIOS信息
  2. $ sudo dmidecode t 0
  3. # 查看CPU信息
  4. $ sudo dmidecode -t 4

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

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

  1. $ sudo dmidecode -t system

lspci

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

  1. $ lspci

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

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

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

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

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

  1. $ lspci -vmm

lsusb

lsusb命令用于操作USB端口。

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

  1. $ lsusb

它的输出格式如下。

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

各个字段的含义如下。

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

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

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

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

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

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

  1. $ lsusb -v

查看USB端口的版本。

  1. $ lsusb -v | grep -i bcdusb