磁盘和内存管理

细节

Linux 中,设备用/dev/目录下的文件表示。例如

  1. /dev/hda1 第一块硬盘的第一主分区
  2. /dev/hdb5 第二块硬盘的第一逻辑分区
  3. /dev/sda4 第一块 SATA 硬盘的第四主分区,或者扩展分区
  4. /dev/null 黑洞设备

关于磁盘设备,详见“分区概念”一节

mount 设备文件 [挂载路径]

挂载文件系统

-t指定文件系统的类型通常不必指定,mount 自动检测
常见类型reiserfsReiserFS 3.6版
xfsSGI 技术
jfsIBM 技术
ext3Linux 传统文件系统
vfatfat fat32
ext2Linux 传统文件系统,不带日志
ntfsWINNT
iso9660光盘
smbfsWindows 文件共享
-o [选项1] [选项2] …..  
选项loop环设备。光盘、ISO 映像文件等,通常用于挂载映像文件(而不是设备文件)
bind绑定。将一个目录(而不是设备文件)挂载到另一个目录
ro | rw只读 readonly;可读写 read-write
sync | async同步模式|异步模式。决定修改是否立即写入文件系统
atime | noattime读取时是否修改访问时间。对于写入敏感设备,例如闪存、软盘,建议使用 noatime
auto | noauto自动挂载模式
exec | noexec是否允许执行
defaults使用预设的选项 rw, suid, dev, exec, auto, nouser, async
iocharset=UTF-8指定字符集,可简写为 utf8
codepage=936指定代码页,可简写为 cp936 西文系统代码页为 437
umask=权限掩码1设定权限掩码
uid=用户编号设定归属用户
gid=群组编号设定归属群组
remount以不同选项重新挂载 
-L 卷标挂载带有特殊卷标的分区 

1

权限掩码=777-目标权限(三位) | 7777-目标权限(四位)

假如权限掩码为 022 ,则目标权限为 755 rwxr-xr-x

可以使用 umask 命令设置权限掩码

[提示]提示
挂载 NTFS 分区时请使用 utf8 选项;挂载 FAT 分区时请使用 iocharset=utf8,codepage=936 选项,以避免乱码

mount -a

挂载 /etc/fstab 文件中定义的所有设备。示例:

  1. sudo mount -t iso9660 -o loop /dev/cdrom0 /media/cdrom
  2. sudo mount -t vfat -o remount iocharset=utf8,codepage=936 /dev/hda5 /media/hda5

umount 设备文件 | 挂载路径

卸载已挂载文件系统

df

查看已挂载文件系统的磁盘空间占用

-a显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc 文件系统
-T显示文件系统类型
-k以 k 字节为单位显示
-i显示 i节点 信息,而不是磁盘块
-t 文件系统类型显示指定类型的文件系统的磁盘空间使用情况
-x 文件系统类型列出排除指定类型文件系统的磁盘空间使用情况(与 t 选项相反)
-l只显示本地文件系统

free

查看内存、缓冲区、交换空间的占用

-b以字节为单位显示数值
-k以千字节为单位显示数值
-m以兆字节为单位显示数值
-g以吉字节为单位显示数值
-l显示内存占用峰值
-o不显示缓冲区占用
-t统计结果
-s 秒刷新频率

sync

同步文件系统。将缓冲区中的数据写入文件系统

fdisk 磁盘设备文件

分区表修改工具(磁盘设备文件应为整块磁盘,而不是磁盘中的分区。例如 /dev/sda ,而不是 /dev/sda1)

m使用帮助
l查看已知文件系统类型
p显示分区信息
n新建分区 (p:主分区 l:扩展分区 参见 “分区概念”一节 )
d删除分区
t改变分区类型
w将改动写入分区表
q放弃改动并退出

fdisk -l 查看所有磁盘分区信息

cfdisk

更加友善的分区表修改工具

mkfs.文件系统类型 分区设备文件

将分区格式化为文件系统。示例:

  1. sudo mkfs.reiserfs /dev/hda1
  2. sudo mkfs.xfs /dev/sda1

hdparm 磁盘设备文件

设置硬盘参数

-d 0|1DMA 模式开关
-a 0|1预读模式开关
-t性能测试
-T缓存性能测试
-c 0|1|332位传输模式开关
-g显示柱面,扇区等信息
-i|-I显示磁盘信息