
Предположим, что имеется следующая структура папки с именем 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целевой каталоггде будет пакетпоявлятьсядля установки (где будут созданы символические ссылки).
Вы можете прямо сообщитькаталог укладкииупаковкавы хотите установить в командной строке, как в следующей команде:
$ stow -d /path_to_scripts_folder/scripts -S .scripts
Где scripts
здесь определяется как вашкаталог укладкии .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
Поскольку эти параметры становятся все более и более сложными, может быть лучше написать небольшой скрипт оболочки, чтобы автоматизировать вашу работу и обеспечить вам максимальную гибкость.