【鸟哥Linux】Linux 磁盘与文件系统管理

来源:互联网 发布:js中array的map方法 编辑:程序博客网 时间:2024/06/05 06:49

不同的操作系统对文件管理方式各不相同,因为他们对于文件的权限属性等信息都有不同的规定,只有被格式化为与操作系统相适合的文件系统,才能被操作系统识别并且使用,下面主要研究Linux文件系统。

在Linux文件系统中,主要有以下几个重要的概念

  1. superblock:记录此 filesystem 的整体信息,包括inode/block的总量、使用量、剩余量, 以及文件系统的格式与相关信息等;
  2. inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的 block 号码;
  3. block:实际记录文件的内容,若文件太大时,会占用多个 block 。这里要注意区分扇区和block,扇区是硬件一次能够读写的最小单位,而一个block通常会占用2^n个扇区,block是软件一次读写的最小单位,增大block会提高性能降低利用率,减小block会提高利用率降低性能。
  4. 实体链接:不能跨文件系统,不能链接目录,原理是在目录下新建一个文件名,链接到文件的inode。
  5. 符号链接:创建一个独立的文件,保存了被链接文件的完整路径,文件大小等于路径名的长度。
  6. 单一文件系统不应该被挂载在不同的挂载点中,同一个挂载点不应该挂载多个文件系统,作为挂载点的目录,理论上应该是空的。
  7. 不仅可以挂载ext,vfat等常见文件系统,还可以挂载光盘镜像。
  8. 挂载时可以指定文件系统的一些参数,比如读写权限等,可以使用mount命令进行重新挂载。
  9. 可以通过修改 /etc/fstab 来设置开机自动挂载文件系统,每次修改之后最好通过mount -a命令测试挂载是否成功,否则可能导致系统无法启动。
  10. 可以制作一个loop设备文件并且对其进行格式化,甚至将其挂载到指定目录。

下面列出与文件系统有关的命令

  1. dumpe2fs,可以查询指定分区的superblock信息以及block group信息。
  2. ls -i,显示指定文件或目录的inode编号。
  3. df,列出文件系统整体磁盘使用量。
  4. du,评估文件系统的磁盘使用量。
  5. ln,创建实体链接或者符号链接。
  6. lsblk,可以列出所有块设备的信息。
  7. blkid,可以列出块设备的属性,如UUID等。
  8. fdisk,用于对MBR分区进行操作。
  9. gdisk,用于对GPT分区进行操作。
  10. parted,用于对MBR及GPT分区进行操作。
  11. mkfs,可以用来对指定分区进行格式化。
  12. fsck,可以用来对文件系统进行检查。
  13. mount,可以用来挂载一个文件系统。
  14. umount,可以用来卸载一个文件系统。
  15. mknod, 用来指定设备文件的类型。
  16. tune2fs,用来调整ext文件系统的参数,如label name和UUID。
  17. partprobe,用来手动更新设备分区信息。
  18. dd,可以用来创建空文件。
  19. mkswap,可以用来将分区格式化为swap分区。
  20. swapon,启用交换分区或交换文件。
  21. swapoff,关闭交换分区或交换文件。
  22. free,显示系统内存的使用情况。
0 0