初识文件系统和软硬链接

什么是文件系统?

        磁盘分区以后必须设置磁盘的文件系统才可以正式使用,文件系统定义了文件存储的类型,也就是这个文件要按照怎样的方式存入磁盘分区。

        linux中文件系统的类型:ext3ext4xfs

        windows中的文件系统类型:fat32ntfsextfat

        说到存储方式,就要聊一聊inode索引和block块了,为了提高资源的利用率,系统把分好的磁盘分区,又划分了很多个有序的block块,存储容量2K 4K 8K 16K不等,根据文件的大小按需分配。如果文件很大,就会占用多个block块,这些block块会记录在对应的inode号中。目录怎么找到这些数据块呢?目录其实是一个特殊的文件,里面存放着文件的权限、所属人、所属组、Inode、文件名等信息。目录通过文件名和inode映射,找到inode指向的所有数据块

软硬链接的叙述

        Inode可以和多个文件名进行映射,这样文件的有效路径就有多条,这多条有效路径就叫做文件的硬链接。你创建文件时起的那个文件名,其实也是硬链接。删除个别硬链接不会影响其他硬链接对源文件内容的访问,但如果所有硬链接都被删除,inode就会被释放,block也将会被新来的数据覆盖掉(一个文件至少要有一条硬链接)

软连接:软链接存储的是一条可以访问到源文件的有效路径,通过该路径访问到源文件所在目录。再由inode找到对应的文件内容。因为软连接存储的是一条硬链接的路径,所以它可以跨分区,硬链接是通过inode进行访问的,这就限制了它必须和文件内容在一个磁盘分区(每个分区都有自己独立的inode号)

        软链接优点:可以跨分区,就像快捷方式一样方便

        缺点: 链接的路径一旦消失,软链接就会失效

        硬链接优点:可以建多条有效路径,来提高数据的安全性(防止误删)

           缺点:不可以跨分区,访问有局限性

 

下面让我们以真实的环境去看看软硬链接长什么样子

硬盘状态

[root@localhost app]#df / /app

Filesystem     1K-blocks    Used Available Use% Mounted on

/dev/sda2       48803552 4391280  44412272  
9% /

/dev/sda3       48803552   32948 
48770604   1% /app

 

 

跨分区实现软链接

[root@localhost app]#pwd

/root

[root@localhost app]#echo welcome
to mageEdu > /app/file01       
将结果重定向至file01文件

[root@localhost app]#ln -s
/app/file01 file01                                  ./file01
作为/app/file01 的软链接

[root@localhost app]#ll file01                                                        查看链接状态

lrwxrwxrwx. 1 root root 11 Jul 20 14:45
file01 -> /app/file01

[root@localhost app]#cat
/root/file01                                              
通过软链接访问文件内容

welcome to mageEdu

 

 

外链接的搭建

[root@localhost app]#cd /app

[root@localhost app]#ls

file01

[root@localhost app]#mkdir whb

[root@localhost app]#tree

.

├── file01

└── whb

[root@localhost app]#cd whb

[root@localhost app]#ln ../file01
f1

[root@localhost app]#ls

f1

[root@localhost app]#ls -li f1                                                        通过查看硬链接和源文件状态

67 -rw-r–r–. 2 root root 19 Jul 20 14:44
f1                                          
会发现它们inode号是一样的

[root@localhost app]#cd ..

[root@localhost app]#ls -li
file01

67 -rw-r–r–. 2 root root 19 Jul 20 14:44
file01

[root@localhost app]#cat f1                                                          通过硬链接访问文件内容

welcome to mageEdu

 

 

测试

1、  删除源文件不会影响其他硬链接访问文件内容,而软链接失效

初识文件系统和软硬链接

初识文件系统和软硬链接

 

原创文章,作者:whb,如若转载,请注明出处:http://www.178linux.com/81854

(0)
whbwhb
上一篇 2017-07-19
下一篇 2017-07-20

相关推荐

  • Linux学习第四周

    一.Linux文件查找  本章介绍的有locate和find的命令的使用以及压缩解压缩工具 1.文件查找,跟以前我们所学的grep fgrep egrep 类似,grep属于文本过滤,搜索工具 然而文件查找就find和locate 他们有一点区别: find :实时查找进行文件匹配,由于进行路径匹配所以查找速度略慢,     &…

    2017-06-11
  • Linux的正则表达式grep,egrep

    Linux的正则表达式grep,egrep 一、概念 正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一组特殊字符,组成一个“规则字符集合”,根据用户指定的文本模式对目标文件进行逐行搜索匹配,显示能被模式匹配到的结果。 给定一个正则表达式和另一个目标字符串,我们可以从给定的字符串中通过匹配模型,过滤字符串中不想要的的字符串,得到目标字符串,减少工作量。…

    Linux干货 2017-05-07
  • linux中管道重定向

    linux中管道重定向 Linux 给程序提供三种I/O设备:    查看是否成功  echo $?      需要再执行命令后直接使用               &n…

    Linux干货 2017-02-21
  • 第六周作业

    一、Vim编辑器练习: 用Vim编辑器做下面的练习,我的Linux系统(CentOS 6.9)安装了精简版系统,没有Vim编辑器。 a、设置Yum源为网易开源镜像站。 b、选择对应“镜像名”,到对应的“CentOS使用说明”里面查看内容 c、看着CentOS说明操作就可以了 d、使用说明 首先备份/etc/yum.repos.d/CentOS-Base.re…

    Linux干货 2017-08-22
  • keepalived+lvs负载均衡两个httpd

    准备4台主机172.16.71.2 172.16.71.3 172.16.71.4 172.16.71.5 前两个做后端httpd服务器。后两个做keepalived 首先配置好后端主机172.16.71.2 和172.16.71.3 # 172.16.71.2yum install httpdcd /var/www/…

    Linux干货 2017-02-13
  • N25第三周作业

    一、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@centos01 ~]# who | cut -d " " -f1 | uniq -u root qufudcj 二、取出最后…

    Linux干货 2016-12-26