我安装了 OpenSuse 15.1“Magic Leap”。
我注意到似乎有两个名为 的相互冲突的命令ss
。
当我跑步时which ss
,我得到这个:
/usr/sbin/ss
当我尝试检查时,请注意这一点......
>* whatis ss
ss (8) - another utility to investigate sockets
对我来说,这看起来像是我期望的命令 -等等的iproute2
现代替代品。netstat
但是,尝试使用此命令来列出计算机上的所有活动 tcp 连接,表明我的默认命名空间中的命令是不同的!
看看会发生什么ss -t
>* ss -t
su: invalid option -- 't'
Try 'su --help' for more information.
在我看来ss
是现在su
超级用户 util的别名。
那么,这是 OpenSuse 的“功能”、错误还是什么?
另外,从非特权 shell 调用命令会自动召唤sudo
并将我留在 root shell 上 - 进一步暗示了以后的可能性!
netstat
如果有一种新的、现代的做事方式,我不想安装已弃用的,但是,我如何才能到达恰当的 ss
命令?
更新:
根据 muru 的建议,这是输出type -a
>* type -a ss
ss is aliased to `sudo su'
ss is /usr/sbin/ss
ss is /usr/bin/ss
此外,通过检查file
,我发现上面报告的这两个“版本”的 ss 实际上是相同的。请参阅以下内容...
>* file /usr/bin/ss
/usr/bin/ss: symbolic link to ../sbin/ss
>* file /usr/sbin/ss
/usr/sbin/ss: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=4cb972d442c793ac1783b508f94e7aaceaf83088, stripped
>* /usr/sbin/ss --version
ss utility, iproute2-ss170705
因此,同时 ss 似乎是 的别名sudo su
,但经过检查,似乎是iproute2
命令。诡异的。
答案1
好吧,我听从了@muru的建议,尝试之后@thrig的建议检查发现我很久以前就定义了一个别名 -一个bash -ixlc : 2>&1 | grep ss
好奇ss
/etc/bash.bashrc.local
alias ss="sudo su"
正如 @roima 搞笑地指出的那样,这同样是矫枉过正;-) 我现在已经对本地 bashrc 进行了必要的更新,并且我得到了正确的ss
.
多谢你们!