什么是文件系统:
文集系统个人理解就是在磁盘上组织文件的方法或规则. 当新硬盘被使用时,我们并不是直接面向物理扇区去做数据的存储,而是在上面建立一层逻辑上的体系,这层体系就被叫做文件系统.任性的名字总是随处可见(饭店老板的矿泉水,好吃的鸡脖子)文件系统并不是一个通用的操作系统(可以在上面玩数独的那种),文件系统仅仅是向系统提供数据存取的一种方法体系或规则
在Linux中要使用一块硬盘,或者说我们需要存取其中的数据, 就需将该硬盘的分区与Linux系统的根/或已被挂载到根上的分区中的某个目录产生链接关系,产生这种关系的行为称为挂载
当文件系统与操作系统相互结合时,我们才能操控存取介质,或者说我们操控的是最终由操作系统提供的功能,而并不是物理设备. 所以我们的行为是受到种种约束的 .
在Linux中我们最终使用的文件系统特性如下(随便总结一下):
-
文件系统是从根"/"开始的 ,所有的文件都被存放在"/"下.根是一切的开始,但是/本身并不是某块硬盘或光盘,/是由内核提供给我们最开始访问某个分区的初始挂载点.
-
在Linux中通常是区分大小写的,这由文件系统的特性所决定,Linux通常使用的(ext系列)文件系统是区分大小写的,所以在使用了Linux文件系统的Linux操作系统上,是区分大小写,如果我们拥有一台使用了vfat文件系统的Linux操作系统,那么区分大小写的这一特性将不复存在.
-
以点"."开头的文件都是隐藏的.操作系统的规定,操作系统也是这么做的,当我们使用 ls 命令查看当前工作目录下的文件列表时 并不显示 开头为"."的文件,像<同桌的胖子.txt>这种文件是显示的,因为虽然有 "." 但是 "."并不是在最开始出现的.
-
文件是分成两部分去存储的,一部分称为元数据,一部分称为数据,其中元数据存储的是该文件的属性信息以及数据的位置,而数据存取的是文件的内容
-
在元数据中,保存着文件的时间信息,给我三秒钟,我去画个表格.
access time(a time) | 访问时间 | 读取过该文件内容,触发时间更新(理论上) |
---|---|---|
modify time(m time) | 修改时间 | 修改了文件内容 触发该时间更新 |
change time(c time) | 改变时间 | 文件的元数据发生改变 ,触发该时间更新 |
- 在Linux操作系统中 文件是分类型的
符号 | 类型 |
---|---|
- | 普通文件 |
d | 目录文件 |
b | 块设备 |
c | 字符设备 |
l | 符号链接文件 |
p | 管道文件 |
s | 套接字文件 |
- Linux 中所有的目录都是以/ 作为分割的,(或许在Linux中根"/" 中"/"其实也是起分割目录的作用的,真正的根是None,无聊时的一些不切实际的想法,不得不说没女朋友真可怕,老是爱瞎想 )
Linux中常用的文件管理命令:
- 查看文件状态的命令;或者说打印文件元数据(inode)的命令
- stat (给我三秒钟我去走个神)
格式
stat (选项) (参数)
选项
None 显示文件的状态信息
[root@CentOS7.0app]#stat 飞碟
文件:"飞碟"
大小:0 块:0 IO 块:4096 普通空文件
设备:811h/2065d Inode:11 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:unlabeled_t:s0
最近访问:2017-04-23 11:16:14.699644549 +0800
最近更改:2017-04-23 11:16:14.699644549 +0800
最近改动:2017-04-23 11:16:14.699644549 +0800
创建时间:-
-f 显示文件所在的分区的状态信息
[root@CentOS7.0app]#stat -f 飞碟
文件:"飞碟"
ID:b282dd3811c8a99c 文件名长度:255 类型:ext2/ext3
块大小:4096 基本块大小:4096
块:总计:2547525 空闲:2538307 可用:2403139
Inodes: 总计:655360 空闲:655349
-t 以简洁的方式显示文件的信息
[root@CentOS7.0app]#stat -t 飞碟
飞碟 0 0 81a4 0 0 811 11 1 0 0 1492917374 1492917374 1492917374 0 4096 unconfined_u:object_r:unlabeled_t:s0
-L 显示软链接指向的目标文件的信息
[root@CentOS7.0app]#ls
飞碟 飞碟的软链接
[root@CentOS7.0app]#stat 飞碟的软链接
文件:"飞碟的软链接" -> "/app/飞碟"
大小:11 块:0 IO 块:4096 符号链接
设备:811h/2065d Inode:12 硬链接:1
权限:(0777/lrwxrwxrwx) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:unlabeled_t:s0
最近访问:2017-04-23 11:22:37.187663815 +0800
最近更改:2017-04-23 11:22:35.131663711 +0800
最近改动:2017-04-23 11:22:35.131663711 +0800
创建时间:-
[root@CentOS7.0app]#stat 飞碟
文件:"飞碟"
大小:0 块:0 IO 块:4096 普通空文件
设备:811h/2065d Inode:11 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:unlabeled_t:s0
最近访问:2017-04-23 11:16:14.699644549 +0800
最近更改:2017-04-23 11:16:14.699644549 +0800
最近改动:2017-04-23 11:16:14.699644549 +0800
创建时间:-
[root@CentOS7.0app]#stat 飞碟的软链接 -L
文件:"飞碟的软链接"
大小:0 块:0 IO 块:4096 普通空文件
设备:811h/2065d Inode:11 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:unlabeled_t:s0
最近访问:2017-04-23 11:16:14.699644549 +0800
最近更改:2017-04-23 11:16:14.699644549 +0800
最近改动:2017-04-23 11:16:14.699644549 +0800
创建时间:-
[root@CentOS7.0app]#
- 更新文件时间的命令:
- touch
- (由于更新文件时间时,如果文件不存在则创建文件,所以同上使用touch命令创建文件)
格式
touch (选项) (参数)
选项
None 更新文件时间,文件不存在
-a 更新 atime 及 ctime
-m 更新 mtime 及 ctime
-t 指定 atime 与 mtime 的时间戳
-c 如果文件不存在,不创建