Como criar um link simbólico que vincule um arquivo a cada subdiretório, incluindo crianças

0

Por engano, eu fiz essa pergunta no StackOverflow e eles sugeriram que eu perguntasse aqui.

Eu li muitos dos outros posts aqui, e todos parecem ter sido respondidos com sucesso, mas eu simplesmente não consigo acompanhar. Ainda sou muito novo e não quero tentar a abordagem de tentativa e erro, porque não tenho certeza se poderei consertá-lo. Aqui é onde eu estou.

Eu tenho um arquivo chamado "php.ini" que está na pasta web raiz do meu host. Eu preciso que esta pasta também esteja em todas as pastas e subpastas no servidor. O anfitrião sugeriu "criar um link simbólico nas subpastas" e essa foi a extensão de sua ajuda. Eu perguntei como e eles me disseram para pesquisar no Google. Então eu fiz .. e estou perdido. Até agora eu tenho isso:

ln -s /path/to/htdocs/php.ini LINK-NAME

Mas eu não tenho certeza se isso está certo, e não tenho certeza do que o LINK-NAME deve ser, ou o que ele faz. Além disso, não sei se isso criará o link em todas as pastas e subpastas? Como devo usar o SSH para inserir esse comando, quero ter certeza de que está certo antes de tentar. Me desculpe se esta é uma questão de conhecimento básico (noob), todas as minhas pesquisas apenas dão um exemplo e nenhuma delas explica o que elas fazem!

Muito obrigado!

    
por Protocol Zero 04.10.2018 / 03:51

1 resposta

0

Você pode find de todos os diretórios em algum caminho

find path -type d 

e achado execute -exec (ou -execdir é supostamente mais seguro) ln (com -v para verbose) nele (supondo que o caminho completo que você deseja vincular seja /path/to/htdocs/php.ini )

find path -type d -execdir ln -v -s /path/to/htdocs/php.ini '{}' ';'

Ou, em vez de usar -exec ou -execdir , você poderia enviar a saída de saída para xargs (saída separada nula pode ser útil, -print0 / -0 ) ou usar em um script bash / sh, etc. ...

Mas primeiro, você pode querer verificar se já existem arquivos php.ini com

find path -name php.ini

ou se você criou vários novos links php.ini e deseja verificar o que eles realmente apontam, use

find path -name php.ini -execdir readlink '{}' ';'

ou se você cometer um erro ao criar uma grande quantidade de arquivos php.ini incorretos, você pode excluí-los com

find path -name php.ini -delete
    
por 04.10.2018 / 08:08