ln in Linux
Posted harelion
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ln in Linux相关的知识,希望对你有一定的参考价值。
默认情况(硬连接)
ln 目标 连接名称
ll -i 显示文件的inode信息,即文件节点信息
? test1 ll -i 1.txt
27987655 -rw-r--r-- 1 myuser staff 8B 10 31 10:44 1.txt
? test1 ln 1.txt a
? test1 ll -i
total 16
27987655 -rw-r--r-- 2 myuser staff 8B 10 31 10:44 1.txt
27987655 -rw-r--r-- 2 myuser staff 8B 10 31 10:44 a
? test1
可见使用默认设置建立的连接,与原文件有相同的inode
软连接
ln -s 目标 连接名称
? test1 ln -s 1.txt symbol_link
? test1 ll -i
total 24
27987655 -rw-r--r-- 2 myuser staff 8B 10 31 10:44 1.txt
27987655 -rw-r--r-- 2 myuser staff 8B 10 31 10:44 a
27989122 lrwxr-xr-x 1 myuser staff 5B 10 31 10:47 symbol_link -> 1.txt
? test1
可见软链接会新建有不同的inode的连接
Linux默认不允许用户使用硬连接连接到目录,目的是防止连接自引用,陷入死循环。
但是可以使用软连接连接到目录,这是因为Linux系统遍历文件时,如果连续遇到8个符号连接(软连接)之后就停止遍历,这样的设置保证不会发生死循环的情况。
ln -n 选项
如果目标位置已存在同名连接,则覆盖连接,而不是在连接指向的位置进行操作,即”—no-dereference"
其他参数可参照"man ln”命令。
以上是关于ln in Linux的主要内容,如果未能解决你的问题,请参考以下文章
LN : leetcode 215 Kth Largest Element in an Array