当前位置: 首页 > news >正文

建行网站会员是什么做任务领q币网站

建行网站会员是什么,做任务领q币网站,网站开发的策划书,建立多多少钱文章目录文件的软硬链接软链接硬链接软硬链接对比软硬链接应用软硬链接注意事项总结文件的软硬链接 本篇文章将重点讲解文件系统中的一个重要的知识点: 即文件的软硬链接。 软链接 对于软链接的讲解,我们先来使用一个指令看看效果:ln -s 被…

文章目录

  • 文件的软硬链接
    • 软链接
    • 硬链接
    • 软硬链接对比
    • 软硬链接应用
    • 软硬链接注意事项
    • 总结

文件的软硬链接

本篇文章将重点讲解文件系统中的一个重要的知识点:
即文件的软硬链接。

软链接

对于软链接的讲解,我们先来使用一个指令看看效果:ln -s 被软链接的文件 链接的文件
在这里插入图片描述
运行代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <dirent.h>
#include <sys/types.h>
#include <unistd.h>
int main(int argc, char *argv[]) {if (argc != 2) {fprintf(stderr, "Usage: %s <directory>\n", argv[0]);exit(EXIT_FAILURE);}DIR *dir = opendir(argv[1]); // 系统调用,自行查阅if (!dir) {perror("opendir");exit(EXIT_FAILURE);}struct dirent *entry;while ((entry = readdir(dir)) != NULL) { //系统调用,自行查阅// Skip the "." and ".." directory entriesif (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) {continue;}printf("Filename: %s, Inode: %lu\n", entry->d_name, (unsigned long)entry->d_ino);
}closedir(dir);return 0;
}

我们在当前目录下,使用该指令,把当前目录下的TestDir目录进行软链接,链接的名为DIR,我们打开查看当前目录下的文件,发现多了一个文件叫做DIR。
而且,这个文件的类型标识符是l,表示是一个链接文件。
我们试着使用一下这个链接文件:
在这里插入图片描述
我们发现,是可以把这个DIR当作成可执行文件来用的,因为链接的就是一个可执行文件!

我们来看看被链接的文件和链接文件的区别:
在这里插入图片描述
我们会发现,软链接文件DIR是有独立的inode编号的!也就是说,它是一个独立的文件!

硬链接

有软链接,就有硬链接。
使用指令ln 被链接文件 链接文件即可完成对文件的硬链接:
在这里插入图片描述
硬链接文件是DIR_HARD。我们发现,这个文件和被链接文件的inode编号都是一样的,都是666187,这说明:硬链接的文件本质上就不是一个独立的文件!因为没有独立的inode编号!

软硬链接对比

前面我们讲解了软硬链接的使用,也介绍了软硬链接的一些特点,接下来,我们来对比一下:

首先,软硬链接的本质区别就是:
软链接的文件具有独立的inode编号!所以是一个独立的文件。而硬链接的文件不是。


对于软链接,它里面的内容是什么呢?
其实就是保存了被软链接的文件的路径!在别的地方进行软链接,调用的时候通过这个保存的路径来找到文件并且做相应操作。

这不就是Windows系统下的快捷方式吗?
在这里插入图片描述
这个所谓的目标,其实就是运行该软件的可执行程序!

因为这些可执行程序有可能会藏得很深,如果每次运行都要去找是很麻烦的。所以,就可以使用软链接的方式,保存目标文件路径。使用的时候就是通过这个路径来使用。


而硬链接,由于它没有独立的inode,所以硬链接的文件不是独立的文件。那它是什么呢?
其实就是当前目录下和被硬链接文件所处目录下都添加了一份:inode和硬链接文件的名的映射关系罢了,只不过这个inode,是和被链接文件一样的!

所以,这个行为本质上就是在给文件做副本。删除文件时,通过引用计数来判断当前inode使用的次数,来决定是否需要完全删除文件。

所以,硬链接是可以用来做备份工作的!

软硬链接应用

这里来讲一个我们一直在用,但是却不知道其中管理的内容。
当前目录.上级目录..

其实所谓的当前目录.上级目录..就是目录的硬链接罢了!
我们来验证一下:

验证当前目录.
在这里插入图片描述
验证上级目录..
在这里插入图片描述


经过验证,确实发现,文件系统其实对当前目录.上级目录..进行了硬链接操作。也就是说,保存了当前目录下的内容和上级目录的内容。

这也就是为什么我们使用当前目录.上级目录..可以正常操作当前目录和上级目录了!效果和直接使用目录名一致!

软硬链接注意事项

但是,这里要说的是:
在Linux系统下,是不允许用户对目录进行硬链接的!
在这里插入图片描述

但是,当前目录.上级目录..就是对目录进行的硬链接。这是操作系统自动进行的!其余情况下,不允许用户进行对目录的硬链接。


这里我们来稍微解释一下:

其实是因为,系统中的文件搜索路径是一个文件树!如果对目录进行硬链接的话,那么会导致形成路径环!假设现在搜索某个文件,对搜到了一个硬链接的目录。这时候就麻烦了,如果硬链接到根目录,搜着搜着就回到了根目录下去了。

这严重影响了操作系统对于文件的搜索效率!但是,操作系统对上级目录和当前目录进行硬链接,不也是形成路径环吗?
这不用担心,这两个硬链接文件名字非常特殊,判断后做特殊处理即可。

操作系统选择硬链接当前路径和上级路径,其实是为了用户能够操作起来更加方便!

总结

至此,到这里我们就把Ext2文件系统的绝大部分相关知识介绍完了。当然,Linux系统下还存在着多个文件系统,如Ex3,Ext4,xfs…
但是,对于Ext系列的文件系统来说,主要逻辑还是相通的,只是在个别地方的操作会有进行优化。其它的文件系统如果感兴趣也可以上网查阅资料。

http://www.dtcms.com/a/445070.html

相关文章:

  • 企业网站设计模板自己做淘宝客是不是需要建网站
  • 备案网站制作仿牌外贸网站
  • 上海青浦区网站建设公司加盟类网站怎么做
  • 网站开发公司能不能去免费网站空间可访问
  • 网站地图无法生成网易企业邮箱和网易邮箱的区别
  • 网站被黑是什么原因深圳做网站的好公司有哪些
  • php企业网站程序四川建设工程交易信息网站
  • eclipse tomcat 网站开发德州专业网站制作哪家好
  • 创世做的网站源码房内设计
  • 旧宫网站建设制作网站视频教程
  • 牙克石网站建设网站设计建设公司怎么做
  • 网站建设大概价格企业网站排名要怎么做
  • 广州天河区网站设计公司网站开发信息平台项目总结
  • 网站开发主要做哪些电子商务网站建设与管理课程设计
  • 淘宝网站建设维护会计科目江西seo推广方案
  • 大连领超科技网站建设有限公司做网站没有按照合同履行
  • 织梦网站建设交流群福建住房和城建设网站
  • 网站群建设方案.doc惠州设计公司logo
  • 做家教去哪个网站苏州做网站公司乛 苏州聚尚网络
  • 工程承包去哪个网站WordPress手机文章缩略图
  • 网站流量站怎么做xampp的Wordpress公网
  • 宜兴网站建设哪家好wordpress企业营销模板
  • 做装修网站兰州市城乡建设局网站公布的信息
  • vue做的博客网站学校网站制作价格
  • muse怎么做网站中企会是骗子公司吗
  • 多少钱算网站金诚信矿业建设集团有限公司网站
  • 网站转移 备案网页设计欣赏可爱风格
  • 邯郸网站建设最近一周的重大新闻
  • 网站开发实施计划与安排网站生成软件app制作
  • 成都网站建设公司招聘英文外链代发