1.文件系统类型
实际的文件系统位于虚拟文件系统之下,具体可以使用命令man 5 fs可以取得全部文件系统的简要介绍,不同类型的文件系统采用不同的方法来管理硬盘分区空间。
对于一个分区到底采用哪个文件系统类型,是由我们自己指定的。即分区格式化,采用指定的文件系统类型对分区空间进行登记,索引并建立相应的管理表格的过程。
2.虚拟文件系统VFS
建立在各种具体文件系统智商,给用户呈现出统一的接口视图--用户通过VFS操纵分区上的文件目录是一样的,而不管底层具体的文件系统之间的差异,因为下层实际文件系统之间的差异被VFS给屏蔽了。
3.文件系统层次结构
根据FHS规范,Linux系统中任何一个文件一定是落在坐标系的一个象限内。且落在不同象限内的文件必须保存在不同的目录下。
“共享文件”--保存在一个主机上而可以再另外的主机上使用的文件。反之
“静态文件”---是指二进制文件、库文件、文档和其他在非人工干预下不会变动的文件。反之
坚决不要在根目录下创建文件和子目录!!!1
3.文件分类
(1) 根目录---在一个分区里,只有一个根目录“/”,即树根只一个,
绝对目录----在目录树种绝对目录的起点是树根“/”,也叫做绝对路径
相对目录---相对目录的起点是用户的当前目录“./”,也叫作相对路径
两者之间可以进行相互换算。 ‘/’ 代表根目录,‘./’代表当前目录,‘../’代表父目录,‘~’表示家目录。用户登录时自动进入的是他的家目录,可以使用命令cd进入其他目录。
eg:cd ~----------------回到家目录
cd ../../-------------进入父目录的父目录
cd - ------------返回到上一次所在的目录
(2)在Linux下文件种类比较多,不能根据文件后缀名来判断文件类型,需要根据属性来进行判断,或者采用命令“file <文件名>”判断,文件名首字母为“.”的文件是隐藏文件。
普通文件----用一些相关的应用程序创建的文件
设备文件----存放在/dev目录下,用命令mknod创建,没有大小,但附有主/次设备号
管道文件-----又叫命名管道,是实现同一台电脑上无关进程之间进行通信的机制。
套接字文件---实现进程间通信的机制,与命名管道不同的是,通信双方不一定要在同一台电脑上。
连接文件-----分为硬链接文件和符号链接文件,可以理解为指针,只不过前者是指向另一个文件体,而后者指向另一个文件名
(3)建立符号链接文件的命令格式:
ln -s <被连接文件名> <链接文件名>
eg: ln -s /etc/profile /tmp/file.123就是创建一个指向“/etc/profile ”的符号链接文件“ /tmp/file.123”。
符号链接可以跨磁盘分区,而硬链接不可以;可以对目录建立符号链接,但不能对目录建立硬链接。因为硬链接是指向另一个文件体,而不是文件名。
4.文件权限
(1)使用“ls -al”可以列出当前目录下的文件
0| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
如上图,每一行代表一个文件,可以被分为8个域,每个定义如下:
0----文件类型。d表示目录,-表示普通文件,1表示连接文件,b表示块设备文件,c表示字符设备,p表示管道文件,s表示套接字 文件。
1----权限。r表示读,w表示写,x表示执行,-表示无,s|S表示权限临时切换,t|T表示任何用户能存取文件。一个域总共有九个字符,分三组,从左至右分别对应文件主人,组群和其他人的权限。
2----表示目录下文件数目或文件的硬链接数。
3----文件的主人
4----文件的群组
5----如果普通文件则表示大小,如果是目录则表示该目录包含的文件名所占据的大小。
6----修改日期
7----文件或目录名
注意:权限有两种表示方法,用字母表示和数字表示,把字母转换为二进制,遇到“-”转换为0,其他转换为1.然后把9位二进制分为3段,每段3位,最后算出每段的十进制数并合并在一起即可得到等价的数字权限。
ls [<参数>][<文件>] :列出文件或目录命令
(2)文件权限管理
chmod [-R] <权限> <文件> :修改文件或者目录的权限
chown [-R] <账号> <文件> :修改文件的主人
chgrp [-R] <组群> <文件> :修改文件的组群
5.文件通配符
* :匹配0个或多个字符
? :匹配0个或者一个字符
[....] :有多种形式
①枚举表达式:直接列出需要匹配的全部字符,如[adf,9]
②范围表达式:如[a-z][0-9]
③字符类表达式[:class:]:例如[[:digit:]]
6文件分区
fdisk -l :查看硬盘参数以及分区
fdisk /dev/sda :启动硬盘分区命令