zoukankan      html  css  js  c++  java
  • linux文件目录连接

     

    linux系统下提供ln指令来进行文件链接。文件链接主要分为硬链接和软链接。

    硬链接:由于linux下的文件是通过索引节点(Inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配inode。每添加一个一个硬链接,文件的链接数就加1。

    可以用:ln命令来建立硬链接。语法:

    1. ln [options] existingfile newfile  
    2. ln[options] existingfile-list directory  

    软链接(符号链接):

    软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。

    1. $ln –s file1 file1soft

    程序执行:

    link()函数和symlink()

     unlink("/opt/ipnc");


     sprintf(cSrc,"/opt/ipnc%d",iDirNum);
     sprintf(cDst,"/opt/ipnc");
     symlink(cSrc, cDst);

    原型

    #include <unistd.h>
    int symlink(const char *oldpath, const char *newpath);
    ssize_t readlink(const char *path, char *buf, size_t bufsiz);


    说明
    symlink() 函数创建称为 newpath 的符号链接,该符号链接指向称为 oldpath 的文件。符号链接可以跨越文件系统,并且不会对执行对 oldpath 是否存在的任何检查。一旦创建符号链接,就可以用 readlink() 函数来读取它的内容,以查看它指向何处。

    readlink() 函数允许我们确定为 path 的符号链接指向什么内容。路径名的第一个 bufsiz 字节复制到用户提供的缓冲区 buf。当路径名复制到 buf  时,它没有按照我们期望的那样以 NULL 终止,因此必须添加自己的终止标记。

    示例代码

    #include <unistd.h>
    #include <stdio.h>

    int main()
    {
        
        char buf[128];

        if (symlink ("/home/Programming/system/symlink.c", "/home/groad/symlink_test.c"== -1)
            perror ("symlink");

        readlink ("/home/groad/symlink_test.c", buf, 127);

        buf[128] = '';
        printf ("%s ", buf);

        return (0);
    }

    运行与输出

     ./symlink 
    /home/Programming/system/symlink.c

    之间的区别:

    硬链接就是备份,软连接就是快捷方式

    http://blog.csdn.net/hairetz/article/details/4168296

    http://blog.csdn.net/stilling2006/article/category/746887

  • 相关阅读:
    PMP(第六版)十大知识领域、五大项目管理过程组、49个过程矩阵
    快速开发平台分享-UCML快速开发七种武器
    敏捷开发干货-快速开发平台的主题行为模型介绍
    MACHINE LEARNING
    What is “Neural Network”
    VS打开项目或解决方案卡死,一直处于未响应状态。
    Sql Server 本地(客户端)连接服务器端操作
    阿里云服务器,Sql Server 本地连接服务器端问题记录
    <%@ Register TagPrefix="uc1" TagName="user" Src="../Control/user.ascx" %>什么意思?
    IIS网站部署后,程序常见错误记录
  • 原文地址:https://www.cnblogs.com/pengkunfan/p/3733961.html
Copyright © 2011-2022 走看看