GNU Stow: Como armazenar apenas arquivos/pastas selecionados?

GNU Stow: Como armazenar apenas arquivos/pastas selecionados?

Vamos supor a seguinte estrutura de uma pasta chamada scripts.

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

Ao usar stow scripts, ambas as pastas scriptsserão vinculadas simbolicamente a ~/.scriptse ~/.config.

Posso usar o stow apenas para criar um link simbólico .scriptssem precisar removê-lo .configda pasta, mas basicamente ignorando-o?

Responder1

stowtemignorar listasque permite colocar um arquivo chamado .stow-local-ignoreno topo da sua árvore de origem. Nesse caso, você poderia fazer com \.scriptsque o stow ignorasse esse diretório e não o vinculasse à árvore de destino.

Responder2

Vamos apresentar algunsTerminologia de armazenamento:

Por padrãoArrumarpega o diretório atual é o seudiretório de armazenamento, o nome que você digita como argumento na linha de comando como opacote de armazenamentoe o diretório pai como odiretório de destino, então quando você digita:

$ stow scripts

Sem qualquer opção seudiretório de armazenamentoé o diretório atual, scriptsé o seupacotee o pai do diretório atual se torna o stowdiretório de destinoonde o pacote iráaparecera ser instalado (onde os links simbólicos serão criados).

Você pode informar explicitamente odiretório de armazenamentoe apacotevocê deseja instalar na linha de comando como no seguinte comando:

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

Onde o scriptsaqui é definido como seudiretório de armazenamentoe .scriptscomo seupacoteemTerminologia de armazenamento.

Opcionalmente, você pode especificar o diretório de destino, que é o diretório relativo ao local onde seus arquivos (links simbólicos para seus arquivos) devem ser colocados:

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

Para testar qualquer uma dessas opções você pode usar o -nflag que apenas simula as alterações sem modificar seu sistema de arquivos:

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

E se você quiser ver todas as ações que devem ser tomadas você pode adicionar o -v especificando um nível de verbosidade de 0(sem -vflag) até 3( -vvv):

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

À medida que essas opções se tornam cada vez mais complexas, seria melhor escrever um pequeno script de shell para automatizar seu trabalho e oferecer o máximo de flexibilidade.

informação relacionada