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в верхней части вашего исходного дерева. В этом случае вы можете указать \.scriptsstow игнорировать этот каталог и не связывать его с целевым деревом.

решение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 

Поскольку эти параметры становятся все более и более сложными, может быть лучше написать небольшой скрипт оболочки, чтобы автоматизировать вашу работу и обеспечить вам максимальную гибкость.

Связанный контент