Linux 软链接的增、删、改、查

本文最后更新于:2022年8月10日 上午

Linux的软链接类似Windows的快捷方式,又不尽相同,本文对相关知识进行梳理总结 。

简介

软链接是将磁盘中的真实地址增加一个虚拟映射,使得用户访问该映射与访问真实磁盘地址完全相同,是Linux系统中灵巧编程的神兵利器。

具体操作

示例用例

测试在文件夹~/test 中进行

文件夹中包含tar_dir文件夹

test 文件夹中包含test_file.txt 文件

test_file.txt 文件内容为 Test_File_Data

tar_dir文件夹包含second_test_file.txt文件

second_test_file.txt文件内容为Second_Test_File_Data

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 :~# mkdir test
:~# cd test/
:~/test# ls
:~/test# mkdir tar_dir
:~/test# echo Test_File_Data>>test_file.txt
:~/test# cat test_file.txt
Test_File_Data
:~/test#echo Second_Test_File_Data>>tar_dir/second_test_file.txt
:~/test# cat tar_dir/second_test_file.txt
Second_Test_File_Data
:~/test# ls
tar_dir test_file.txt
:~/test#
:~/test# ls tar_dir/
second_test_file.txt

创建软链接

命令 ln,软链接参数 -s:

1
ln -s [目标地址] [软链接地址]

目标地址:需要链接到的目标路径;

软链接地址:需要建立软链接的文件路径

  • 建立指向文件test_file.txt的软链接
1
ln -s test_file.txt file_link

此时可以通过file_link访问文件test_file.txt

1
2
:~/test# cat file_link 
Test_File_Data
  • 建立指向目录的软链接
1
ln -s tar_dir/ dir_link 

此时可以通过dir_link访问目录tar_dir

1
2
3
4
:~/test# ls dir_link
second_test_file.txt
:~/test# cat dir_link/second_test_file.txt
Second_Test_File_Data

删除软链接

软链接本质是文件,可以直接用rm命令删除:

1
2
3
4
:~/test# rm file_link 
:~/test# rm dir_link
:~/test# ls
tar_dir test_file.txt

查看软链接

可以通过ls -al命令看到软链接指向:

1
2
3
4
5
6
7
8
:~/test# ls -al
total 16
drwxr-xr-x 3 root root 4096 Jun 19 13:04 .
drwx------ 1 root root 4096 Jun 19 13:06 ..
lrwxrwxrwx 1 root root 8 Jun 19 13:04 dir_link -> tar_dir/
lrwxrwxrwx 1 root root 13 Jun 19 13:04 file_link -> test_file.txt
drwxr-xr-x 2 root root 4096 Jun 19 12:55 tar_dir
-rw-r--r-- 1 root root 15 Jun 19 12:52 test_file.txt

修改软链接

修改软链接的参数是 -snf

1
ln -snf [新目标地址] [软链接地址]

尝试修改软链接:

1
2
3
:~/test# ln -snf tar_dir/second_test_file.txt file_link 
:~/test# cat file_link
Second_Test_File_Data

Linux 软链接的增、删、改、查
https://www.zywvvd.com/notes/system/linux/commands/soft-link/soft-link/
作者
Yiwei Zhang
发布于
2020年6月19日
许可协议