Comandos Linux · 2 min read · Oct 26, 2025
Tutorial do Comando Linux readlink e realpath para Iniciantes (com Exemplos)

Já discutimos o comando ln, que permite criar links entre arquivos. No entanto, algumas ferramentas permitem que você resolva esses links.
Neste tutorial, discutiremos o básico dos comandos realpath e readlink que são semelhantes (senão iguais) na medida em que exibem links simbólicos resolvidos na saída. Mas antes de fazermos isso, vale a pena mencionar que todos os exemplos aqui foram testados no Ubuntu 24.04 LTS e Debian 12.
Comandos realpath e readlink do Linux
Como mencionado no início, ambos os comandos realpath e readlink exibem o caminho resolvido para symlinks na saída.
A seguir está a sintaxe deles:
realpath [OPÇÃO]... ARQUIVO...readlink [OPÇÃO]... ARQUIVO...E aqui está o que suas respectivas páginas man dizem:
Imprimir o nome do arquivo absoluto resolvidoimprimir links simbólicos resolvidos ou nomes de arquivos canônicosA seguir estão alguns exemplos no estilo Q&A que devem lhe dar uma ideia melhor de como essas ferramentas funcionam.
Q1. Como resolver um caminho usando realpath e readlink?
Simples: basta fornecer o arquivo ou caminho como entrada. O exemplo a seguir mostra ambos os comandos resolvendo um link simbólico.
E aqui está como eles funcionam com caminhos:
Assim, você pode ver que ambos os comandos resolveram com sucesso os symlinks nos dois casos.
Q2. Como imprimir o caminho resolvido relativo a um diretório?
O comando realpath permite que você faça isso facilmente. Por exemplo, suponha que isso é o que você está tentando fazer:
realpath /var/local/DownloadslinkNo entanto, um requisito adicional é ter a saída deste comando relativa ao diretório /home/himanshu. Então, a seguir está o comando que você precisa executar:
realpath /var/local/Downloadslink --relative-to=/home/himanshuAqui está a saída:
DownloadsAssim, você pode ver que a opção ‘–relative-to’ permitiu que você tivesse a saída relativa ao diretório /home/himanshu.
Q3. Como se livrar de .. em caminhos?
Pode haver momentos em que expandir/resolver symlinks não é o objetivo, mas se livrar de .. no caminho é. O comando realpath permite que você faça isso.
Tudo o que você precisa fazer é usar a opção de linha de comando -s. Aqui está um exemplo:
realpath -s ../../var/local/DownloadslinkE a seguir está a saída deste comando:
/var/local/DownloadslinkQ4. Como mudar o caractere delimitador?
Por padrão, a nova linha é usada como o caractere delimitador. No entanto, ambos os comandos fornecem uma maneira de ter NUL como delimitador em vez disso.
A opção que você precisa usar em ambos os casos é -z.
realpath -z [ARQUIVO/CAMINHO]readlink -z [ARQUIVO/CAMINHO]Conclusão
Discutimos aqui apenas um punhado de opções/características que esses comandos fornecem. Uma vez que você tenha terminado de praticar isso, dirija-se às páginas man do readlink e realpath (aqui e aqui) para aprender mais sobre essas ferramentas.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.