symbolic-link的实际应用
在Windows中,快捷方式是一种方便的方式,可以直接从桌面或其他位置打开文件、文件夹或程序,而无需进入源文件夹。在Mac中,类似的功能叫做“替身”。
创建替身也很简单,只需右键点击你想要创建替身的文件或文件夹,选择“制作替身”选项即可。制作的替身会显示一个带有箭头的图标,便于区分它是指向原始位置的快捷方式。

体现
打开 /usr/local/bin文件夹,可以看到很多可执行文件。
其中有箭头的就是替身文件,这种文件我们就可以再控制台里直接执行,而不需要进入文件夹。比如:

查看替身
要查看一个目录下,有那些文件是软连接,只需要执行:
bash
ls -l
常用方法
- 在当前文件夹下创建一个test.sh脚本
bash
#!/bin/bash
echo '测试'
exit 0赋予权限
bash
chmod +x test.sh- 调用
bash
./test.sh- 结果显示

如何链接到全局
- 使用软连接
bash
ln -s /Users/yourname/test.sh /usr/local/bin/test.sh这样你在全局就可以使用test的命令了
删除替身
替身也就是一个普通文件,我们直接删除就可以了,不会影响到源文件(夹)的.
bash
unlink /usr/local/bin/test.sh修改软连接
ln -snf 是 Linux 中用于创建符号链接(软链接)的命令。下面是每个选项的详细解释:
命令格式:
bash
ln -snf <源文件> <目标链接>选项解释:
-s:
创建 符号链接(Symbolic Link),也就是软链接,而不是硬链接。软链接是一个指向目标文件或目录的快捷方式。-n:
不解引用目标(no dereference)。
在创建链接时,如果目标链接已经存在,-n会避免删除目标链接并创建新的链接,而是保持目标链接的原样。通常,如果目标链接已经存在,ln会删除原链接并创建新的链接。使用-n后,不会删除目标链接,而是直接使用现有链接作为目标。-f:
强制执行(force)。
如果目标链接已存在,则 强制删除 目标链接并创建新的链接。这样即使目标已经有一个链接,-f也会让你覆盖它。
综合解释:
ln -snf组合起来的意思是:- 创建一个软链接,如果目标链接已存在,强制删除原链接并创建一个新的软链接。
- 如果目标链接已经存在,并且是一个符号链接,
-n选项会使ln不会解引用目标链接的内容(例如,如果目标是指向其他文件的软链接,-n会使其指向目标文件的路径而不是目标文件本身)。
示例:
假设你有以下文件和目标:
bash
source_file="source.txt"
symlink="my_link"如果你执行:
bashln -snf $source_file $symlink如果
my_link已经存在,ln -snf会:- 删除现有的
my_link。 - 创建一个新的软链接
my_link,指向source.txt。
- 删除现有的
常见场景:
替换一个已有的符号链接: 如果你需要将一个符号链接更新为指向另一个文件,可以使用
-snf强制替换:bashln -snf /new/file/path /path/to/existing/symlink防止解引用: 假设目标链接指向某个文件,而你希望创建新的链接并让它指向原路径,而不管目标文件的实际内容是什么,你可以使用
-n选项。