磁盘和内存管理

细节

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

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

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

mount 设备文件 [挂载路径]

挂载文件系统

-t 指定文件系统的类型 通常不必指定,mount 自动检测
常见类型 reiserfs ReiserFS 3.6版
xfs SGI 技术
jfs IBM 技术
ext3 Linux 传统文件系统
vfat fat fat32
ext2 Linux 传统文件系统,不带日志
ntfs WINNT
iso9660 光盘
smbfs Windows 文件共享
-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 文件中定义的所有设备。示例:

sudo mount -t iso9660 -o loop /dev/cdrom0 /media/cdrom
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.文件系统类型 分区设备文件

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

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

hdparm 磁盘设备文件

设置硬盘参数

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