文件系统的使用:
首先要“挂载”:mount命令和umount命令

根据文件系统之外的其它文件系统要想能够被访问,都必须通过“关联”到根文件系统上的某个目录来实现,此关联操作即为“挂载”;此目录即为“挂载点”
挂载点:mount_point,用于作为另一个文件系统的访问入口
(1)事先存在
(2)应该使用未被或不会被其它进程使用到的目录
(3)挂载点下原有的文件将会被隐藏

mount命令:
mount [-nrw] [-t vfstype] [-o options] device dir
命令选项:
-r:readonly,只读挂载
-w:read and write,读写挂载
-n:默认情况下,设备挂载或卸载的操作会同步到/etc/mtab文件中;-n用于禁止此特性
-t vfstype:指明要挂载的设备上的文件系统的类型;多数情况下可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型
-L LABEL:挂载时以卷标的方式指明设备
mount -L LABEL dir
-U UUID:挂载时以UUID的方式指明设备
mount -U UUID dir
-o options:挂载选项
sync/async:同步/异步操作
atime/noatime:文件或目录在被访问时是否更新其访问时间戳
diratime/nodiratime:目录在被访问时是否更新其访问时间戳
remount:重新挂载
acl:支持使用facl功能
~]# mount -o acl device dir
~]# tune2fs -o acl device

ro:只读
rw:读写
dev/nodev:此设备上是否允许创建设备文件
exec/noexec:是否允许运行此设备上的程序文件
auto/noauto:
user/nouser:是否允许普通用户挂载此文件系统
suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效

defaults:Use default options:rw,suid,dev,exec,auto,nouser,async,and relatime

一个使用技巧:
可以实现将目录绑定至另一个目录上,作为其临时访问入口;
mount --bind 源目录 目标目录

查看当前系统所有已挂载的设备:
~]# mount
~]# cat /etc/mtab
~]# cat /proc/mounts

挂载光盘:
mount -r /dev/cdrom mount_point
光盘设备文件:/dev/cdrom,/dev/dvd

挂载U盘:
事先识别U盘的设备文件

挂载本地的回环设备:
~]# mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNT_POINT

umount命令:
umount device|dir

注意:正在被进程访问到的挂载点无法被卸载
查看被哪个或哪些进程所占用
~]# lsof MOUNT_POINT
~]# fuser -v MOUNT_POINT

终止所有正在访问某挂载点的进程
~]# fuser -km MOUNT_POINT

交换分区的启用和禁用:
创建交换分区的命令:mkswap

启用:swapon
swapon [OPTION] [DEVICE]
-a:定义在/etc/fstab文件中的所有swap设备
禁用:swapoff
swapoff DEVICE

设定除根文件系统以外的其它文件系统能够开机时自动挂载:/etc/fstab文件
每行定义一个要挂载的文件系统及相关属性:
6个字段:
(1)要挂载的设备
设备文件:
LABEL
UUID
伪文件系统:如sysfs,proc,tmpfs等
(2)挂载点
swap类型的设备的挂载点为swap
(3)文件系统类型
(4)挂载选项
defaults:使用默认挂载选项;
如果要同时指明多个挂载选项,彼此间以事情分隔;
defaults,acl,noatime,noexec
(5)转储频率
0:从不备份
1:每天备份
2:每隔一天备份
(6)自检次序
0:不自检
1:首先自检,通常只能是根文件系统可用1
2:次级自检
...

mount -a:可自动挂载定义在此文件中的所有支持自动挂载的设备

两个查看磁盘空间大小的命令:df和du
df命令:
df [OPTION]... [FILE]...
-l:仅显示本地文件的相关信息
-h:human-readable
-i:显示inode的使用状态而非blocks

du命令:
du [OPTION]... [FILE]...
-s:sumary
-h:human-readable

练习:
1、创建一个10G的分区,并格式化为ext4文件系统
(1)block大小为2048;预留空间为2%,卷标为MYDATA
(2)挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳
(3)可开机自动挂载
2、创建一个大小为1G的swap分区,并自启动之

回顾:文件系统管理
管理工具:mkfs,mke2fs,e2label,tune2fs,dumpe2fs,e2fsck,blkid
mkfs.xfs,mkfs.vfat,fsck
mkswap,swapon,swapoff
mount,umount
df,du

fstab文件:
设备 挂载点 文件系统类型 挂载选项 转储频率 自检次序

文件系统:
目录:文件
元数据:inode,inode table
数据:data blocks
下级文件或目录的文件名与其inode对应关系

dentry

文件名:上级目录

删除文件:将此文件指向的所有data block标记为未使用状态;将此文件的inode标记为未使用
复制和移动文件:
复制:新建文件
移动文件:
在同一文件系统:改变的仅是其路径
在不同文件系统:复制数据到目标文件,并删除原文件

符号链接:
权限:lrwxrwxrwx
硬链接:指向同一个inode

最新文章

  1. [bzoj1009][HNOI2008]GT考试
  2. bnuoj 1053 EASY Problem (计算几何)
  3. OS概论2
  4. C#线程 访问资源同步简介
  5. Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer
  6. bootstrap 基础(二)
  7. 9.nginx使用redis用缓存
  8. jjava Date格式是 May 07 17:44:06 CST 2018,怎么插入数据库中的timestamp格式中
  9. ubuntu16.04中设置python3
  10. ZZNU 2182 矩阵dp (矩阵快速幂+递推式 || 杜教BM)
  11. c++11日志练习
  12. php输出大段代码(含变量和方法)
  13. Workstation和Virtualbox的虚拟机磁盘扩容方式.
  14. scala 学习笔记十三 特质(转载)
  15. zoj3822
  16. Apt-Cacher-ng 搭建缓存服务器
  17. SO_LINGER
  18. 用IDEA编写spark的WordCount
  19. 【BZOJ 3175】 3175: [Tjoi2013]攻击装置(二分图匹配)
  20. JSON Path表达式

热门文章

  1. django 之(五) --- RESTApi总结
  2. 【FFMPEG】VS2013编译ffmpeg
  3. 删除Vue中无权限的【node_modules】文件
  4. 【Cisco】实现同一个路由器一个端口用动态路由,另一个端口用静态路由
  5. Python+requests 发送简单请求--》获取响应状态--》获取请求响应数据
  6. 服务器做raid1后安装windows server 2012遇到的问题
  7. FastJson 介绍
  8. Python 解leetcode:2. Add Two Numbers
  9. C++编写DLL文件
  10. Scala学习十四——模式匹配和样例类