32、文件系统
2015-10-04 01:18
453 查看
fdisk -l可以查看分区是否被正常分配
mount和df -l 可以看到分区是否被正常挂载
修改fstab可以开机自动挂载分区
sda1-4是分给主分区的,从五开始才能给逻辑分区,也就是说 主分区只能有三个 sda4 分给扩展分区表示
proc和sysfs分区是内存的分区,tmpfs和devpts是临时分区,其余的才是可用分区
du看到的文件大小是实际文件占用的大小,df里查看的是除了文件外还有还有进程和命令和内存占用的空间。所以需要定期重启linux服务器。
系统开机时会自动使用fsck命令,所以不太需要我们自己去使用此命令,自己操作反而可能会引发一些问题。
|选项|说明|
|-t|文件系统,加入文件类型系统来制定挂载点类型,比如ext3、ext4、iso9660等|
|-o|特殊选项,可以指定挂载的额外选项,参数表如下|
-o特殊选项参数说明
把光盘放入光驱;
mount [-t iso9660](可以不输入,光盘默认格式是iso9660) /dev/cdrom(是一个软连接,指向 -> /dev/sr0) /mnt/cdrom/ 挂载光盘
umount 设备文件名或者挂载点(两个都可以,但是不能都写)
卸载U盘的命令和卸载光盘一样
下载好之后通过winscp放入linux系统内之后,按照普通源码包的方式安装即可
先使用
进入之后,先执行
然后使用
使用
执行
fdisk交互命令一览
建立分区的步骤如下:
分区之后执行以下
分区建立完成后,需要格式化后才能正常挂载使用!
proc和sysfs分区是内存的分区,tmpfs和devpts是临时分区,其余的才是可用分区
第一项UUID是设备文件名
第二项是挂载点
第三项是文件格式
第四个字段是指这个分区挂载的时候,使用默认权限,具体可以查看前面的日志,
第五个字段是指分区是否被dump备份,0代表不备份,1代表每天都会被分,2代表不定期备份,备份文件在
第六个字段指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,数字越小级别越高。
如果要自动挂载某分区,可以在这个文件夹下,添加一条类似以上规则的信息,如
fstab文件修复
简单修复方式
一旦该文件出现了问题,可以做如下操作。
在开机启动的时候,提示挂载错误的时候,可以根据提示输入root密码,进入系统;
使用
使用
以上方法使用情况有限,如果是针对根目录的信息写错了,那么上述方法无效!所以以上方法只能修复fstab文件报错,并不常用
1. 先从磁盘分配一块分区;
2. 然后将
3. 使用
4. 加入
5. 取消
6. 开机自动挂载,在
mount和df -l 可以看到分区是否被正常挂载
修改fstab可以开机自动挂载分区
分区类型
分区名 | 在文件系统中的位置 |
---|---|
主分区1 | /dev/sda1 |
扩展分区 | /dev/sda2 |
逻辑分区1 | /dev/sda5 |
逻辑分区2 | /dev/sda6 |
逻辑分区3 | /dev/sda7 |
文件系统
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 |
du 统计文件夹大小
du [选项] [目录或文件名]
选项 | 说明 |
---|---|
-a | 显示每个子文件夹的系统占用量,默认只统计子目录的磁盘占用量 |
-h | 使用习惯单位显示容量,比如KB,MB或者GB |
-s | 统计总占用量,而不列出子目录和子文件的占用量 |
fsck
fsck [选项] 分区设备文件名
选项 | 说明 |
---|---|
-a | 不用显示用户提示,自动修复文件系统 |
-y | 自动修复,和-a作用一致,但是有的文件系统只支持-y |
显示磁盘状态命令 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