zoukankan      html  css  js  c++  java
  • ln 软链接与硬链接

    原文地址:http://www.dutor.net/index.php/2010/07/symbol-hard-links/

      Linux/Unix中有两种链接,硬链接和软链接,均由ln命令来创建。

    ln -s /home/m/.vimrc /media/Elements/115/vimrc

    软链接

      软链接使用ln命令的-s选项创建:

    1
    
    ln -s source filename #创建source文件的软链接target(目的地址)

      软链接类似于Windows中的快捷方式,内部保存的是源文件的路径,路径可以是相对路径,也可以是绝对路径:

    1
    2
    3
    4
    5
    6
    
    dutor@dutor-desktop:~$ ln -s gvim.tgz gvim
    dutor@dutor-desktop:~$ ln -s /home/dutor/gvim.tgz gvim2
    dutor@dutor-desktop:~$ ll gvim* # alias ll='ls -l'
    lrwxrwxrwx 1 dutor dutor    8 2010-07-01 20:32 gvim -> gvim.tgz
    lrwxrwxrwx 1 dutor dutor   20 2010-07-01 20:33 gvim2 -> /home/dutor/gvim.tgz
    -rw-r--r-- 1 dutor dutor 8.5M 2010-06-29 23:06 gvim.tgz

      软链接应用十分广泛。
      在文件系统中多处共享同一个较大文件时,使用软链接就可以避免创建多个副本。
      维护动态库文件的版本时,使用软链接,在升级库文件后,只需修改软链接的源文件,而使用该库的程序则不需要修改。

    硬链接

      不带有任何选项的ln命令即可创建硬链接:

    1
    
    ln source target #创建source文件的硬链接target

      硬链接创建后,链接文件与源文件没有主次之分,文件系统中它们都和同一个inode相关联,即具有相同的inode号:

    1
    2
    3
    4
    
    dutor@dutor-desktop:~$ ln gvim.tgz gvim
    dutor@dutor-desktop:~$ ll -i gvim*
    1048032 -rw-r--r-- 2 dutor dutor 8.5M 2010-06-29 23:06 gvim # 第3个域代表该文件的链接数
    1048032 -rw-r--r-- 2 dutor dutor 8.5M 2010-06-29 23:06 gvim.tgz

      因此,系统不允许用户为目录创建硬件链接,否则,目录树就不再是有向无环的了。只许州官放火,不许百姓点灯,系统却可以为目录“创建”硬链接(系统知道自己在做什么,却不知用户会做什么),那就是.和..分别指向当前目录和上级目录。因此每个目录的链接数至少是2.

      另外,由于硬链接的实现依赖于特定的文件系统,因此不可以跨文件系统。而软链接是基于路径的,所以只要是挂载在系统目录树中的文件或目录,都可以创建软链接。

  • 相关阅读:
    第一个spring MVC
    AOP切点相关
    设计模式详解
    Spring基本原理模拟(IoC部分)
    AOP常用注解
    Integer.valueOf与Integer.parseInt的小疑惑
    IE10与IMG图片PNG显示不了 WP中的WebBrowser中无法查看PNG格式的图片
    去除Coding4Fun中MessagePrompt的边框(Border)
    windows phone 中的TextBlock的一些特性(TextWrapping,TextWrapping)
    九度 找出两个只出现了一次的数字
  • 原文地址:https://www.cnblogs.com/wangkangluo1/p/2128918.html
Copyright © 2011-2022 走看看