fdisk -l可以查看分区是否被正常分配
mount和df -l 可以看到分区是否被正常挂载
修改fstab可以开机自动挂载分区
分区类型
分区名 | 在文件系统中的位置 |
---|---|
主分区1 | /dev/sda1 |
扩展分区 | /dev/sda2 |
逻辑分区1 | /dev/sda5 |
逻辑分区2 | /dev/sda6 |
逻辑分区3 | /dev/sda7 |
sda1-4是分给主分区的,从五开始才能给逻辑分区,也就是说 主分区只能有三个 sda4 分给扩展分区表示
文件系统
ext2是ext文件系统的升级版本,现在已经到了,ext3比ext2增加了带日志的功能,支持最大16TB的分区和最大2TB的单个文件;ext4是ext3的升级版,它支持1EB的分区,和最大16TB的单个文件。1EB=1024PB=1024*1024TB。
文件系统常用命令
df 查看分区的命令
df [选项] [挂载点]
选项 | 说明 |
---|---|
-a | 显示所有的文件系统信息 |
-h | 使用习惯单位显示容量,比如KB,MB或者GB |
-T | 显示文件系统类型 |
-m | 以MB为单位显示容量 |
-k | 以KB为单位显示容量,默认就是KB |
proc和sysfs分区是内存的分区,tmpfs和devpts是临时分区,其余的才是可用分区
du 统计文件夹大小
du [选项] [目录或文件名]
选项 | 说明 |
---|---|
-a | 显示每个子文件夹的系统占用量,默认只统计子目录的磁盘占用量 |
-h | 使用习惯单位显示容量,比如KB,MB或者GB |
-s | 统计总占用量,而不列出子目录和子文件的占用量 |
du看到的文件大小是实际文件占用的大小,df里查看的是除了文件外还有还有进程和命令和内存占用的空间。所以需要定期重启linux服务器。
fsck
fsck [选项] 分区设备文件名
选项 | 说明 |
---|---|
-a | 不用显示用户提示,自动修复文件系统 |
-y | 自动修复,和-a作用一致,但是有的文件系统只支持-y |
系统开机时会自动使用fsck命令,所以不太需要我们自己去使用此命令,自己操作反而可能会引发一些问题。
显示磁盘状态命令 dumpe2fs
dumpe2fs 分区设备文件名
挂载命令
mount [-l]
查看已经挂载的设备
mount -a
依据配置文件 /etc/fstab/的内容,自动挂载,移动硬盘和光盘不能实行自动挂载,直接执行,会按照文件重新挂载一遍
mount [-t 文件系统] [-L 卷标名(一般不指定)] [-o 特殊选项] 设备文件名 挂载点
|选项|说明|
|-t|文件系统,加入文件类型系统来制定挂载点类型,比如ext3、ext4、iso9660等|
|-o|特殊选项,可以指定挂载的额外选项,参数表如下|
-o特殊选项参数说明
参数 | 说明 |
---|---|
remount | 重新挂载已经挂载的文件系统,一般用于指定修改特殊权限 |
suid/nosuid | 具有/不具有suid权限,默认是具有。 |
user/nouser | 允许不允许普通用户挂载,默认是不允许,只有root可以挂载分区 |
usrquota | 写入代表文件系统支持用户磁盘配额,默认不支持 |
qrpquora | 写入代表文件系统支持组磁盘配额,默认不支持 |
atime/noatime | 访问分区文件时,是否更新文件的访问时间,默认为更新 |
async/sync | 异步/同步,默认为异步 |
exec/noexec | 执行/不执行,设定是否允许在文件系统中执行可执行文件。默认是允许 |
rw/ro | 读写/只读,文件挂载,是否具有读写权限,默认是rw |
auto/noauto | 自动/手动,mount -a 命令执行时,是否会自动按照/etc/fastab/ 文件内容挂载,默认为自动 |
defaults | 定义默认值,相当rw ,suid ,dev ,exec ,auto ,nouser ,saync 七个选项 |
挂载光盘
mkdir /mnt/cdrom/
建立挂载点,也可以在media目录下挂载,其实任意位置均可;- 把光盘放入光驱;
- mount [-t iso9660](可以不输入,光盘默认格式是iso9660) /dev/cdrom(是一个软连接,指向 -> /dev/sr0) /mnt/cdrom/ 挂载光盘
- umount 设备文件名或者挂载点(两个都可以,但是不能都写)
挂载U盘
fdisk -l
查看U盘设备文件名 (一般应该是/dev/sdb1
)mount -t vfat 设备文件名 挂载点
用来挂在U盘。(在linux中,fat16格式的分区为fat,fat32格式识别为vfat,linux默认不支持ntfs)- 卸载U盘的命令和卸载光盘一样
让linux支持ntfs文件系统
重新编译linux内核
工作量太大,基本用不到,课程中也没讲!
使用第三方软件
NTFS-3G插件,下载地址 http://www.tuxera.com/community/ntfs-3g-download/
下载好之后通过winscp放入linux系统内之后,按照普通源码包的方式安装即可
- 先使用
tar -zxvf 文件名
解压 - 进入之后,先执行
./configure
->makr
->make install
,这三条命令可以并行./configure && make &&makeinstall
。 - 然后使用
mount -t [ntfs-3g]
命令挂载磁盘 - 使用
umount
卸载磁盘
分区fdisk
fdisk命令分区过程
- 使用
fdisk -l
查询新硬盘 - 执行
fdisk 硬盘设备文件名开始分区
fdisk交互命令一览
命令 | 原版说明 | 中文说明 |
---|---|---|
a | toggle a bootable flag | 设置可引导标记 |
b | edit bsd disklabel | 编辑bsd磁盘标签 |
c | toggle the dos compatibility flag | 设置dos操作系统标记 |
d | delete a partition | 删除一个分区 |
l | list known partition types | 显示已知的文件类型 |
m | print this menu | 显示帮助菜单 |
n | add a new partition | 新建分区 |
o | create a new empty DOS partition table | 建立空白dos分区 |
p | print the partition table | 显示分区列表 |
q | quit without saving changes | 不保存退出 |
s | create a new empty Sun disklabel | 新建空白sun磁盘标签 |
t | change a partition’s system id | 改变一个分区的系统id |
u | change display/entry units | 改变显示记录单位 |
v | verify the partition table | 验证分区表 |
w | write table to disk and exit | 保存退出 |
x | extra functionality (experts only) | 附加功能(仅专家) |
建立分区的步骤如下:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +5G
Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xfd3a8c59
Device Boot Start End Blocks Id System
/dev/sdb1 1 654 5253223+ 83 Linux
Command (m for help): n
Command action
e extended 扩展分区
p primary partition (1-4) 主分区
e
Partition number (1-4): 2
First cylinder (655-2610, default 655):
Using default value 655
Last cylinder, +cylinders or +size{K,M,G} (655-2610, default 2610):
Using default value 2610
Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xfd3a8c59
Device Boot Start End Blocks Id System
/dev/sdb1 1 654 5253223+ 83 Linux
/dev/sdb2 655 2610 15711570 5 Extended
Command (m for help): n
Command action
l logical (5 or over) 逻辑分区
p primary partition (1-4) 主分区
l
First cylinder (655-2610, default 655):
Using default value 655
Last cylinder, +cylinders or +size{K,M,G} (655-2610, default 2610): +10G
Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xfd3a8c59
Device Boot Start End Blocks Id System
/dev/sdb1 1 654 5253223+ 83 Linux
/dev/sdb2 655 2610 15711570 5 Extended
/dev/sdb5 655 1960 10490413+ 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
分区之后执行以下patprobe
重新加载分区表,主分区只能有三个。所以要想建立更多的分区需要在扩展分区中进行,扩展分区不是实际分区,只是逻辑分区的一个容器而已。
分区建立完成后,需要格式化后才能正常挂载使用!
mkfs -t ext4 /dev/sdb1
fdisk自动挂载与fstab文件修复
fstab文件介绍
[root@zuopu749 ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sat Sep 6 13:39:07 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_localhost-LogVol00 / ext4 defaults 1 1
UUID=ab4e7de0-afe7-4941-90b4-d639451580c6 /boot ext4 defaults 1 2
UUID=57af63e5-77c6-4029-8d45-f7633b5d70bf swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
proc和sysfs分区是内存的分区,tmpfs和devpts是临时分区,其余的才是可用分区
- 第一项UUID是设备文件名
- 第二项是挂载点
- 第三项是文件格式
- 第四个字段是指这个分区挂载的时候,使用默认权限,具体可以查看前面的日志,
mount
命令相关的 - 第五个字段是指分区是否被dump备份,0代表不备份,1代表每天都会被分,2代表不定期备份,备份文件在
lost-found
文件夹下, - 第六个字段指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,数字越小级别越高。
如果要自动挂载某分区,可以在这个文件夹下,添加一条类似以上规则的信息,如/dev/sbd1 /file ext4 defaults 0 2
。修改了这个文件之后,不要先着急重启,可以先执行mount -a
来检测下输入的信息是否有问题。
fstab文件修复
简单修复方式
一旦该文件出现了问题,可以做如下操作。
- 在开机启动的时候,提示挂载错误的时候,可以根据提示输入root密码,进入系统;
- 使用
mount -o remount,rw /
(因为在报错状态下进入系统,挂在的分区是只读分区不能修改文件,所以重新以读写权限重新挂载跟分区); - 使用
vi /etc/fstab
,进入fstab文件进行修复,保存退出后重启!
以上方法使用情况有限,如果是针对根目录的信息写错了,那么上述方法无效!所以以上方法只能修复fstab文件报错,并不常用
分配swap分区
查看swap和内存的命令是free [-m]
,buffer是缓冲,cached是缓存。
1. 先从磁盘分配一块分区;fdisk 设备文件名 -> n -> +1G
2. 然后将system id
改成swap
的82 命令是 t 键
按 w
键保存,然后执行partprobe
或者重启计算机;
3. 使用mkswap
命令格式化分区 mkswap 分区设备文件名
。
4. 加入swap
分区,swapon 分区设备文件名
。
5. 取消swap
分区,swapoff 分区设备文件名
6. 开机自动挂载,在fstab
文件中加入如下信息 /dev/sdb6 swap swap defaults 0 0