Сегодня я хотел работать ss -tpla
команда для наблюдения сетевых соединений к моему удивлению я добрался error: unknown option -t
. Затем я проверил местоположение ss
команда:
~$ whereis ss
ss: /bin/ss /usr/local/bin/ss /usr/share/man/man8/ss.8.gz
Поскольку Вы видите, что я имею два ss
команды, один в /bin/ss
и другой в /usr/local/bin/ss
.
Я, возможно, установил другое приложение с тем же именем от исходного кода в /usr/local/bin/ss
. Я не помню, когда и использование его, но он не команда, я хочу работать. Странная вещь - это, когда я работаю
ss -tpla
это перенаправляет команду к /usr/local/bin/ss
Я могу работать фактический ss
команда с
/bin/ss -tpla
Я думал /bin
имеет приоритет над другими путями.
Мой вопрос - то, что определяет приоритеты системных путей и как я могу переопределить их.
Можно дать /bin/ss
приоритет путем создания символьной ссылки на него.
sudo mkdir /opt/ss
sudo ln -s /bin/ss /opt/ss/
и добавляют /opt/ss
к Вашему пути прежде /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
для создания этого постоянным, добавляют в конец ~/.profile
PATH=/opt/ss:$PATH
Ваш ПУТЬ делает.
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:
/bin:/usr/games:/usr/local/games
и только измените путь (он, вероятно, изменит больше, чем просто "ss"). Используйте
/bin/ss -tpla