2010-09-23 69 views
0

我想知道是否有可能實際打印出現在Linux機器上的可用以太網卡?到目前爲止,我已經閱讀了「ifconfig」命令中的「Grep」。如何在Perl中打印出可用的以太網網卡?

我必須使用「Net :: IP」還是「IO :: Socket」?我是這種編程語言的新手,所以有人可以提供一些建議,如何做到這一點?

抱歉讓你們感到困惑!但是,在執行perl腳本之後,我需要在終端直接打印「eth0」或「eth1」腳本。

謝謝!

回答

2

看看Net::Address::Ethernet
它可能只是ifconfig/ipconfig的可移植包裝。儘管如此,我並不擔心這一點,因爲在任何情況下,您都無法避免在此調用操作系統,因此調用ifconfig可能與其他選項一樣好。

也有a few other modules可能值得一看。

UPD。如果只需要接口名稱,則還可以讀取文件/ proc/net/dev。現代的Linux應該有它,並且文件結構很容易解析。

+0

沒有.....它只打印MAC地址,而不是接口號。 – JavaNoob 2010-09-23 07:08:48

0

如果您只爲GNU/Linux或* BSD編程,那麼您可以使用「ifconfig」中的「grep」。

+0

有什麼辦法可以使用任何PERL唯一相關的命令?而不是使用unix命令? – JavaNoob 2010-09-23 06:20:30

+0

我認爲它是你需要的http://search.cpan.org/~lds/IO-Interface-0.98/Interface.pm。 – Drakmail 2010-09-23 06:26:58

+0

謝謝你的回覆。我已經通讀IO接口,但我似乎無法得到命令只檢索接口號。對此有何想法? – JavaNoob 2010-09-23 06:39:47