zoukankan      html  css  js  c++  java
  • linux下添加链接与删除链接(ln命令的用法)

    添加链接使用ln命令
    用法:
    #ln --help
    用法:ln [选项]... 目标 [链接名]
    或:ln [选项]... 目标... 目录
    或:ln [选项]... --target-directory=目录 目标...
    创建连至指定<目标>的链接,并可选择性指定<链接名>。
    如果没有指定<链接名>,会在目前的目录中创建一个和<目标>名称一样的链接。
    当使用第二种格式而<目标>多於一个时,最后的参数必须是目录;这样会在指定的
    <目录>中分别创建连至每个<目标>的链接。默认会创建硬链接,若
    使用 --symbolic 选项则创建符号链接。当创建硬链接时,每个<目标>都必须存
    在。

    长选项必须用的参数在使用短选项时也是必须的。
          --backup[=CONTROL]      make a backup of each existing destination file
    -b                          like --backup but does not accept an argument
    -d, -F, --directory         allow the superuser to attempt to hard link
                                    directories (note: will probably fail due to
                                    system restrictions, even for the superuser)
    -f, --force                 remove existing destination files
    -n, --no-dereference        如果目的地是一个链接至某目录的符号链接,会将
                                  该符号链接当作一般文件处理,先将该已存在的
                                  链接备份或删除
    -i, --interactive           确认是否删除目的地文件
    -s, --symbolic              创建符号链接而不是硬链接
    -S, --suffix=后缀           自行指定备份文件的<后缀>
          --target-directory=目录 在指定<目录>中创建链接
    -v, --verbose               链接前先印出每个文件的名称
          --help     显示此帮助信息并离开
          --version 显示版本信息并离开

    备份文件的后缀为‘~’,除非以 --suffix 选项或是 SIMPLE_BACKUP_SUFFIX
    环境变量指定。版本控制的方式可透过 --backup 选项或 VERSION_CONTROL 环境
    变量来选择。以下是可用的变量值:

    none, off       不会进行备份 (即使使用了 --backup 选项)
    numbered, t     备份文件会加上数字
    existing, nil   若有数字的备份文件已经存在则使用数字,否则使用普通方式备份
    simple, never   永远使用普通方式备份

    删除链接时,直接用rm命令


    例:

    添加
    ln -s /usr/jboss4.0.5.GA/ jboss

    删除
    rm jboss
     
     
    1 . 使用方式 :ln [option] source_file dist_file   (source_file是待建立链接文件的文件,dist_file是新创建的链接文件)
                        -f 建立时,将同档案名删除. 
                        -i 删除前进行询问. 
                        ln -s abc cde 建立abc 的软连接 
                        ln abc cde 建立abc的硬连接,

    2. 软链接与硬链接的区别(通俗): 
                        硬链接可认为是一个文件拥有两个文件名;                     而软链接则是系统新建一个链接文件,此文件指向其所要指的文件
     
                        此外,软链接可对文件和文件夹。。而硬链接仅针对文件。

    3. 软链接与硬链接的区别(讲解): 

    Linux 软连接与硬连接

    对于一个文件来说,有唯一的索引接点与之对应,而对于一个索引接点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问该文件。注意在Linux下是一切皆文件的啊,文件夹、新加的硬盘 ...都可以看着文件来处理的啊。
        连接有软连接和硬连接(hard link)之分的,软连接(symbolic link)又叫符号连接。符号连接相当于Windows下的快捷方式。
        不可以对文件夹建立硬连接的,我们通常用的还是软连接比较多。     
        
    eg:
        ln -s source dist        # 建立软连接
        ln source dist            # 建立硬连接


        软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系统看到软链接后自动跳到对应的文件位置处进行处理;相反,硬联接为文件开设一个新的目录 项,硬链接与文件原有的名字是平权的,在Linux看来它们是等价的。由于这个原因,硬链接不能连接两个不同文件系统上的文件。
    (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)软连接可以对目录进行连接。
     
    最后 删除符号链接,有创建就有删除
    rm -rf   symbolic_name   注意不是rm -rf   symbolic_name/ 
  • 相关阅读:
    Python学习札记(十五) 高级特性1 切片
    LeetCode Longest Substring Without Repeating Characters
    Python学习札记(十四) Function4 递归函数 & Hanoi Tower
    single number和变体
    tusen 刷题
    实验室网站
    leetcode 76. Minimum Window Substring
    leetcode 4. Median of Two Sorted Arrays
    leetcode 200. Number of Islands 、694 Number of Distinct Islands 、695. Max Area of Island 、130. Surrounded Regions 、434. Number of Islands II(lintcode) 并查集 、178. Graph Valid Tree(lintcode)
    刷题注意事项
  • 原文地址:https://www.cnblogs.com/sign-ptk/p/6207936.html
Copyright © 2011-2022 走看看