Linux~文件系统管理。

Linux 文件系统管理。



  1. 文件系统管理。
    9.1. 回顾分区和文件系统。
    9.2. 文件系统常用命令。
    9.3. fdisk 分区。
    9.4. /etc/fstab 文件修复。
    9.5. 分配 swap 分区。

9.1. 回顾分区和文件系统。

分区类型。
  • 主分区:总共最多只能分 4 个。
  • 扩展分区:只能有一个,也算作主分区的一种,也就是说主分区 + 扩展分区最多有 4 个。但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。
  • 逻辑分区:逻辑分区是在扩展分区中划分的。
    • 如果是 IDE 硬盘, Linux 最多支持 59 个逻辑分区。
    • 如果是 SCSI 硬盘, Linux 最多支持 11 个逻辑分区。
分区表示方法。
主分区 1		/dev/sda1
主分区 2		/dev/sda2
主分区 3		/dev/sda3
扩展分区		/dev/sda4
	逻辑分区 1		/dev/sda5
	逻辑分区 2		/dev/sda6
	逻辑分区 3		/dev/sda7
主分区 1		/dev/sda1
扩展分区		/dev/sda2
	逻辑分区 1		/dev/sda5
	逻辑分区 2		/dev/sda6
	逻辑分区 3		/dev/sda7

逻辑分区 1 始终从 sda 5 开始。

文件系统。
  • ext2:是 ext 文件系统的升级版本,Red Hat Linux 7.2 版本以前的系统默认都是 ext2 文件系统。1993 年发布,最大支持 16 TB 的分区和最大 2 TB 的文件(1 TB = 1024 GB = 1024 * 1024 MB)。
  • ext3:是 ext2 文件系统的升级版本,最大的区别就是带日志功能,以在系统突然停止时提高文件系统的可靠性。最大支持 16 TB 的分区和最大 2 TB 的文件(1 TB = 1024 GB = 1024 * 1024 MB)。(CentOS 6 以前)。
  • ext4:是 ext3 文件系统的升级版本,ext4 在性能、伸缩性和可靠性方面进行了大量改进。ext4 的变化可以说是翻天覆地的。eg. 向下兼容 ext3 、最大支持 1 EB 的分区和最大 16 TB 的文件。无限数量子目录、Extends 连续数据块概念、多块分配、延迟分配、持久预分配、快速 FSCK、日志校验、无日志模式、在线碎片整理、inode 增强、默认启用 barrier 等。是 CentOS 6.3 的默认文件系统。(1 EB = 1024 PB = 1024 * 1024 TB)。

9.2. 文件系统常用命令。

9.2.1. 文件系统常用命令。df 、 du 、 fsck 、 dumpe2fs
  • 文件系统查看命令 df。

[root@localhost ~]# df [选项] [挂载点]
选项。
-a。 —> 显示所有的文件系统信息,包括特殊文件系统。eg. /proc 、 /sysfs。
-h。 —> 使用习惯单位显示容量。如 KB,MB 或 GB 等。
-T。 —> 显示文件系统类型。
-m。 —> 以 MB 为单位显示容量。
-k。 —> 以 KB 为单位显示容量。默认。

[root@localhost ~]# df
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      18003272 1020388  16061696   6% /
tmpfs                   501492       0    501492   0% /dev/shm
/dev/sda1               487652   53272    408780  12% /boot
[root@localhost ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       18G  675M   16G   5% /
tmpfs                 490M     0  490M   0% /dev/shm
/dev/sda1             477M   28M  424M   7% /boot
[root@localhost ~]# df
Filesystem           1K-blocks   Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      18003272 690640  16391444   5% /
tmpfs                   501508      0    501508   0% /dev/shm
/dev/sda1               487652  28013    434039   7% /boot
  • 统计目录或文件大小。

ll -d 只会统计该文件夹下一级子目录文件名的大小,不会统计全部数据大小。

[root@localhost ~]# du [选项] [目录或文件名]
选项。
-a。 —> 显示每个子文件的磁盘占用量。默认只统计目录的磁盘占用量。
-h。 —> 使用习惯单位显示磁盘占用量。如 KB,MB 或 GB 等。
-s。 —> 统计总占用量,而不列出子目录和子文件的占用量。

du 命令和 df 命令的区别。
  • df 命令从文件系统的角度考虑的,不光要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)。(文件 + 进程)。
  • du 命令是面向文件的,只会计算文件或目录占用的空间。

du 耗资源。

[root@localhost ~]# du -sh /
du: cannot access `/proc/1738/task/1738/fd/4': No such file or directory
du: cannot access `/proc/1738/task/1738/fdinfo/4': No such file or directory
du: cannot access `/proc/1738/fd/4': No such file or directory
du: cannot access `/proc/1738/fdinfo/4': No such file or directory
656M	/
文件系统修复命令 fsck。

[root@localhost ~]# fsck [选项] 分区设备文件名
选项。
-a。—> 不用显示用户提示,自动修复文件系统。
-y。—> 自动修复。和 -a 的作用一致,不过有些文件系统只支持 -y。

[root@localhost ~]# fsck
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
/dev/mapper/VolGroup-lv_root is mounted.
e2fsck: Cannot continue, aborting.



  • 显示磁盘状态命令 dumpe2fs。

[root@localhost ~]# dumpe2fs 分区设备文件名

9.2.2. 挂载命令。

把设备文件名和挂载点连接起来的过程叫挂载。

  • 查询与自动挂载。

[root@localhost ~]# mount [-l]
// 查询系统中已经挂载的设备。-l 显示卷标名称。
~
[root@localhost ~]# mount -a
// 依据配置文件 /etc/fstab 的内容,自动挂载。

[root@localhost ~]# mount
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
+ 挂载命令格式。
[root@localhost ~]# mount [-t 文件系统] [-L 卷标名] \
[-o 特殊选项] 设备文件名 挂载点
选项:
	-t 文件系统:加入文件系统类型来指定挂载的类型,可以是 ext3、ext4、iso9660 等文件系统。
	-L 卷标名:挂载指定卷标的分区,而不是安装设备文件名挂载。
	-o 特殊选项:可以指定挂载的额外选项。
参数 说明
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 写入代表文件系统支持组磁盘配额。默认不支持。
9.2.3. 挂载光盘与 U 盘。
挂载光盘。
# 建立挂载点。
[root@localhost ~]# mkdir /mnt/cdrom
# 挂载光盘。
[root@localhost ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only

[root@localhost ~]# ll /dev/cdrom 
lrwxrwxrwx. 1 root root 3 Feb 18 18:44 /dev/cdrom -> sr0

[root@localhost ~]# mount /dev/sr0 /mnt/cdrom/
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/

虚拟机——> 选择已连接
/dev/cdrom 是 sr0 的软链接。
光盘的文件系统默认是 iso9660(-t 指定文件系统类型)。
Linux 要卸载。

  • 卸载命令。

[root@localhost ~]# umount 设备文件名或挂载点
[root@localhost ~]# umount /mnt/cdrom

[root@localhost cdrom]# umount /mnt/cdrom/
umount: /mnt/cdrom: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
挂载 U 盘。
[root@localhost ~]# fdisk -l
	# 查看 U 盘设备文件名。
[root@localhost ~]# mount -t vfat /dev/sdb1 /mnt/usb
# Linux 不支持 NTFS 文件系统。
9.2.4. 文件系统常用命令 ~ 支持 NTFS 文件系统。
  • 重新编译内核。

  • NTFS-3G 插件。

NTFS-3G 是一个开源的软件,可以实现 Linux、Free BSD、Mac OSX、NetBSD 和 Haiku 等操作系统中的 NTFS 读写支持。它可以安全且快速地读写 Windows 系统的 NTFS 分区,而不用担心数据丢失。

wget https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2017.3.23.tgz

Installation
Linux: Most distributions include and use NTFS-3G by default. Please use that one unless it’s an old version. If you wish to install NTFS-3G from the source code then make sure you have installed the basic development tools (gcc compiler, libc-dev libraries). Then type:

./configure
make
make install # or 'sudo make install' if you aren't root

Non-Linux: Please see the OS specific installation and source packages above.

Usage
If there was no error during installation then the NTFS volume can be mounted in read-write mode for everybody as follows. Unmount the volume if it had already been mounted, replace /dev/sda1 and /mnt/windows, if needed.

mount -t ntfs-3g /dev/sda1 /mnt/windows

Please see the NTFS-3G Manual for more options and examples.

You can also make NTFS to be mounted during boot by adding the following line to the end of the /etc/fstab file:

/dev/sda1 /mnt/windows ntfs-3g defaults 0 0

[root@localhost ~]# mount -t ntfs-3g 分区设备文件名 挂载点

9.3.1. fdisk 分区~分区过程。
9.3.2. 自动挂载。
发布了47 篇原创文章 · 获赞 1 · 访问量 1150

猜你喜欢

转载自blog.csdn.net/lyfGeek/article/details/104452596