第六天 文件的属性
1.文件属性
# 第一列第一个字符 表示文件类型
# rw-r--r-- 权限
# 1 表示被链接的次数(硬链接)
# root 文件的拥有者(用户)
# root 文件的拥有组(用户组)
# 14 文件大小
# Jul 27 16:35 文件的创建日期以及时间
# 111.txt 文件的名称
2.文件的类型
# - 表示文件(普通文件 图片 压缩包)
# s 表示本地进程与进程间的一种通讯方式
# b (block) 块设备 (硬盘 光盘 分区)
# c 字符设备(用于用户的输入输出的)
# l (link) 链接文件(类似于Windows的快捷方式)
# d (directory) 目录(类似于Windows的文件夹)
*对于一些文件无法精准的区分类型,可以使用file查看*
#因为Linux不区分后缀,后缀通常是用来方便我们自己识别的
3.链接文件
# 文件有文件名与数据,在Linux上被分成了两部分:用户数据(user data)与元数据(metadata)
#用户数据,即文件数据块(data lock),数据块是记录文件真实内容的地方,我们将其称为Block
#元数据,即文件的福建属性,如文件大小、创建使劲按、所有者等信息。我们将其称为inode
!!!!在Linux中,inode是文件元数据的一部分但其并不包括文件名,inode号即索引节点号
文件名只是为了方便人们的记忆和使用,系统或程序通过inode号寻找正确的文件数据块
软连接(类似于Windows的快捷方式)
#软连接文件会将inode指向源文件的block,当我们访问这个软连接文件时,其实是在访问源文件
#当我们对一个文件创建多个软连接时,其实就是多个inode指向同一个block。当我们删除软连接文件时,其实只是删除了一个inode指向并不会对源文件造成影响,但如果删除的时源文件,则会造成所有软连接文件失效。
#软连接的使用场景 (很少对文件做软连接)
1.软件升级 软件回退
[root@oldboy-01 ~]# mkdir qq_v1.1
[root@oldboy-01 ~]# ln -s /root/qq_v1.1/ /root/qq
#升级
[root@oldboy-01 ~]# mkdir qq_v1.2
[root@oldboy-01 ~]# rm -f /root/qq && ln -s /root/qq_v1.2/ /root/qq
#回退
[root@oldboy-01 ~]# rm -f /root/qq && ln -s /root/qq_v1.1/ /root/qq
2.代码升级 秒级
3.不方便移动目录
#文件太大,不方便移动,可以创建软连接
#文件太重要,不方便移动,软连接
4.执行流程
1.当我们执行一个命令时,整个命令的执行流程如下:
*1)判断命令库是否通过绝对路径执行
*2)判断命令是否存在alias别名
*3)判断用户输入的是内置命令还是外置命令
*4)Bash内置命令直接执行,外置命令检查是否有无存在缓存
#当有缓存,命令改变了路径时
解决方法:删除缓存
执行命令的新绝对路径
*5)通过PATH路径查找命令,有,执行 ,无,报错
#判断命令是外置还是内置
type -a +命令