当我们在windows系统中打开一个目录,通过点击查看详细信息,可以获取文件的很对信息,
同样的我们在linux系统中,如果输入ls-a / ll 也可以了解到文件的详细信息,同时还有文件的的一些其他属性。
这些字符分别代表什么意思呢?
image.png
**

. 带表selinux相关

文件类型

-: 表示是一个文件( 普通文件、脚本文件、压缩文件、命令文件)
由touch cat echo cp > >>等工具创建的文件 #使用file命令查看文件类型 由vim vi cat 查看 由rm > 删除 s: socket,进程与进程之间的通讯协议 c: 字符设备(终端、键盘) b: 块设备(磁盘) l: 软链接(快捷方式) d: 表示一个目录

  1. 如何更精准的判断他是一个什么类型的文件? ------file命令
  2. 1.你可以ls -l 查看(ll (不精确)
  3. 2.你可以看文件名称的后缀来区分? ( Linux不区分后缀,不太准确,因为名称是给人看的。)
  4. 3.如果通过ls -l 或者是文件名称的后缀无法定位文件是一个什么类型,那么我们可以使用file命令来确定

[root@db01 ~]#du -sh /etc 31M /etc

链接文件

( 软链接 硬链接)
在linux系统中文件被分为 用户数据 和 元数据
1,用户数据,即文件数据块(data block),记录文件人内容的地方
2,元数据,即文件属性(metadata),用来记录文件的大小,创建时间,所有者信息等inode中不包含文件名称
————————————————————————————————
inode编号
在Unix/Linux操作系统中,系统内部并不采用文件名查找文件,而是使用inode编号来识别文件。因此对于系统来说,文件名只是inode号码便于识别的别称或者绰号。
而站在用户角度,用户通过文件名,打开文件,实际上,系统内部是获取inode信息找到数据块的
个过程分成三步:
首先,系统找到这个文件名对应的inode号码;
其次,通过inode号码,获取inode信息;
最后,根据inode信息,找到文件数据所在的block,读出数据。
注:可以使用df -i或者ls -i均可以查看到文件名对应的inode号码。

查看文件的整个过程是

先找到/ ————>找到/的inode ————> block内容里有存放下级目录的文件信息 . . . ————>-一层一层找,最终找到存放文件内容的block
image.png
image.png

注:可以使用df -i或者ls -i均可以查看到文件名对应的inode号码。
如果文件较大,block可以间接指向其他block节省inode号码
————————————————————————————————
1.png

1.软链接也叫符号链接,

软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
当我们删除了源文件后,链接文件不能独立存在,虽然仍保留文件名,但我们却不能查看软链接文件的内容了 #如果ln -s出错,会红底白字闪烁
2.png

2.硬链接Hard Link 只是在某个目录下新增一个该档案的关连数据

使用 硬链接 设定连结文件时,inode 相同
源文件被删除,链接文件不会失效
创建多个硬链接文件,不会占用block空间和inode空间
最后一个源文件删除时才会释放数据块
硬链接其实是和源文件一样的拷贝但不占用空间,防止误删
目录无法创建硬链接。
3.png
软链接练习:
image.png
1.准备网站1.1版本代码
[root@oldboy ~]# mkdir /data/rainbow-v1.1 -p
[root@oldboy ~]# echo “123” > /data/rainbow-v1.1/index.html

2.创建软链接
[root@oldboy ~]# ln -s /data/rainbow-v1.1/ /data/rainbow
[root@oldboy ~]# ll /data/
总用量 0
drwxr-xr-x. 2 root root 6 3月 5 12:23 dir
lrwxrwxrwx. 1 root root 19 3月 10 12:09 rainbow -> /data/rainbow-v1.1/
drwxr-xr-x. 2 root root 24 3月 10 12:09 rainbow-v1.1

3.检查网站程序
[root@oldboy ~]# cat /data/rainbow/index.html
123
#5.升级
[root@oldboy ~]# rm -f /data/rainbow && ln -s /data/rainbow-v1.2/ /data/rainbow
[root@oldboy ~]# cat /data/rainbow/index.html
456

6.回退
[root@oldboy ~]# rm -f /data/rainbow && ln -s /data/rainbow-v1.1/ /data/rainbow
[root@oldboy ~]# cat /data/rainbow/index.html
123
5.png

3.硬链接与软链接区别

  1. ln命令创建硬链接,ln -s命令创建软链接。
    2)目录不能创建硬链接,并且硬链接不可以跨越分区系统。
    3)目录软链接特别常用,并且软链接支持跨越分区系统。
    4)硬链接文件与源文件的inode相同,软链接文件与源文件inode不同。
    5)删除源文件及其硬链接文件,整个文件会被真正的删除。
    生产中:
    1.软链接比较常用,特别用于代码的版本迭代与回退。 软件的升级与回退。
    ln -s 真实位置 链接位置 (绝对路径)
    2.硬链接基本不用,硬链接不支持目录,也不支持跨域分区。

6.jpg

https://blog.csdn.net/carry1314lele/article/details/2649572