当前位置:   article > 正文

Linux命令之ln -s命令(软链接)_linux ln -s

linux ln -s

ln命令

Linux ln(英文全拼:link files)命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
在Linux系统中存在两种链接文件方式:

  • 软连接
  • 硬链接

如果文件被删除,则软链接文件失去指向,变为不可用
如果文件被删除,由于硬链接文件直接指向内容,因此不受影响

创建硬链接

ln [源文件/目录] [目标软链接]
  • 1

创建软连接

ln -s [源文件/目录] [目标软链接]
  • 1
[root@asd test]# mkdir data-directory-test1
[root@asd test]# touch data-file-test2
[root@asd test]# ln -s data-directory-test1/ test1
[root@asd test]# ln -s data-file-test2 test2
 
[root@node02 test]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 10 16:24 data-directory-test1
-rw-r--r-- 1 root root    0 Nov 10 16:26 data-file-test2
lrwxrwxrwx 1 root root   21 Nov 10 16:27 test1 -> data-directory-test1/
lrwxrwxrwx 1 root root   15 Nov 10 16:28 test2 -> data-file-test2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

删除软连接

删除软链接和删除文件/目录操作一样,使用rm命令。但是需要特别注意的是,如果只是删除软链接,不想误删除软链接目录真实文件数据,在rm目录时路径末尾一定不能带"/“。如果带了”/",会将链接到的路径下的文件全部删除。

[root@node02 test]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 10 16:46 data-directory-test1
lrwxrwxrwx 1 root root   20 Nov 10 16:46 test1-1 -> data-directory-test1
lrwxrwxrwx 1 root root   20 Nov 10 16:46 test1-2 -> data-directory-test1
[root@node02 test]# ll data-directory-test1/
total 0
-rw-r--r-- 1 root root 0 Nov 10 16:47 file1
-rw-r--r-- 1 root root 0 Nov 10 16:47 file2
 
 
#末尾不带"/"删除,删除软链接,不删除目录下数据
[root@node02 test]# rm -rf test1-1
[root@node02 test]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 10 16:47 data-directory-test1
lrwxrwxrwx 1 root root   20 Nov 10 16:46 test1-2 -> data-directory-test1
[root@node02 test]# ll data-directory-test1/
total 0
-rw-r--r-- 1 root root 0 Nov 10 16:47 file1
-rw-r--r-- 1 root root 0 Nov 10 16:47 file2
 
 
#末尾带"/"删除,删除目录下数据,但不删除软链接
[root@node02 test]# rm -rf test1-2/
[root@node02 test]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 10 16:48 data-directory-test1
lrwxrwxrwx 1 root root   20 Nov 10 16:46 test1-2 -> data-directory-test1
[root@node02 test]# ll data-directory-test1/
total 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

修改软连接

ln -snf [新源文件/目录] [目标软链接]
  • 1
[root@node02 test]# ll
total 8
drwxr-xr-x 2 root root 4096 Nov 10 16:48 data-directory-test1
drwxr-xr-x 2 root root 4096 Nov 10 16:51 data-directory-test2
lrwxrwxrwx 1 root root   20 Nov 10 16:51 test-link -> data-directory-test1
 
[root@node02 test]# ln -snf data-directory-test2 test-link
[root@node02 test]# ll
total 8
drwxr-xr-x 2 root root 4096 Nov 10 16:52 data-directory-test1
drwxr-xr-x 2 root root 4096 Nov 10 16:52 data-directory-test2
lrwxrwxrwx 1 root root   20 Nov 10 16:52 test-link -> data-directory-test2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/634169
推荐阅读
相关标签
  

闽ICP备14008679号