GNU Stow:如何仅存储选定的文件/文件夹?

GNU Stow:如何仅存储选定的文件/文件夹?

我们假设名为 的文件夹具有以下结构scripts

├── scripts
│   └── .scripts
│       ├── script1
│       ├── script2
│       └── script3
│   └── .config
│       ├── script4
│       ├── script5
│       └── script6

使用时stow scripts,其中的两个文件夹scripts将符号链接到~/.scripts~/.config

我可以使用 stow 仅符号链接.scripts而不必.config从文件夹中删除但基本上忽略它吗?

答案1

stow忽略列表它允许您将一个名为的文件.stow-local-ignore放在源代码树的顶部。这样,您可以\.scripts让 stow 忽略该目录,而不将其链接到目标树中。

答案2

我们来介绍一些斯托术语:

默认情况下斯托获取当前目录是你的存放目录,您在命令行中作为参数输入的名称存放包裹和父目录作为目标目录,所以当您输入:

$ stow scripts

没有任何选择你的存放目录是当前目录,scripts是你的包裹并且当前目录的父目录成为存储目标目录包裹将在哪里出现要安装(将在其中创建符号链接)。

您可以明确告知存放目录包裹您想在命令行中安装,如以下命令所示:

$ stow -d /path_to_scripts_folder/scripts -S .scripts

这里的herescripts被定义为你的存放目录.scripts作为你的包裹斯托术语

您可以选择指定目标目录,即相对于文件(文件的符号链接)应放置的位置的目录:

$ stow -d /path/scripts -S .scripts -t ~/

要测试任何此选项,您可以使用-n仅模拟更改而不修改文件系统的标志:

$ stow -n -d /path/scripts -S .scripts -t ~/

如果您想查看应采取的所有操作,您可以添加 -v 指定从 0(无-v标志)到 3( -vvv) 的详细级别:

$ stow -n -d /path/scripts -S .scripts -t ~/ -vvv 

随着此选项变得越来越复杂,最好编写一些 shell 脚本来自动化您的工作并为您提供最大的灵活性。

相关内容