Criando links para arquivos e diretórios no Linux

Publicado por Perfil removido em 27/02/2010

[ Hits: 113.611 ]

 


Criando links para arquivos e diretórios no Linux



Este é um dos grandes recursos dos sistemas Unix-like, no nosso caso o GNU/Linux Ubuntu - criar links para arquivos e diretórios (um recurso semelhante também existe no Windows, mas não é tão conhecido, nem tão usado e muito menos tão robusto, e eu não sei como faz lá). A aplicação mais usual no GNU/Linux para este recurso e no referenciamento de bibliotecas.

Por exemplo, se você instalou o banco de dados Firebird tendo como base o pacote firebird2.1-super, ele vai ter instalado a biblioteca libfbclient na pasta /usr/lib com o nome de libfbclient.so.2.1.2 - programas como a ferramenta de administração de banco de dados FlameRobin irão fazer uso dessa biblioteca normalmente, porém a IDE Lazarus e os programas que você fizer e compilar nela vão procurar pela biblioteca libfbclient.so, logo, não a encontrarão.

Você não vai renomear o arquivo original (isso seria uma gambiarra feia e poderia afetar os outros programas), ao invés disso vamos criar um link lá para o nosso primeiro arquivo com o nome que o segundo arquivo deveria ter para que as tais aplicações a encontrem, assim, quando os programas que precisarem da libfbclient.so procurarem por ela irão bater no link (que, entenda, não é um simples atalho, é mais como um espelho que representa fielmente o arquivo), que por sua vez irá referenciar a libfbclient.so.2.1.2. O comando pra criar este link ficaria assim, é só digitar no Terminal:

sudo ln -s /usr/lib/libfbclient.so.2.1.2 /usr/lib/libfbclient.so

Um exemplo mais amplo e fantástico é o link com diretórios. Assim, temos a nossa pasta original e então criamos um link que será o espelho dela - os arquivos reais estão na pasta original, mas todas as alterações que fizermos nela serão mostradas na pasta espelho e vice-versa, porém quem vale é a original, se a pasta espelho for excluída não acontece nada com a original, mas se a original for excluída, logicamente, o link ficará órfão e ao tentar acessar esta pasta espelho dará erro.

Se você programa em C++ usando o Eclipse, por exemplo, criando as telas com o Glade e tiver colocado os arquivos .glade junto com os arquivos de código fonte na pasta do projeto C++, na hora que compilar o Eclipse criará uma pasta Debug na pasta e irá colocar lá o executável binário compilado, se você executar o programa por dentro do Eclipse pelos comandos Run ou Debug no menu Run vai ocorrer tudo bem, pois o Eclipse levará em consideração o caminho da pasta do projeto, porém se você for lá na pasta e tentar abrir o executável direto ele não encontrará os arquivos, pois logicamente que neste caso o caminho é onde o executável está. Então, para que você não precise sempre copiar a pasta com os arquivos .glade é só criar um link pra ela na pasta onde está o executável. Veja o meu exemplo:

sudo ln -s /home/pedro/workspace/GFP/glade /home/pedro/workspace/GFP/Debug/glade

Em resumo, a sintaxe do comando é esta:

sudo ln -s /original /link

Original em: http://pedro-araujo.com/

Outras dicas deste autor

Criando e utilizando um catálogo de e-mails no Claws

Conversão de divX para BDVD

ufw - Como ativar permanentemente o Firewall no Manjaro Linux

OpenOffice.org e navegador Chomium em português do Brasil no Ubuntu (ou Debian)

Configurando o "c" agudo no Firefox e Thunderbird

Leitura recomendada

Dispositivo USB com problemas de leitura/gravação

Permissões octais

Linux não consegue montar partição NTFS devido a erro de bloco

find - Buscando arquivos com tamanhos específicos

Configurando o apt-get para rodar pelo proxy de duas formas diferentes

  

Comentários
[1] Comentário enviado por Zirou em 14/08/2015 - 18:16h

Obrigado amigo me ajudou. :D

[2] Comentário enviado por tiago4171 em 11/11/2015 - 11:29h

Massa, editei o FSTAB para montar as partições automaticamente e o ponto de montagem estava muito distante. Agora tá tudo a 2 clicks.
Vlw, dica massa

[3] Comentário enviado por saxsoares em 13/01/2017 - 18:31h

Alguem sabe me dizer se tem como criar links para um diretório de uma forma que, quando acessados, mostrem o caminho todo e não o do link?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts