磁盘文件管理
Linux磁盘管理常用三个命令为df、du和fdisk。
- df:列出文件系统的整体磁盘使用量
- du:检查磁盘空间使用量
- fdisk:用于磁盘分区
其他管理命令
- mkfs
- fsck
- dumpe2fs
- tune2fs
- e2labe
- mke2fs
- resize2fs
- e2fsck
- fsck
- blkid
创建 swap 分区
- mkswap
挂载及取消挂载
- mount,umount
一、fdisk
输入 # fdisk /dev/sd[a-z] <---这里我们对磁盘/dev/sda进行分区
然后对磁盘进行更新
# partx -a /dev/sda //或者使用 # partprobe
对磁盘格式化
# mkfs.ext4 /dev/sda4 //ext4 为文件格式,也可以设置成其他格式
对分区进行挂载
# mount /dev/sda4 /sda4file //sda4file为自己创建的挂载目录
如果想要开机自动挂载
# vi /etc/fstab <---进入配置文件
//编辑一下内容
/dev/sda4 /sda4file ext4 default 0 0 <---6项不能少
du 命令:显示每个文件所占磁盘的大小
语法
# du [选项] [文件名]
选项
- a | 显示目录中文件使用磁盘的大小,单位:KB |
---|---|
- b | 显示目录中文件使用磁盘的大小,单位:Bytes |
- c | 显示目录中文件使用磁盘的大小,同时也显示总和,单位:KB |
- k,-m | 显示目录中文件使用磁盘的大小,- k 单位:KB,- m 单位:MB |
- s | 仅显示目录的总和,单位:KB |
- h | 以 K M G为单位显示 |
df 命令:显示磁盘分区上可使用的空间
语法
# df [选项] [文件名]
选项
- a | 查看全部文件系统,单位默认:KB |
---|---|
- h | 查看全部文件系统,单位以 KB,MB;GB 来显示 |
实例演示一下
mkfs 命令:对分区进行格式化
选项
- t | 指定文件系统类型 |
---|
常见的文件系统类型: ext2 ext3 ext4 xfs btrfs
补充
# mkfs -t ext4=mkfs.ext4
fsck 命令:检查修复文件系统,可以同时检查一个或多个
语法
SYNOPSIS
fsck [-sAVRTMNP] [-C [fd]] [-t fstype] [filesys...] [--] [fs-specific-
options]
选项
filesys:device 名称(eg:/dev/sda4),mount(eg:/ 或者 /sda4file)
- t | 给文件系统指定类型 |
---|---|
- s | 一个一个有序执行 fsck 的指令来检查 |
- A | 对 /etc/fstab 中所有列出来的 partition 做检查 (如同 mount - a) |
- C | 显示完整的检查进度 |
- d | 打印 e2fsck 的 debug 结果 |
- p | 有 - A 时,同时有多个 fsck 的检查一起执行 |
- R | 有 - A 时,省略 / 不检查 |
- V | 详细显示 |
- a | 果果检查有错则自动修复 |
- r | 如果检查有错则由使用者回答是否修复 |
e2fsck 命令: 磁盘修复 (卸载后)
语法
# e2fsck [选项] device
选项
-a:自动修复
-b:设定surperblock位置
-B:设定块大小
-c:检查坏道
-C file:检查结果保存到file中
-f:强制检查
-F:检查前清空缓存
-v:显示详细报告
-V:显示版本信息并退出
-y:交互式
dumpe2fs 命令: 显示 ext 系列文件系统的属性信息
语法
dumpe2fs [-h] device
tune2fs 命令: 查看或修改 ext 系列文件系统的属性
-l:查看超级快内容
修改文件系统属性 :
-j:ext2-----> ext3
-L LABEL:修改卷标
-m # :设定预留空间 #代表百分比,默认占用5%的空间
e2label 命令: 卷标的查看与设定
查看:e2label device
设定:e2label device LABEL
mke2fs 命令: 专门管理ext系列文件系统工具
-t {ext2|ext3|ext4}指明要创建的文件系统类型
mkfs.ext2=mkfs -t ext2 =mke2fs -t ext2
-b{1024|2048|4096}:指定文件系统块大小
-L LABEL:指明卷标
-i #:指明inode百分比 , 每多少个字节创建一个inode
-N #:直接给定inode数量
-m # :设定预留空间 #代表百分比,默认占用5%的空间
resize2fs 命令: 调整文件系统大小 (etx 系列)
- f:强制执行
blkid 命令: 获取文件系统类型、uuid
blkid -L LABEL:根据 LABEL 定位设备
blkid -U uuid:根据 uuid 定位设备
swap分区: 当物理内存不够时,会将暂时不用的程序保存到 swap 分区中,释放一部分内存让其他程序来运行,若要运行该程序时,从 swap 中取出运行即可
free -m:查看当前的交换分区
swapon -s:读取 /etc/fatab
swapon -a:查看 swap 状态
mkswap :创建 swap 分区
创建 swap 分区
- 创建分区形式:
1.创建分区
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (641-1566, default 641):
Using default value 641
Last cylinder or +size or +sizeM or +sizeK (641-890, default 890):
Using default value 890
Command (m for help): p
Disk /dev/sda: 12.8 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 6 48163+ 83 Linux
/dev/sda2 7 515 4088542+ 83 Linux
/dev/sda3 516 1566 8442157+ 5 Extended
/dev/sda5 891 1015 1004031 83 Linux
/dev/sda6 1016 1566 4425876 83 Linux
/dev/sda7 516 640 1004031 83 Linux
/dev/sda8 641 890 2008093+ 83 Linux
2.指定分区类型为linux swap。这里的/dev/sda5就是我们要做swap的分区。
Command (m for help): t
Partition number (1-8): 5
Hex code (type L to list codes): 82
Command (m for help): p
Disk /dev/sda: 12.8 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 6 48163+ 83 Linux
/dev/sda2 7 515 4088542+ 83 Linux
/dev/sda3 516 1566 8442157+ 5 Extended
/dev/sda5 516 640 1004031 82 Linux swap
/dev/sda6 641 890 2008093+ 83 Linux
/dev/sda7 891 1015 1004031 83 Linux
/dev/sda8 1016 1566 4425876 83 Linux
3.w 保存退出
4.partx -a /dev/sda
5.mkswap /dev/sda5
6.blkid /dev/sda5
7.vi /etc/fstab
8.挂载 UUID="........" swap swap default 0 0
- 临时文件形式:
dd if=/dev/zero of=/tmp/swap bs=100 count=200
mkswap /tmp/swap //格式化为 swapfile
swapon /tmp/swap //启动使之成为 swap
提示
如果要删除该临时文件
swapoff /tmp/swap //先卸载 swap 分区
rm -rf /tmp/swap //删除即可
如果提示不安全权限0644,建议使用0600
chmod -R 0600 /tmp/swap
挂载及卸载 :mount,umount
mount:
mount -t 文件系统 -o 选项 设备名 挂在点
# mount -t iso9660 -o loop /dev/sr0 /media
mount:
-r:只读挂载
-w:读写挂载
-n:默认情况下 只要挂载或者卸载会同步更新/etc/mtab,
-n禁止同步
-t:指明文件系统
-L LABEL:挂载的时候以卷标指明设备
-U UUID:挂载的时候以UUID指明设备
-o:指定挂载选项
查看当前系统挂载那些设备
mount
cat /etc/mtab
cat /proc/mounts
umount
umount /devvice/directory
提示
正在使用的挂载点是无法被卸载的
lsof mountpoint //执行此语句,查看哪些进程使用该设备,结束掉再卸载