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
:~# 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
:
ln -s [目标地址] [软链接地址]
目标地址:需要链接到的目标路径; 软链接地址:需要建立软链接的文件路径
- 建立指向文件
test_file.txt
的软链接
ln -s test_file.txt file_link
此时可以通过
file_link
访问文件test_file.txt
:
:~/test# cat file_link
Test_File_Data
- 建立指向目录的软链接
ln -s tar_dir/ dir_link
此时可以通过
dir_link
访问目录tar_dir
:
:~/test# ls dir_link
second_test_file.txt
:~/test# cat dir_link/second_test_file.txt
Second_Test_File_Data
删除软链接
软链接本质是文件,可以直接用
rm
命令删除:
:~/test# rm file_link
:~/test# rm dir_link
:~/test# ls
tar_dir test_file.txt
查看软链接
可以通过
ls -al
命令看到软链接指向:
:~/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
:
ln -snf [新目标地址] [软链接地址]
尝试修改软链接:
:~/test# ln -snf tar_dir/second_test_file.txt file_link
:~/test# cat file_link
Second_Test_File_Data