як я можу змінити пріоритет між шляхами / bin та / usr / local / bin?


2

Сьогодні я хотів запустити 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має пріоритет перед іншими шляхами.

Моє запитання - що визначає пріоритети системних шляхів і як я можу їх перекрити.

Відповіді:


2

Ви можете надати /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

2

Твій ПАТЬ робить.

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

і, будь ласка, не просто змінюйте шлях (це, ймовірно, зміниться більше, ніж просто "ss"). Використовуйте

/bin/ss  -tpla

тож пріоритет такий самий, як у PATHзмінній env?
kenn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.