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 resolvido
imprimir links simbólicos resolvidos ou nomes de arquivos canônicos

A 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/Downloadslink

No 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/himanshu

Aqui está a saída:

Downloads

Assim, 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/Downloadslink

E a seguir está a saída deste comando:

/var/local/Downloadslink

Q4. 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.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.