32、文件系统

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交互命令一览

命令原版说明中文说明
atoggle a bootable flag设置可引导标记
bedit bsd disklabel编辑bsd磁盘标签
ctoggle the dos compatibility flag设置dos操作系统标记
ddelete a partition删除一个分区
llist known partition types显示已知的文件类型
mprint this menu显示帮助菜单
nadd a new partition新建分区
ocreate a new empty DOS partition table建立空白dos分区
pprint the partition table显示分区列表
qquit without saving changes不保存退出
screate a new empty Sun disklabel新建空白sun磁盘标签
tchange a partition’s system id改变一个分区的系统id
uchange display/entry units改变显示记录单位
vverify the partition table验证分区表
wwrite table to disk and exit保存退出
xextra 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值