zoukankan      html  css  js  c++  java
  • linux软链接和硬链接

    建立方法:

    ln -s abc link建立abc 的软连接
    ln abc link建立abc的硬连接(默认)实际参数为-d:ln -d abc link

     

    删除链接方法:

    统一用

    rm -rf symbolic_name注意不是rm -rf symbolic_name/

     (注意和alias的区别。建立alias  saiku=‘cd  /home/saikudatasource‘。

    删除,unalias saiku)

     

    硬链接(Hard Link):

    语法:

    ln -d existfile hardlink

    具体:

    ln [options] existingfile hardlink(existingfile 待建立链接文件的文件,hardlink是新创建的链接文件)

     –f 无论”newfile”存在与否,都创建链接。-n 如果”newfile”已存在,就不创建链接。-i 删除前进行询问.

    缺点:

    (1)不可以在不同文件系统的文件间建立链接
    (2)只有超级用户才可以为目录创建硬链接

    另一种被称为符号链接(Symbolic Link),就是软链接:

    ln -s existingfile softlink

    谁都能建。跨文件系统。

     

    二者区别:

    linux系统中,文件唯一标识为inode号,索引节点号,创建文件就分配一个唯一的inode。通过 ls -il 可以查看,开头第一个列。

    [root@rekfan.com test]# ls -il
    总计 0
    1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
    1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
    [root@rekfan.com test]# ln file2 file2hand
    [root@rekfan.com test]# ls -il
    总计 0
    1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
    1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
    1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
    [root@rekfan.com test]#

    第三列为链接个数,建立硬链接,则会增加个数。而软链接不会。

    主要区别为,硬链接同一文件,软链接为不同文件。

    硬链接相当于又起了一个文件名(也相当于一个文件指针),直接指向源文件,inode号一致,其与原文件名功能基本相同。所以删除文件必须删除两个链接。删除其中一个,文件还在,只是删除了自身这个文件名。

    软链接,跨越不同机器、不同网络对文件进行链接。如,

    [root@rekfan.com test]# ls -il
    总计 0
    1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
    1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
    1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand

    [root@rekfan.com test]# ln -s file1 file1soft
    [root@rekfan.com test]# ls -il
    总计 0
    1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
    1491140 lrwxrwxrwx 1 root root 5 07-14 14:24 file1soft -> file1
    1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
    1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand

    1.软链接不是源文件,链接文件拥有不同的inode号,表明他们是两个不同的文件;在文件属性上软链接明确写出了是链接文件。

    2.所以文件链接数不会增加。

    系统通过软链接,去找到真正要访问的文件。

     

     

     

    另一个人总结的:

    (1)软连接可以 跨文件系统 ,硬连接不可以 。
    实践的方法就是用共享文件把windows下的 aa.txt文本文档连接到linux下/root目录 下 bb,cc . ln -s aa.txt
    /root/bb 连接成功 。ln aa.txt /root/bb 失败 。

    (2)关于 I节点的问题 。硬连接不管有多少个,都指向的是同一个I节点,会把 结点连接数增加 ,只要结点的连接数不是 0,文件就一直存在 ,不管你删除的是

    源文件还是 连接的文件 。只要有一个存在 ,文件就 存在 (其实也不分什么 源文件连接文件的 ,因为他们指向都是同一个 I节点)。 当你修改源文件或者连接文件

    任何一个的时候 ,其他的 文件都会做同步的修改 。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以 删除连接文件 对源文件无影响,但

    是 删除 源文件,连接文件就会找不到要指向的文件 。软链接有自己的inode,并在磁盘上有一小片空间存放路径名.

    (3)软连接可以对一个不存在的文件名进行连接 。

    (4)软连接可以对目录进行连接。

    备注:I节点 :它是UNIX内部用于描述文件特性的数据结构.我们通常称I节点为文件索引结点(信息结点).i节点 含有关于文件的大部分的重要信 息,包括文件数据块在

    磁盘上的地址.每一个I节点有它自己的标志号,我们称为文件顺序号.I节点包含的信息 1.文件类型 2.文件属主关系 3.文件的访问权限 4.文件的时间截.

  • 相关阅读:
    Windows系统下hosts文件工作原理
    windows2008中IIS7详细安装图文教程加fastcgi模式PHP配置教程
    C#中的global关键字
    Winform自定义控件实例
    PHP的线程安全与非线程安全版本的区别
    Visual Studio的编程环境配置
    C#Winform导出Excel
    分页
    存储过程使用相关知识
    Winform主窗体转移到新窗体
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205492.html
Copyright © 2011-2022 走看看