Eles são realmente um e o mesmo:
~$ ls -lah /sbin | grep dhclient
lrwxrwxrwx 1 root root 9 2010-12-30 14:38 dhclient -> dhclient3
-rwxr-xr-x 1 root root 402K 2010-08-07 04:49 dhclient3
A seta indica que dhclient
é um Link simbólico que aponta para dhclient3
. Nós podemos usar
test -h /sbin/dhclient
echo $?
para se certificar de que é; ele retornará 0
, significando sim.
Às vezes, isso é feito para manter a compatibilidade com programas e scripts mais antigos que assumem o comando antigo.
Se você estiver escrevendo um programa que use um desses, use dhclient3
e gerencie suas dependências de acordo.
Em ls -lah
, os argumentos significam l no formato de listagem ong, a ll arquivos e h uman tamanhos de arquivo legíveis. Além disso, test
não tem nada a ver com links simbólicos, é um utilitário geral para testar a verdade de uma instrução, o argumento -h
faz com que funcione em arquivos e retorna True (0) se o arquivo existir e é um link simbólico .
Para descobrir onde o arquivo está, usei o utilitário type
:
type dhclient
dhclient is hashed (/sbin/dhclient)
Se você encontrar dois arquivos que não estejam simbolicamente vinculados e suspeitar que eles ainda são os mesmos, use uma Função de hash para ver se são as mesmas:
stefano@lenovo:~$ md5sum /sbin/dhclient && md5sum /sbin/dhclient3
fc2491e5c1576783bdc4aa8c5817166e /sbin/dhclient
fc2491e5c1576783bdc4aa8c5817166e /sbin/dhclient3