核心工具集(三)
磁盘和内存管理
细节
Linux中,设备用/dev/目录下的文件表示。例如
1
2
3
4
/dev/hda1 第一块硬盘的第一主分区
/dev/hdb5 第五块硬盘的第一逻辑分区
/dev/sda4 第一块SATA硬盘的第四主分区,或者扩展分区
/dev/null 黑洞设备
mount 设备文件 [挂载路径]
挂载文件系统
-t 指定文件系统的类型 | 含义 |
---|---|
reiserfs | ReiserFS 3.6版 |
xfs | SGI技术 |
jfs | IBM技术 |
ext3 | Linux传统文件系统 |
vfat | fat fat32 |
ext2 | Linux传统文件系统,不带日志 |
ntfs | WINNT |
iso9660 | 光盘 |
smbfs | Windows文件共享 |
-o [选项] [选项2]…… | 含义 |
---|---|
loop | 环设备。光盘、ISO映像文件等,通常用于挂载映像文件(而不是设备文件) |
bind | 绑定。将一个目录(而不是设备文件)挂载到另一个目录 |
ro | rw | 只读 readonly; 可读写 read-write |
sync | async | 同步模式|异步模式。决定修改是否立即写入文件系统 |
atime | noatime | 读取时是否修改访问时间。对于写入敏感设备,例如闪存、软盘,建议使用noatime |
auto | noauto | 自动挂载模式 |
exec | noexec | 是否允许执行 |
defaults | 使用预设的选项 rw, suid, dev, exec, auto, nouser, async |
iocharset=UTF-8 | 指定字符集,可简写为utf8 |
codepage=936 | 指定代码页,可简写为cp936西文系统代码页为437 |
umask=权限掩码① | 设定权限掩码 |
uid=用户编号 | 设定归属用户 |
gid=群组编号 | 设定归属群组 |
remount 以不同的选项重新挂载
-L 卷标 挂载带有特殊卷标的分区
① 权限掩码=777-目标权限(三位)|7777-目标权限(四位)
假如权限掩码为022,则目标权限为755 rwxr-xr-x
可以使用umask命令设置权限掩码
提示
挂载NTFS分区时请使用utf8选项;挂载FAT分区时请使用iocharset=utf8,codepage=936选项,以避免乱码
挂载/etc/fstab文件中定义的所有设备。示例:
1
2
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.文件系统类型 分区设备文件
将分区格式化为文件系统。示例:
1
2
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 | 显示磁盘信息 |
硬件管理
lspci
查看PCI总线连接的设备(实际上也可以查看ISA、AGP、USB等总线信息)
选项 | 含义 |
---|---|
-v | |
-vv | |
-vvv | 显示详细信息 |
-k | 同时显示使用的驱动和加载的模块 |
-n | 显示设备ID号 |
-b | 显示PCI、ISA扩展槽地址和中断 |
-t | 显示总线树结构 |
-F 文件 | 从指定文件读信息 |
-m | |
-mm | 以便于机器处理的格式输出所有硬件信息 |
lsusb
查看USB接口连接的设备
lsmod
查看已加载模块。/lib/modules/uname -r 目录下为所有可用模块
modprobe 模块名称
启用模块
参数 | 含义 |
---|---|
-a | 加载所有匹配模块 |
-c | 显示当前使用的配置 |
-d | 显示调试信息 |
-k | 将指定模块设置为“自动清除”模式 |
-l | 显示所有匹配模块 |
-n | 模拟执行 |
-q | 不显示错误信息 |
-r | 删除使用命令加载的模块;对非命令加载的模块设置“自动清除”模式 |
-s | 将结果记录到系统记录中 |
-t | 指定模块类型 |
-v | 显示详细信息 |
-C | 指定配置文件。默认使用/etc/modules.conf文件为配置文件 |
其他
echo 字符串
回显。较复杂的字符串,可以使用”“括起来。
选项 | 含义 |
---|---|
-n | 输出内容不换行 |
-E | 不解析脱字符 |
-e | 解析脱字符 |
控制字符 | 含义 |
---|---|
\\ | 反斜线 |
\a | 警告 |
\b | 退格 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
clear
清空屏幕
alias 输入内容=实际内容
别名, 为命令指定一个别名,以简化输入。例如:
1
alias ls='ls -AF --color=auto'
可以将您的定义保存在~/.bashrc文件中
export 变量名
将变量导出为环境变量,常写变量赋值一同使用,例如:
1
export PATH="$PATH:xxx"
shutdown
关闭计算机,向根进程init发送信号,更改runlevel为0(halt)
选项 | 含义 |
---|---|
-h | 关闭电源 |
-r | 重启 |
-n | 强行关机,不向init进程发送信号 |
-k | 模拟关机,向登录者发送关机警告 |
-t 秒 | N秒后关机 |
time 时间 | 定时关机 |
-c [说明信息] | 取消关机 |
-f | 重启时忽略检测文件系统 |
-F | 重启时强制检测文件系统 |
halt
关闭计算机。调用shutdown -h,结束系统进程,同步文件系统,停止内核。
选项 | 含义 |
---|---|
-n | 不同步文件系统 |
-w | 模拟关机,写/var/log/wtmp记录 |
-f | 不调用shutdown,强行关机 |
-p | 默认选项,关机时调用poweroff |
-i | 关机前断开网络 |
**reboot **
重新启动计算机。选项与halt相似
init 数字
更改运行级别
级别 | 含义 |
---|---|
0 | 关机 |
1 | 单用户模式 |
6 | 重启 |
chroot 路径
更改根目录,重新定义会话的运行环境。(通常在多系统环境下使用)
参考资料: