নেটওয়ার্ক ডিভাইসের নামগুলি সন্ধানের আগের প্রশ্নের অনুরূপ , আমি কেবলমাত্র Wi-Fi ডিভাইসের জন্য ডিভাইসের নামের একটি (নির্ভরযোগ্য) তালিকা পেতে চাই। যাতে এটি আপনার নামকরণ কাঠামোর উপর নির্ভর করে নীচের মত দেখাচ্ছে:
wlan0
wlan1
অথবা
wlp5s0
wlp5s1
নেটওয়ার্ক ডিভাইসের নামগুলি সন্ধানের আগের প্রশ্নের অনুরূপ , আমি কেবলমাত্র Wi-Fi ডিভাইসের জন্য ডিভাইসের নামের একটি (নির্ভরযোগ্য) তালিকা পেতে চাই। যাতে এটি আপনার নামকরণ কাঠামোর উপর নির্ভর করে নীচের মত দেখাচ্ছে:
wlan0
wlan1
অথবা
wlp5s0
wlp5s1
উত্তর:
লিনাক্সটিতে আপনার কাছে iw
(ওয়্যারলেস ডিভাইস এবং তাদের কনফিগারেশন দেখান / পরিচালনা করুন) এবং dev
কমান্ডটি ব্যবহার করার সময় :
Commands:
dev
List all network interfaces for wireless hardware.
এটাই
iw dev
আপনি কিছু পাবেন:
phy#0
Interface wlan0
ifindex 3
wdev 0x1
addr 00:12:32:e4:18:24
type managed
phy#1
Interface wlan1
ifindex 4
wdev 0x2
addr 00:12:22:c6:b2:0a
type managed
আপনি যদি কেবল ইন্টারফেসের নামগুলি বের করতে চান তবে আপনি সর্বদা আউটপুট যেমন প্রক্রিয়া করতে পারেন
iw dev | awk '$1=="Interface"{print $2}'
সাহায্য পৃষ্ঠাটি পরিষ্কার মনে রাখবেন:
Do NOT screenscrape this tool, we don't consider its output stable.
কমপক্ষে উবুন্টুতে, এমন /proc/net/wireless
ফাইল রয়েছে যা ওয়াই-ফাই ইন্টারফেসগুলি সম্পর্কে বিশদ ধারণ করে। আমার জন্য কোন ফলাফল:
$ cat /proc/net/wireless
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
wlp5s0: 0000 36. -74. -256 0 0 0 16 33004 0
এটি একটু অগোছালো তবে ডিভাইসের নাম সেখানে রয়েছে।
কেবল ইন্টারফেসের নাম পেতে:
cat /proc/net/wireless | perl -ne '/(\w+):/ && print $1'
perl
কোড কোলন পূর্ববর্তী শব্দ অক্ষরের স্ট্রিং ছাপে।
আপনার যদি sysfs / sys মাউন্ট করা থাকে তবে নিম্নলিখিত কমান্ডগুলি কাজ করে:
# find /sys/class/net -follow -maxdepth 2 -name wireless | cut -d / -f 5
wlan0
# find /sys/class/net -follow -maxdepth 2 -name phy80211 | cut -d / -f 5
wlan0
বা, ছাড়া find
:
for dev in `ls /sys/class/net`; do
if [ -d "/sys/class/net/$dev/wireless" ]; then echo $dev; fi;
done
প্রথমটি ডিরেক্টরি /sys/class/net
সহ সমস্ত ডিভাইস খুঁজে পায় wireless
(যা কেবলমাত্র ওয়াইফাই ডিভাইসের চেয়ে বেশি হতে পারে) এবং দ্বিতীয়টি 802.11 এর সাথে সামঞ্জস্যপূর্ণ ডিভাইসগুলি সন্ধান করে
কার্নেল ৪.৪ পরীক্ষিত
জোশের উত্তরে বিল্ডিং , আমি ভিতরে /sys/class/net
একটি wireless
ডিরেক্টরি সহ ডিরেক্টরিগুলি সনাক্ত করতে এবং awk
ডিভাইসটির নামটি ধরতে শেল গ্লোব ব্যবহার করব :
# find the directories
$ printf '%s\n' /sys/class/net/*/wireless # substitute with phy80211 if desired
/sys/class/net/wlp4s0/wireless
# filter out the "device" part
$ printf '%s\n' /sys/class/net/*/wireless | awk -F'/' '{ print $5 }'
wlp4s0