让我们假设一个名为scripts
.
??? scripts
? ??? .scripts
? ??? script1
? ??? script2
? ??? script3
? ??? .config
? ??? script4
? ??? script5
? ??? script6
Run Code Online (Sandbox Code Playgroud)
使用时stow scripts
,其中的两个文件夹都scripts
将符号链接到~/.scripts
和~/.config
。
我可以使用 stow 仅符号链接.scripts
而不必.config
从文件夹中删除但基本上忽略它吗?
让我们介绍一些斯托术语:
默认情况下,Stow将当前目录视为您的stow 目录,您在命令行中作为参数键入的名称作为stow 包,将父目录作为目标目录,因此当您键入:
$ stow scripts
Run Code Online (Sandbox Code Playgroud)
如果没有任何选项,您的stow 目录就是当前目录,scripts
是您的包,当前目录的父目录将成为安装包的 stow目标目录(将在其中创建符号链接)。
您可以在命令行中显式告知存储目录和要安装的包,如以下命令所示:
$ stow -d /path_to_scripts_folder/scripts -S .scripts
Run Code Online (Sandbox Code Playgroud)
其中,scripts
here 被定义为您的stow 目录,并且在Stow 术语.scripts
中被定义为您的包。
您可以选择指定目标目录,即相对于文件(文件的符号链接)应放置的位置的目录:
$ stow -d /path/scripts -S .scripts -t ~/
Run Code Online (Sandbox Code Playgroud)
要测试任何此选项,您可以使用-n
仅模拟更改而不修改文件系统的标志:
$ stow -n -d /path/scripts -S .scripts -t ~/
Run Code Online (Sandbox Code Playgroud)
如果您想查看应采取的所有操作,您可以添加 -v 指定从 0(无-v
标志)到 3( -vvv
) 的详细级别:
$ stow -n -d /path/scripts -S .scripts -t ~/ -vvv
Run Code Online (Sandbox Code Playgroud)
随着此选项变得越来越复杂,最好编写一些 shell 脚本来自动化您的工作并为您提供最大的灵活性。