Você pode usar cp -al .??* ~/dotfiles/
e deixar que se preocupe com toda a complexidade. Os diretórios são criados e os arquivos são vinculados
Eu tenho um tipo de problema. Eu estou tentando hard-link todos os meus dotfiles [arquivos que personalizam certos aplicativos] em uma pasta para facilitar o uso, chamado ~ / dotfiles /, mas vários programas que eu tenho, tem diretórios inteiros para isso. Alguns estão em .config, alguns apenas têm um diretório na pasta home, então eu tentei verificar se eu poderia linkar um diretório.
Depois de olhar para ele, eu vi todos os problemas, avisos, etc. sobre diretórios hard-linking, e porque é um nono gigante. Então, eu estou totalmente desencorajado de diretórios hard-linking, no entanto, eu ainda preciso fazer isso de alguma forma.
Eu descobri uma maneira de contornar isso, criando diretórios dentro de ~ / dotfiles / e vinculando os conteúdos dos diretórios naqueles criados, mas isso imediatamente atingiu uma parede chamada tédio e repetição . Um monte de programas tinha vários diretórios, alguns com diretórios aninhados, e eu não tive vontade de gastar muito tempo criando diretórios apenas para poder criar hard-link em arquivos de configuração.
Tudo que eu estou querendo saber é isso. Existe uma maneira de simular um link físico?
Por exemplo, eu tenho um diretório chamado ~ / Testconfig /, e quero vinculá-lo em ~ / dotfiles /. Teoricamente, um hardlink colocaria um diretório em ~ / dotfiles / com todo o seu conteúdo, incluindo seus arquivos e seus diretórios aninhados.
Existe uma maneira de conseguir isso sem realmente criar um link físico?
Minha idéia é que um script bash poderia ser feito para automatizar tudo isso, mas eu não sei quase nada sobre o bash, então isso seria difícil.