本网站相关文章:

Introduction

  1. 查看磁盘信息和分区信息
  • du: 目录空间占用情况
  • df: 已挂载磁盘使用情况
  • fdisk: 磁盘分区和磁盘挂载情况
  1. 挂载步骤
  • 挂载
  • 挂载系统盘
  • 开机自动挂载

ubuntu 分区

  1. 保证已有的/home分区中的数据不丢失, 在磁盘分区中选择 something else, 选择原有的主分区进行修改(use as 选择):
  • 主分区, Ext4, 挂载点为/, 其他分区照旧
  • 对于主分区, 不勾选”格式化分区”
  • 安装完毕后重启即可(为了避免出现问题, 还是先备份为好)
  1. 自定义磁盘分区, 格式化磁盘, 覆盖所有数据, 之后的操作类似 1)中的说明, 对于 250G 的磁盘, 分区方案如下:
1
2
3
4
50G           ext4             primary               /
180G ext4 无 /home
16G swap 无 Linux swap/ Solaris
其他 ext4 unused space Linux

附加: 不知道为何, 一定要将最后的磁盘空间设置为 unused space, 不然出现古怪问题!

  1. swap 分区: 交换分区, 用于内存不足时的应急, 查看当前系统是否设置 swap 方法:
1
cat /proc/meminfo | grep Swap

如果 SwapTotal 和 SwapFree 为 0, 则表示没有设置 swap 分区

磁盘信息查看

du

获取指定目录或者文件的磁盘使用情况, 格式为du [选项]... [文件]...

1
2
3
4
-d/--max-depth=N        目录层级
-s 显示每一项的统计信息
-S 每一个子目录单独现实, 父目录大小不包括子目录
-h human-readable方式打印

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 1. 递归显示所有子目录
# 显示当前目录下子目录的大小以及当前目录总大小, 注意, 仅仅显示目录, 不显示文件
du
# 查看某一个目录
du dir1
# 显示所有层级的每一个文件和目录的大小, 注意, 文件大小也显示
du -ah
# 统计当前目录中所有文件总和, 仅仅输出一行
du -sh

# 2. 查看子目录(注意仅仅包含目录), 不递归, 控制层级
du -h --max-depth=1

# 3. 文件
# 以byte为单位获取文件大小
du -b test.log
# 查看某个文件大小
du test.log
# 查看多个文件的空间大小, 列出各个文件大小
du test.log test1.log test2.log
# 查看多个文件, 并统计总和
du -c test.log test1.log test2.log

df

查看系统“已挂载”磁盘空间以及相关信息, 格式: df [选项]... [文件]...

1
2
3
4
5
6
7
8
9
10
-a 全部文件系统列表
-h human-readable 方式, 默认单位为1024
-H 默认单位为1000, 所以同一个磁盘, 两者可能现实不同的大小

-i 显示inode节点信息, 而并非使用量
-t 显示指定类型的磁盘系统
-T 输出文件系统的类型信息
-l 只显示本地系统

-B 指定每一块的大小, -BM默认为(10^20)

例子:

1
2
3
4
5
6
7
8
9
10
11
# 显示磁盘使用情况, 涉及挂载的磁盘文件系统信息
df
# 查看本地磁盘系统的信息, 比如/dev/disk1, /dev/disk2, 相比df输出更加人性化
df -lh

# 以inode来显示磁盘使用
df -i
# 显示指定磁盘类型, 例如查看ext3类型的磁盘
df -t ext3
# 展示文件系统的同时, 并列出文件系统类型
df -T

分区

fdisk

分区创建, 查看, 删除等操作, 常常用于磁盘分区操作, 例如查看所有磁盘分区情况命令: fdisk -lu

1
2
3
4
5
# 磁盘分区操作, 例如磁盘/dev/sdb, 磁盘的命令方式见下面
d 删除分区
n 新的分区
e 指定分区为扩展分区
w 将修改写入分区中

mkfs 族

在特定的 partition 上建立 linux 文件系统. 其必须使用使用 root 权限, 其中 mkfs 命令 : mkfs [-V] [-t fstype] [fs -options] filesystem [blocks], 其他命令还有 mkfs.ext3, mkfs.reiserfs, mkfs.ext2, mkfs.vfat 等等.

  • fstype: ext2,ext3, 默认为 ext2
  • block: 给定 block 的大小

例子:

1
2
3
4
5
6
#对磁盘修改之后, 注意对其进行格式化操作, 注意ext4文件系统格式化时, 不能对extended磁盘进行格式化操作:
mkfs -t ext4 /dev/sdb1
mkfs.ext3 /dev/sdb1

#格式化整个磁盘(注意该操作会将所有配置清空, 应该在最前面执行)
mkfs -t ext4 /dev/sdb

附加: 注意, 只有对每一个主分区单独格式化之后, 才会有唯一的 uuid 出现哦!

挂载

mount

挂载可移动存储媒体的命令(Mount a filesystem)

格式:

1
2
3
4
5
mount -a [options]
mount [options] [--source] <source>
mount [options] [--target] <directory>
mount [options] <source> <directory>
mount <operation> <mountpoint> [<target>]

选项:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
-a 挂载/etc/fstab中的所有文件系统
-f 模拟挂载, 但是并不真正的挂载
-F 并行挂载文件系统, 结合-aF使用
-n 挂载设备, 但是不注册到/etc/mtab已挂载设备文件中
-l 显示文件系统标签

-r 文件系统只读
-w 文件系统可读可写
-L label 将设备按指定的label挂载
-U uuid 将设备按指定的uuid挂载
-o <options> 指定挂载时的选项:
defaults 默认值(auto/nouser/rw/suid)
auto/noauto 允许或者不允许-a选项安装
dev/nodev 对/不对文件系统上的特殊设备进行解释
exec/noexec 允许/不允许执行二进制代码
suid/nosuid 确认/不确认suid和sgid位
user/nousr 允许/不允许一般用户挂载
codepage=XXX 代码页, 简体中文代码为936
iocharset=XXX 字符集, 例如gb2312
ro 只读
rw 读写
remount 重新安装
loop 挂载“回旋设备”以及“ISO镜像文件”
-t <filesystem type>:
ext2/ext3/ext4 linux文件系统
msdos MS-DOS使用的fat, 即fat16
vfat windows98上使用的, 即(fat32)
nfs 网络文件系统
iso9660 CD-ROM光盘标准文件系统
ntfs windows XP上的文件系统

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# a. 卸载
umount /dev/s1 >/dev/null 2>&1
# b. 将/dev/s1磁盘挂在到/mnt/s1目录上
mount /dev/s1 /mnt/s1
# c. 重新挂载
mount -o remount /dev/s1 /mnt/s1

# d. gb2312支持
mount -o iocharset=gb2312 codepage=936 /dev/hda5 /mnt/hda5

# e. 指定文件系统
mount -t vfat /dev/hda5 /mnt/hda5

# f. 挂载镜像文件
mount -o loop linux.iso /mnt/iso

fstab

fstab中的配置/etc/fstab会被 mount 解析, 其中配置选项说明:

1
2
3
4
5
file system          挂载的文件系统名称, 一般可以使用uuid来标识, 可以使用blkid来查看
mount point 挂载点, 手动创建的目录
type 文件系统类型, 例如ext3/ext4/ntfs等
option dump 0-备份, 1-内容备份
pass 指定如何检查磁盘, 自检顺序: 0——不自检, 1——挂载点根分区, 2——其他挂载点一般设置为大于2

开机自动挂载

查看需要自动挂在磁盘的 uuid: ls -l /dev/disk/by-uuid/, 编辑 fstab 文件

1
2
3
4
# sdb disk
UUID=a99e343d-7622-428b-9c8e-1ad52dde9fd0 /data ext4 defaults 0 2
# sdb disk for backup
UUID=3c05a37e-a200-4431-b1e3-1ecbffe830c5 /backup ext4 defaults 0 2

其中 uuid 分别代表/dev/sdb1, /dev/sdb3