Mav*_*ick 6 command-line networking
好吧,我偶然发现了一个命令,它通过在终端中发出这个命令来从命令行连接你的有线连接;“须藤 dhclient3 eth0”。但也有一个名为“dhclient”的命令。他们是一样的吗?我可以发出与以下相同的命令吗?“sudo dhclient eth0?” 有人可以解决这个问题的新手吗?
它们确实是一回事:
~$ 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
Run Code Online (Sandbox Code Playgroud)
箭头表示dhclient
是指向的符号链接dhclient3
。我们可以用
test -h /sbin/dhclient
echo $?
Run Code Online (Sandbox Code Playgroud)
确保它是;它会返回0
,意思是是。
有时这样做是为了保持与采用旧命令的旧程序和脚本的向后兼容性。
如果您正在编写使用其中任何一个的程序,您应该使用dhclient3
,并相应地管理您的依赖项。
在ls -lah
中,各参数的含义升翁列表格式,一个LL文件,并^ h乌曼可读的文件大小。此外,test
与符号链接无关,它是测试语句真实性的通用实用程序,参数-h
使其对文件起作用,如果文件存在并且是符号链接,则返回 True (0)。
为了找出文件的位置,我使用了该type
实用程序:
type dhclient
dhclient is hashed (/sbin/dhclient)
Run Code Online (Sandbox Code Playgroud)
如果您发现任何两个没有符号链接的文件,并且您怀疑它们仍然相同,则可以使用哈希函数来查看它们是否相同:
stefano@lenovo:~$ md5sum /sbin/dhclient && md5sum /sbin/dhclient3
fc2491e5c1576783bdc4aa8c5817166e /sbin/dhclient
fc2491e5c1576783bdc4aa8c5817166e /sbin/dhclient3
Run Code Online (Sandbox Code Playgroud)