como posso sobrescrever a prioridade entre os caminhos de / bin e / usr / local / bin?

2

Hoje eu queria executar o comando ss -tpla para ver as conexões de rede. Para minha surpresa, recebi error: unknown option -t . Então eu verifiquei a localização do comando ss :

 ~$ whereis ss
 ss: /bin/ss /usr/local/bin/ss /usr/share/man/man8/ss.8.gz

Como você pode ver, eu tenho dois comandos ss , um em /bin/ss e outro em /usr/local/bin/ss .

Eu poderia ter instalado outro aplicativo com o mesmo nome do código-fonte em /usr/local/bin/ss . Não me lembro quando e uso dele, mas não é o comando que quero executar. O mais estranho é que quando eu corro

 ss -tpla  

ele redireciona o comando para /usr/local/bin/ss Eu posso executar o comando ss real com

 /bin/ss  -tpla

Eu achei que /bin tem prioridade sobre outros caminhos.

Minha pergunta é o que determina as prioridades dos caminhos do sistema e como posso substituí-los.

    
por kenn 20.02.2016 / 13:36

2 respostas

2

Você pode dar a /bin/ss prioridade criando um link simbólico para ela.

sudo mkdir /opt/ss
sudo ln -s /bin/ss /opt/ss/

e adicione /opt/ss ao seu caminho antes de /usr/local/bin

export PATH=/opt/ss:$PATH
$ echo $PATH
/opt/ss:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

para torná-lo permanente, adicione ao final de ~/.profile

PATH=/opt/ss:$PATH
    
por Tom Piccirello 10.05.2017 / 07:59
2

Seu PATH faz.

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:
/bin:/usr/games:/usr/local/games

e, por favor, não apenas mude o caminho (provavelmente irá mudar mais do que apenas "ss"). Use

/bin/ss  -tpla
    
por Rinzwind 20.02.2016 / 13:45