Linux 文件系统管理

目录

1 回顾分区和文件系统

1.1 分区类型

1.2 分区表示方法

1.3 文件系统

2 文件系统常用命令

2.1 文件系统查看

2.2 统计目录或文件大小

2.3 du命令和df命令的区别

2.4 文件系统修复

2.5 显示磁盘状态

2.6 挂载命令

2.6.1 查询

2.6.2 自动挂载

2.6.3 挂载

2.6.4 挂载光盘步骤

2.6.5 挂载U盘

2.7 NTFS文件系统

2.7.1 安装NTFS-3G(有网)

2.7.2 安装NTFS-3G(无网)

2.7.3 挂载NTFS文件系统

3 fdisk分区

3.1 fdisk命令分区过程

3.2 分区自动挂载与fstab文件修复

3.2.1 分区自动挂载

3.2.2 /etc/fstab文件修复

4 分配swap分区

4.1 挂载swap分区 

4.2 swap分区开机自动挂载


1 回顾分区和文件系统

1.1 分区类型

  • 主分区:总共最多只能分四个

  • 扩展分区:只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个。但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。

  • 逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘Linux最多支持11个逻辑分区

1.2 分区表示方法

1.3 文件系统

  • ext2:是ext文件系统的升级版本,Red Hat Linux7.2版本以前的系统默认都是ext2 文件系统。1993年发布,最大支持16TB 的分区和最大2TB的文件(1TB=1024GB=1024*1024MB)

  • ext3: ext3文件系统是ext2文件系统的升级版本,最大的区别就是带日志功能,以在系统突然停止时提高文件系统的可靠性。支持最大16TB的分区和最大2TB的文件

  • ext4:它是ext3文件系统的升级版。ext4 在性能、伸缩性和可靠性方面进行了大量改进。EXT4 的变化可以说是翻天覆地的,比如向下兼容EXT3、最大1EB文件系统和16TB文件、无限数量子目录、Extents连续数据块概念、多块分配、延迟分配、持久预分配、快速FSCK、日志校验、无日志模式、在线碎片整理、inode增强、默认启用barrier等。是CentOS 6.3的默认文件系统 (1EB=1024PB=1024*1024TB)

2 文件系统常用命令

2.1 文件系统查看

命令格式:df [选项] [挂载点]

选项:

  • -a 显示所有的文件系统信息,包括特殊文件系统,如 /proc、/sysfs
  • -h 使用习惯单位显示容量,如KB,MB或GB等
  • -T 显示文件系统类型
  • -m 以MB为单位显示容量
  • -k 以KB为单位显示容量。默认就是以KB为单位

常用命令

df    # 显示磁盘的文件系统与使用情况

df -h    # 以可读性较高的方式来显示信息

df -T    # 显示文件系统的类型

2.2 统计目录或文件大小

命令格式:du [选项] [目录或文件名]

选项:

  • -a 显示每个子文件的磁盘占用量。默认只统计 子目录的磁盘占用量
  • -h 使用习惯单位显示磁盘占用量,如KB,MB 或GB等
  • -s 统计总占用量,而不列出子目录和子文件的 占用量

常用命令

du -sh /    # 显示指定的目录或文件所占用的磁盘空间

2.3 du命令和df命令的区别

  • df命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)

  • du命令是面向文件的,只会计算文件或目录占用的空间

  • 如果df统计的空间远远大于du统计的空间,就需要进程系统重启,释放空间

2.4 文件系统修复

命令格式:fsck [选项] 分区设备文件名

选项:

  • -a: 不用显示用户提示,自动修复文件系统
  • -y: 自动修复。和-a作用一致,不过有些文件系统只支 持-y

小贴士:一般情况下,不建议使用

2.5 显示磁盘状态

命令格式:dumpe2fs 分区设备文件名

小贴士:dumpe2fs命令为ext文件系统家族的命令,如果文件系统类型为XFS,XFS默认支持ACL,可以使用 xfs_info /dev/xxx查看'XFS`文件系统信息。

2.6 挂载命令

2.6.1 查询

命令格式:mount [-l]

说明:查询系统中已经挂载的设备,-l会显示卷标名称

2.6.2 自动挂载

命令格式:mount –a

说明:依据配置文件/etc/fstab的内容,自动挂载

2.6.3 挂载

挂载命令格式:mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点

选项:

  • -t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统
  • -L 卷标名: 挂载指定卷标的分区,而不是安装设备文件名挂载
  • -o 特殊选项:可以指定挂载的额外选项

 文件系统场景类型

光盘或光盘镜像

iso9660

DoS fat16文件系统

msdos

Windows 9x fat32文件系统

vfat

Windows NT ntfs文件系统

ntfs

Mount Windows文件网络共享

smbfs

UNIX(LINUX)文件网络共享

nfs

特殊选项参数

特殊选项参数

说明

atime/noatime

更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新

async/sync

异步/同步,默认为异步

auto/noauto

自动/手动,mount–a命令执行时,是否会自动安装/etc/fstab文件内容挂载,默认为自动

defaults

定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项

exec/noexec

执行/不执行,设定是否允许在文件系统中执行可执行文件,默认是exec允许

remount

重新挂载已经挂载的文件系统,一般用于指定修改特殊权限

rw/ro

读写/只读,文件系统挂载时,是否具有读写权限,默认是rw

suid/nosuid

具有/不具有SUID权限,设定文件系统是否具有SUID和SGID的权限,默认是具有

user/nouser

允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认是不允许,只有root可以挂载分区

usrquota

写入代表文件系统支持用户磁盘配额,默认不支持

grpquota

写入代表文件系统支持组磁盘配额,默认不支持

案例:home下使用noexec权限那么即使是root用户也无法执行

mount -o remount,noexec /home    #重新挂载/boot分区,并使用noexec权限

cd /home

vim hello.sh

cat hello.sh

chmod 755 hello.sh

ll hello.sh

./hello.sh

mount -o remount,exec /home    #记得改回来啊,要不会影响系统启动的

./hello.sh

2.6.4 挂载光盘步骤

  • 建立挂载点
mkdir /mnt/cdrom/
  • 插入光盘(我的是虚拟机)

  • 挂载光盘
mount -t iso9660 /dev/cdrom /mnt/cdrom/
或
mount /dev/sr0 /mnt/cdrom/
  • 卸载光盘:umount 设备文件名或挂载点
umount /mnt/cdrom

2.6.5 挂载U盘

  • 插入Windows系统,查看U盘类型

  • 插入Linux系统,查看U盘设备文件名,fdisk –l

  •  挂载U盘

mkdir /mnt/usb/    # 建立挂载点

mount -t vfat /dev/sdb4 /mnt/usb/    # 挂载

mount /mnt/usb/    # 卸载

 注意:Linux默认是不支持NTFS文件系统的,比如移动硬盘。

2.7 NTFS文件系统

2.7.1 安装NTFS-3G(有网)

  • 使用yum源进行安装
yum -y install ntfs-3g

  • 报错:yum没有找到对应依赖包,更新epel第三方软件库,运行命令:
yum install -y epel-release

  • 更新完epel第三方软件库后,再次尝试使用yum命令安装对应的软件包 

2.7.2 安装NTFS-3G(无网)

  • 挂载光盘

  • repo 源配置

  • 使用yum命令安装NTFS-G

小贴士:已配置好yum源,但是本地yum源好像没有NTFS-3G软件包,安装失败。 

2.7.3 挂载NTFS文件系统

  • 查看移动硬盘类型

 

  • 查看移动硬盘(U盘格式为NTFS)设备文件名,fdisk –l

  •  挂载U盘

mkdir /mnt/usb/    # 建立挂载点

mount -t ntfs-g /dev/sdb4 /mnt/usb/    # 挂载

mount /mnt/usb/    # 卸载

3 fdisk分区

3.1 fdisk命令分区过程

  • 添加新硬盘

  •  查看新硬盘

  • 使用fdisk命令分区

  • 重新读取分区表信息
partprobe

小贴士:分区结束,保存退出时报错,可以使用该命令,如果没有报错,无需使用该命令。

  • 格式化分区
mkfs -t ext4 /dev/sdb1
mkfs -t ext4 /dev/sdb5

  • 建立挂载点并挂载
mkdir /disk1
mount /dev/sdb1 /disk1/
mkdir /disk5
mount /dev/sdb5 /disk5/

  • 查看

小贴士:本次挂载为临时挂载,重启之后每次都需要重新挂载。 

3.2 分区自动挂载与fstab文件修复

/etc/fstab文件内容

  • 第一字段:分区设备文件名或UUID(硬盘通用唯一识别码)

  • 第二字段:挂载点

  • 第三字段:文件系统名称

  • 第四字段:挂载参数

  • 第五字段:指定分区是否被dump备份,0代表不备份,1 代表每天备份,2代表不定期备份

  • 第六字段:指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,那么当然1的优先级比2高

3.2.1 分区自动挂载

  • 查看分区UUID,dumpe2fs -h /dev/sdb1 | grep UUID

  •  在/etc/fstab 文件中添加需要挂载的分区信息

  • 自动挂载目录
mount -a

小贴士:之前系统重启就可以进行自动挂载了

3.2.2 /etc/fstab文件修复

  • 假如/etc/fstab文件中有内容写错

  • 重新挂载会报错

 

  • 如果没有重新挂载,直接重启

 可能是我的版本比较新,系统会自动创建挂载点

mount -o remount,rw /

重新挂载,并赋予/挂载点为可读可写

4 分配swap分区

free:查看内存与swap分区使用状况

  • cached(缓存):是指把读取出来的数据保存在内存当中,当再次读取时,不用读取硬盘而直接从内存当中读取,加速了数据的读取过程

  • buffer(缓冲):是指在写入数据时,先把分散的写入操作保存到内存当中,当达到一定程度再集中写入硬盘,减少了磁盘碎片和硬盘的反复寻道,加速了数据的写入过程

-m:以 M 为单位​

4.1 挂载swap分区 

  • 新建swap分区
fdisk /dev/sdb

小贴士:别忘记把分区ID改为82

  • 格式化:mkswap /dev/sdb6    (和格式化普通分区的命令mkfs不一样)

小贴士:如果格式化失败,说明保存退出时报错,执行 partprobe 命令也没有生效,需要重启系统。 

  • 加入swap分区:swapon /dev/sdb6

说明:交换分区多了1G 

  • 取消swap分区:swapoff /dev/sdb6

4.2 swap分区开机自动挂载

vim /etc/fstab

​​​​​​​

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值