0

Linux之ln命令

 3 years ago
source link: https://segmentfault.com/a/1190000040378133
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Linux之ln命令

发布于 今天 15:15

ln命令 用来为文件创建链接,链接类型分为硬链接和符号链接两种,默认的链接类型是硬链接。如果要创建符号链接必须使用"-s"选项。

ln [参数][源文件或目录][目标文件或目录]

Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

  • 软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
  • 软链接可以 跨文件系统 ,硬链接不可以
  • 软链接可以对一个不存在的文件名进行链接
  • 软链接可以对目录进行链接
  • 硬链接,以文件副本的形式存在。但不占用实际空间。
  • 不允许给目录创建硬链接
  • 硬链接只有在同一个文件系统中才能创建
  • -b 删除,覆盖以前建立的链接
  • -d 允许超级用户制作目录的硬链接
  • -f 强制执行
  • -i 交互模式,文件存在则提示用户是否覆盖
  • -n 把符号链接视为一般目录
  • -s 软链接(符号链接)
  • -v 显示详细的处理过程
  • -S “-S<字尾备份字符串> ”或 “--suffix=<字尾备份字符串>”
  • -V “-V<备份方式>”或“--version-control=<备份方式>”
  • --help 显示帮助信息
  • --version 显示版本信息

rumenz.txt创建一个软连接

> ls -al
ls -al
total 4
drwxr-xr-x 2 root root  24 Feb 27 22:03 .
drwxr-xr-x 8 root root 299 Feb 26 19:44 ..
-rw-r--r-- 1 root root  22 Feb 27 22:03 rumenz.txt
> ln -s rumenz.txt newrumenz.txt

> ls -al
total 4
drwxr-xr-x 2 root root  45 Feb 27 22:03 .
drwxr-xr-x 8 root root 299 Feb 26 19:44 ..
lrwxrwxrwx 1 root root  10 Feb 27 22:03 newrumenz.txt -> rumenz.txt
-rw-r--r-- 1 root root  22 Feb 27 22:03 rumenz.txt

newrumenz.txt就是rumenz.txt的软连接,修改newrumenz.txt文件的内容,rumenz.txt也会跟着变,删除newrumenz.txt,rumenz.txt内容不受任何影响。但是删除rumenz.txt,ls newrumenz.txt时,newrumenz.txt会变色或者会一直闪烁。

rumenz.txt创建一个硬连接

> ls rumenz.txt oldrumenz.txt
> ls -al
total 8
drwxr-xr-x 2 root root  45 Feb 27 22:12 .
drwxr-xr-x 8 root root 299 Feb 26 19:44 ..
-rw-r--r-- 2 root root   8 Feb 27 22:12 oldrumenz.txt
-rw-r--r-- 2 root root   8 Feb 27 22:12 rumenz.txt

修改oldrumenz.txt文件内容,rumenz.txt内容也会跟着改变,删除oldrumenz.txt,rumenz.txt内容不受任何影响。删除rumenz.txt,oldrumenz.txt内容不受任何影响。

给目录创建软连接(不能给目录创建硬连接)

> ln -sv lib lib64
> ls -al
drwxr-xr-x 8 root root   312 Feb 27 22:16 .
drwxr-xr-x 3 root root    17 Jan 29 23:06 ..
drwxr-xr-x 2 root root    27 Feb 27 22:14 lib
lrwxrwxrwx 1 root root     4 Feb 27 22:16 lib64 -> lib/

原文链接:https://rumenz.com/rumenbiji/...
微信公众号:入门小站


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK