• linux系统创建连接文件


    软链接(符号链接)

    软链接的特性:

    软链接,如果被链接文件的文件名或路径发送改变,软连接失效

    创建软链接文件

    ln -s 【目标文件】 【软链接地址】

    删除软链接文件

    rm -f 【软链接地址】 注意不要加上r 否则会删除目标目录文件

    修改软链接文件

    ln -snf 【新目标文件】 【软链接地址】

    硬连接

    硬链接的特性

    如果被链接文件文件名或文件路径发生改变,硬链接仍然存在,硬链接不能链接目录文件,如果源文件被删除,硬链接仍然存在

    硬链接的创建

    ln 【目标文件】 【硬链接地址】

    硬链接的删除

    rm 硬链接地址

    软连接与硬连接的区别之一

    使用区别

    首先,无论是stat还是lstat,对于硬链接文件,都将其视为regular文件,不同点只在于符号链接(symlink)文件。

    对于stat(file, &mystat)这个系统调用,无论是读取regular文件还是symlink文件,通过mystat.st_mode获取到的文件类型都必然是regular文件,即S_ISREG(mystat.st_mode) == 1。

    对于lstat(file, &mystat)这个系统调用,当file是symlink文件时,通过mystat.st_mode获取到的文件类型是link文件,即S_ISLNK(mystat.st_mode) == 1。

    所以,当我们想要识别符号链接文件的时候,只能使用lstat;当我们关注的是符号链接指向的文件时,就应该使用stat

    根本区别

    关于inode
    inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘 … … )被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。

    硬连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件才会被真正删除。

    inode相同的文件是硬链接文件
    在Linux 文件系统中,inode值相同的文件是硬链接文件,也就是说,不同的文件名,inode可能是相同的,一个inode值可以对应多个文件。
    inode值相同的文件,他们的关系是互为硬链接的关系。当我们修改其中一个文件的内容时,互为硬链接的文件的内容也会跟着变化。如果我们删除互为硬链接关系的某个文件时,其它的文件并不受影响。

  • 相关阅读:
    java导出功能(多个sheet页数据导出)
    C++征途 --- 模板 --- 类模板
    【ASE入门学习】ASE入门系列——序章
    ArcGIS 10.3安装教程!
    Python实用技术二:数据分析和可视化(2)
    Alibaba架构师纯手工打造神仙级“2022版Java面试手册”
    地下水深度去除铁锰的滤料详解
    C#中引用类型的变量做为参数在方法调用时加不加 ref 关键字的不同之处
    23111707[含文档+PPT+源码等]计算机毕业设计基于javawebmysql的旅游网址前后台-全新项目
    无需公网IP,通过内网穿透轻松搭建微信公众号开发本地调试环境!
  • 原文地址:https://blog.csdn.net/hpx12345678/article/details/127462506