এটি ব্যবহার এড়ানো ভাল ifconfig
কোনও স্ক্রিপ্টায় আইপি ঠিকানা পাওয়ার জন্য এটি কিছু বিতরণে অবমূল্যায়ন করা হয় (উদাঃ CentOS এবং অন্যরা, এটি ডিফল্টরূপে ইনস্টল করবেন না)।
অন্য সিস্টেমে, বিতরণের রিলিজ অনুযায়ী ইফকনফিগের আউটপুট পরিবর্তিত হয় (যেমন আউটপুট / স্পেসিং / ক্ষেত্রগুলির ক্ষেত্র ifconfig
পৃথকভাবে দেবিয়ান 8 থেকে ডেবিয়ান 9 থেকে পৃথক হয়)।
আইপি ঠিকানাটি পাওয়ার জন্য ip
, একইভাবে আপনি জিজ্ঞাসা করছেন:
ip addr | awk ' !/127.0.0.1/ && /inet/ { gsub(/\/.*/, "", $2); print "IP="$2 } '
বা আরও ভাল:
$ ip -o -4 address show | awk ' NR==2 { gsub(/\/.*/, "", $4); print $4 } '
192.168.1.249
অথবা, আপনি যেমন "আইপি =" জিজ্ঞাসা করছেন
#!/bin/bash
echo -n "IP="
ip -o -4 address show | awk ' NR==2 { gsub(/\/.*/, "", $4); print $4 } '
@ রোমানের কাছ থেকে নির্লজ্জভাবে ধারণাটি গ্রহণ করা
$ ip -o -4 address show | awk ' NR==2 { gsub(/\/.*/, "", $4); print "IP="$4 } '
IP=192.168.1.249
সাধারণ আউটপুট:
$ ip -o -4 address show
1: lo inet 127.0.0.1/8 scope host lo\ valid_lft forever preferred_lft forever
2: eth0 inet 192.168.1.249/24 brd 192.168.1.255 scope global eth0\ valid_lft forever preferred_lft forever
থেকে man ip
:
-ও, -অনলাইন
একক লাইনে প্রতিটি রেকর্ড আউটপুট, '\' অক্ষর দিয়ে রেখা ফিড প্রতিস্থাপন করে। আপনি ডাব্লুসি (1) দিয়ে রেকর্ড গণনা করতে বা আউটপুট গ্রেপ করতে (1) দেখতে চাইলে এটি সুবিধাজনক।
কেন ifconfig
পরামর্শ দেওয়া হচ্ছে না তার একটি উদাহরণ দেখুন : বিবিবি: b বিবিবি-কনফ - চেক` আইপি অ্যাড্রেসগুলি `ইনেট` হিসাবে দেখায় - ifconfig woes
কেন ifconfig
বাইরে বেরোচ্ছে তা বোঝার জন্য , 'ifconfig' এবং 'ip' কমান্ডের মধ্যে পার্থক্য দেখুন
ifconfig
নেট-টুলস থেকে, যা দীর্ঘদিন ধরে লিনাক্স নেটওয়ার্ক স্ট্যাকের সাথে সম্পূর্ণরূপে রাখতে সক্ষম হয় নি। এটি এখনও নেটওয়ার্ক কনফিগারেশনের জন্য ioctl ব্যবহার করে, যা কার্নেলের সাথে ইন্টারঅ্যাক্ট করার একটি কুশ্রী এবং কম শক্তিশালী উপায়।
2005 সালের দিকে নেটওয়ার্ক স্ট্যাক নিয়ন্ত্রণের জন্য একটি নতুন পদ্ধতি চালু করা হয়েছিল - নেটলিঙ্ক সকেট।
নেটওয়ার্ক ইন্টারফেসটি কনফিগার করতে iproute2
সেই পূর্ণ-ডুপ্লেক্স নেটলিঙ্ক সকেট প্রক্রিয়াটি ব্যবহার করে, যখন ifconfig
একটি আইওসিটিএল সিস্টেম কলের উপর নির্ভর করে।