文件系统管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件系统管理相关的知识,希望对你有一定的参考价值。


挂载

将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为称之为挂载

挂载方法 mount

  1. mount DEVICE MOUNT_POINT
  2. mount:通过查看/etc/mtab文件显示当前系统已挂载的所有设备
  3. mount [-fnrsvw] [-t vfstype] [-o options] device dir
  4. device:指明要挂载的设备;
  5. (1) 设备文件:例如/dev/sda5
  6. (2) 卷标:-L ‘LABEL‘, 例如 -L ‘MYDATA‘
  7. (3) UUID, -U ‘UUID‘:例如 -U ‘0c50523c-43f1-45e7-85c0-a126711d406e‘
  8. (4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs
  9. dir:挂载点
  10. 事先存在;建议使用空目录;
  11. 进程正在使用中的设备无法被卸载;
  12. 常用命令选项:
  13. -t vsftype:指定要挂载的设备上的文件系统类型;可以不指定,会调用blkid调用
  14. -r: readonly,只读挂载;
  15. -w: read and write, 读写挂载;
  16. -n: 不更新/etc/mtab 文件挂载、卸载默认会更新该文件 . mount命令,调用该文件显示。但是内核可通过/proc/mounts查看到该挂载。所以mount显示不一定会最准确的。
  17. -a:自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)
  18. -L ‘LABEL‘: 以卷标指定挂载设备;
  19. -U ‘UUID‘: UUID指定要挂载的设备;
  20. -B, --bind: 绑定目录到另一个目录上;
  21. 注意:查看内核追踪到的已挂载的所有设备:cat /proc/mounts
  22. -o options:(挂载文件系统的选项) 前面是命令选项,后面是文件系统启用或禁用的特性选项。
  23. async:异步模式;
  24. sync:同步模式;
  25. atime/noatime:包含目录和文件的时间戳
  26. diratime/nodiratime:目录的访问时间戳
  27. auto/noauto:是否支持自动挂载
  28. exec/noexec:是否支持将文件系统上应用程序运行为进程
  29. dev/nodev:是否支持在此文件系统上使用设备文件;
  30. suid/nosuid
  31. remount:重新挂载,mount -o remount,ro /mydata,重新挂载,设置为RO
  32. ro:只读
  33. rw: 读写
  34. user/nouser:是否允许普通用户挂载此设备
  35. acl:启用此文件系统上的acl功能,(访问控制列表,centos6默认关闭,centos默认开启)
  36. 注意:上述选项可多个同时使用,彼此使用逗号分隔;
  37. 默认挂载选项:defaults
  38. rw, suid, dev, exec, auto, nouser, and async

卸载

解除此关联关系的过程称之为卸载

卸载命令 umount

  1. 卸载命令:
  2. # umount DEVICE
  3. # umount MOUNT_POINT
  4. 查看正在访问指定文件系统的进程:
  5. # fuser -v MOUNT_POINT
  6. [[email protected] ~]# mount /dev/sdb9 /tmp
  7. [[email protected] ~]# umount /tmp
  8. umount: /tmp: device is busy.
  9. (In some cases useful info about processes that use
  10. the device is found by lsof(8) or fuser(1))
  11. [[email protected] ~]# fuser -v /tmp
  12. USER PID ACCESS COMMAND
  13. /tmp: root 5797 ..c.. bash
  14. 终止所有在正访问指定的文件系统的进程:
  15. # fuser -km MOUNT_POINT
  16. 管理员才有此权限
  17. [[email protected] ~]# fuser -km /tmp
  18. /tmp: 5797c
  19. [[email protected] ~]# umount /tmp

挂载交换分区

swapon/swapoff

  1. 启用:swapon
  2. swapon [OPTION]... [DEVICE]
  3. -a:激活所有的交换分区;
  4. -p PRIORITY:指定优先级;
  5. #如果有性能好的,设为高优先级。 或者位于不同的磁盘,负载均衡,提高性能。同一个磁盘是伪均衡
  6. 禁用:swapoff [OPTION]... [DEVICE]
  7. 使用free查看空间。 正式尽量不要使用,没有使用必要。

挂载配置文件

文件挂载的配置文件:/etc/fstab
每行定义一个要挂载的文件系统;根以外的文件系统,辅助系统。

  1. 要挂载的设备或伪文件系统 挂载点 文件系统类型 挂载选项 转储频率 自检次序
  2. 要挂载的设备或伪文件系统:
  3. 设备文件、LABEL(LABEL="")、UUID(UUID="")、伪文件系统名称(proc, sysfs)
  4. 挂载选项:
  5. defaults
  6. 转储频率:(很少用,用其它工具,或计划任务)
  7. 0:不做备份
  8. 1:每天转储
  9. 2:每隔一天转储
  10. 自检次序:
  11. 0:不自检
  12. 1:首先自检;一般只有rootfs才用1
  13. ...
  14. 额外挂载的数据不建议开户自检,可能损坏。也不转储

在fstab文件中添加记录,可实现开机自动挂载。

  1. [[email protected] ~]# cat /etc/fstab
  2. #
  3. # /etc/fstab
  4. # Created by anaconda on Wed May 18 10:02:32 2016
  5. #
  6. # Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
  7. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
  8. #
  9. UUID=a8c981b4-f953-430e-b4b4-769f98f89f40 / ext4 defaults 1 1
  10. UUID=76ed89c0-305c-45e9-aec2-7734ed87b1e3 /boot ext4 defaults 1 2
  11. UUID=348efd32-74c9-444e-892b-b65dc0758efc swap swap defaults 0 0
  12. tmpfs /dev/shm tmpfs defaults 0 0
  13. devpts /dev/pts devpts gid=5,mode=620 0 0
  14. sysfs /sys sysfs defaults 0 0
  15. proc /proc proc defaults 0 0
  16. #/dev/sdb1 /mydata ext4 defaults 0 0
  17. #/dev/sdb6 swap swap defaults 0 0
  18. #/dev/sdb2 /mysdb2 ext4 defaults 0 0




以上是关于文件系统管理的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

GitLab

使用 Git 来管理 Xcode 中的代码片段

数据库系统原理 片段翻译

Java itext为pdf 文件添加水印核心功能代码片段

源代码管理工具GitHub介绍