GNU Stow: Wie verstaue ich nur ausgewählte Dateien/Ordner?

GNU Stow: Wie verstaue ich nur ausgewählte Dateien/Ordner?

Nehmen wir die folgende Struktur eines Ordners namens an scripts.

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

Bei Verwendung werden stow scriptsbeide Ordner darin mit und symbolisch verknüpft .scripts~/.scripts~/.config

Kann ich Stow verwenden, um nur einen symbolischen Link zu erstellen, .scriptsohne ihn aus dem Ordner entfernen zu müssen .config, sondern ihn einfach grundsätzlich zu ignorieren?

Antwort1

stowhatIgnorierlistenDamit können Sie eine Datei mit dem Namen .stow-local-ignoreoben in Ihrem Quellbaum ablegen. Sie können festlegen, \.scriptsdass stow dieses Verzeichnis ignoriert und nicht mit dem Zielbaum verknüpft.

Antwort2

Lassen Sie uns einige vorstellenStow-Terminologie:

StandardmäßigVerstauennimmt das aktuelle Verzeichnis ist IhreStow-Verzeichnis, der Name, den Sie als Argument in der Befehlszeile eingeben, alsVerstaupaketund das übergeordnete Verzeichnis alsZielverzeichnis, wenn Sie also Folgendes eingeben:

$ stow scripts

Ohne jede Option IhreStow-Verzeichnisist das aktuelle Verzeichnis, scriptsist IhrPaketund das übergeordnete Verzeichnis des aktuellen Verzeichnisses wird zum stowZielverzeichniswo das Paketerscheinenzu installieren (wo die symbolischen Links erstellt werden).

Sie können dies ausdrücklich mitteilenStow-Verzeichnisund dasPaketSie möchten in der Befehlszeile installieren, wie im folgenden Befehl:

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

Wobei das scripts„Hier“ definiert ist als IhrStow-Verzeichnisund .scriptsals IhrPaketInStow-Terminologie.

Optional können Sie das Zielverzeichnis angeben, also das Verzeichnis relativ zum Speicherort Ihrer Dateien (symmetrische Links zu Ihren Dateien):

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

Um eine dieser Optionen zu testen, können Sie das -nFlag verwenden, das die Änderungen simuliert, ohne Ihr Dateisystem zu ändern:

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

Wenn Sie alle auszuführenden Aktionen sehen möchten, können Sie -v hinzufügen und damit eine Ausführlichkeitsstufe von 0 (keine -vFlagge) bis 3 ( -vvv) angeben:

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

Da diese Optionen immer komplexer werden, könnte es besser sein, ein kleines Shell-Skript zu schreiben, um Ihre Arbeit zu automatisieren und Ihnen maximale Flexibilität zu geben.

verwandte Informationen