gitstats/_posts/2020-01-04-linux-guide-kern...

11 KiB
Raw Blame History

layout title date author header-style tags
post 开源世界旅行手册:核心工具集(三) 2020-01-04 10:28:00 Viletyy text
Linux

核心工具集(三)

磁盘和内存管理

细节

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

/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文件中定义的所有设备。示例

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 显示磁盘信息

硬件管理

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 输入内容=实际内容

别名, 为命令指定一个别名,以简化输入。例如:

alias ls='ls -AF --color=auto'

可以将您的定义保存在~/.bashrc文件中

export 变量名

将变量导出为环境变量,常写变量赋值一同使用,例如:

export PATH="$PATH:xxx"

shutdown

关闭计算机向根进程init发送信号更改runlevel为0halt

选项 含义
-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 路径

更改根目录,重新定义会话的运行环境。(通常在多系统环境下使用)

参考资料: