লিনাক্সে সি প্রোগ্রাম রান করার উপায়
সুচিপত্র:
লিনাক্স কার্নেল হ'ল অপারেটিং সিস্টেমের মূল যা সিস্টেম রিসোর্সে যেমন সিপিইউ, আই / ও ডিভাইস, শারীরিক মেমরি এবং ফাইল সিস্টেমগুলিতে অ্যাক্সেস নিয়ন্ত্রণ করে। বুট প্রক্রিয়া চলাকালীন এবং সিস্টেম চলাকালীন কার্নেল কার্নেল রিং বাফারে বিভিন্ন বার্তা লিখে। এই বার্তাগুলিতে সিস্টেমের অপারেশন সম্পর্কিত বিভিন্ন তথ্য অন্তর্ভুক্ত রয়েছে।
কার্নেল রিং বাফার শারীরিক মেমরির একটি অংশ যা কার্নেলের লগ বার্তা ধারণ করে। এটির একটি নির্দিষ্ট আকার রয়েছে, যার অর্থ একবার বাফার পূর্ণ হয়ে গেলে, পুরানো লগগুলির রেকর্ডগুলি ওভাররাইট করা হয়।
dmesg
কমান্ড-লাইন ইউটিলিটি লিনাক্স এবং অন্যান্য ইউনিক্স-মতো অপারেটিং সিস্টেমে কার্নেল রিং বাফার মুদ্রণ এবং নিয়ন্ত্রণ করতে ব্যবহৃত হয়। এটি কার্নেল বুট বার্তাগুলি পরীক্ষা করতে এবং হার্ডওয়্যার সম্পর্কিত সমস্যাগুলি ডিবাগ করার জন্য দরকারী।
এই টিউটোরিয়ালে, আমরা
dmesg
কমান্ডের
dmesg
কভার করব।
dmesg
কমান্ড ব্যবহার করে
dmesg
কমান্ডের বাক্য
dmesg
নিম্নরূপ:
dmesg
যখন কোনও বিকল্প ছাড়াই
dmesg
রিং বাফার থেকে স্ট্যান্ডার্ড আউটপুটে সমস্ত বার্তা লিখে:
dmesg
ডিফল্টরূপে, সমস্ত ব্যবহারকারী
dmesg
কমান্ড চালাতে পারেন। তবে কিছু সিস্টেমে
dmesg
অ্যাক্সেস অ-রুট ব্যবহারকারীদের জন্য সীমাবদ্ধ থাকতে পারে। এই পরিস্থিতিতে, ডেমেসগ
dmesg
আপনি নীচের মতো একটি ত্রুটি বার্তা পাবেন:
dmesg: read kernel buffer failed: Operation not permitted
কার্নেল প্যারামিটার
kernel.dmesg_restrict
সুনির্দিষ্ট করে যে
kernel.dmesg_restrict
ব্যবহারকারীরা কার্নেলের লগ বাফার থেকে বার্তা দেখতে
dmesg
ব্যবহার করতে পারবেন কিনা। বিধিনিষেধগুলি অপসারণ করতে, এটি শূন্যে সেট করুন:
sudo sysctl -w kernel.dmesg_restrict=0
সাধারণত, আউটপুটটিতে প্রচুর পরিমাণে লাইন থাকে, সুতরাং আউটপুটটির কেবলমাত্র শেষ অংশটি দেখা যায়। একবারে একটি পৃষ্ঠা দেখতে, আউটপুটটি পেজারের ইউটিলিটি যেমন
less
বা
more
হিসাবে পাইপ করুন:
dmesg --color=always | less
--color=always
রঙিন আউটপুট সংরক্ষণের জন্য ব্যবহৃত হয়।
dmesg | grep -i usb
dmesg
/proc/kmsg
ভার্চুয়াল ফাইল থেকে কার্নেল দ্বারা উত্পন্ন বার্তাগুলি
/proc/kmsg
। এই ফাইলটি কার্নেল রিং বাফারকে একটি ইন্টারফেস সরবরাহ করে এবং কেবল একটি প্রক্রিয়া দ্বারা খোলা যেতে পারে। যদি আপনার সিস্টেমে
syslog
প্রক্রিয়া চলমান থাকে এবং আপনি
cat
সহ ফাইলটি পড়ার চেষ্টা করেন, তবে কমান্ডটি স্তব্ধ হয়ে যাবে।
syslog
ডেমন কার্নেল বার্তাগুলি
/var/log/dmesg
, সুতরাং আপনি সেই লগ ফাইলটি ব্যবহার করতে পারেন:
Dmesg আউটপুট গঠন
dmesg
কমান্ডটি বেশ কয়েকটি অপশন সরবরাহ করে যা আপনাকে আউটপুট ফর্ম্যাট এবং ফিল্টার করতে সহায়তা করে।
--human
সর্বাধিক ব্যবহৃত বিকল্পগুলির মধ্যে একটি হ'ল-
-H
(
--human
), যা মানব-পঠনযোগ্য আউটপুটকে সক্ষম করে। এই বিকল্পটি পেজারে কমান্ড আউটপুটটি পাইপ করে:
dmesg -H
মানব-পঠনযোগ্য টাইমস্ট্যাম্পগুলি মুদ্রণের জন্য
-T
(
--ctime
) বিকল্পটি ব্যবহার করুন:
dmesg -T
IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready
টাইমস্ট্যাম্পস বিন্যাসটিও
--time-format
ব্যবহার করে সেট করা যেতে পারে
dmesg --time-format=delta
আপনি দুটি বা আরও বেশি বিকল্প একত্রিত করতে পারেন:
dmesg -H -T
রিয়েল-টাইমে
dmesg
কমান্ডের আউটপুট দেখতে
-w
(
--follow
) বিকল্পটি ব্যবহার করুন:
ছায়াছবি
dmesg
আউটপুট
আপনি প্রদত্ত সুবিধাগুলি এবং স্তরগুলিতে
dmesg
আউটপুটকে সীমাবদ্ধ করতে পারেন।
সুবিধাটি সেই প্রক্রিয়াটি উপস্থাপন করে যা বার্তা তৈরি করেছিল।
dmesg
নিম্নলিখিত লগ সুবিধাগুলি সমর্থন করে:
-
kern
- কার্নেল বার্তাগুলিuser
- ব্যবহারকারী-স্তরের বার্তাmail
- মেল সিস্টেমdaemon
- সিস্টেম ডেমনauth
- সুরক্ষা / অনুমোদনের বার্তাগুলিsyslog
- অভ্যন্তরীণ সিস্টল্ড বার্তাগুলিlpr
- লাইন প্রিন্টার সাবসিস্টেমnews
- নেটওয়ার্ক নিউজ সাবসিস্টেম
--facility
(
--facility
) বিকল্পটি আপনাকে আউটপুটকে নির্দিষ্ট সুবিধার মধ্যে সীমাবদ্ধ করতে দেয়। বিকল্পটি এক বা একাধিক কমা-বিচ্ছিন্ন সুবিধা গ্রহণ করে accep
উদাহরণস্বরূপ, কেবলমাত্র কার্নেল এবং সিস্টেম ডেমন বার্তাগুলি প্রদর্শন করতে আপনি ব্যবহার করবেন:
dmesg -f kern, daemon
প্রতিটি লগ বার্তা একটি লগ স্তরের সাথে যুক্ত যা বার্তার গুরুত্ব দেখায়।
dmesg
নিম্নলিখিত লগ স্তর সমর্থন করে:
-
emerg
- সিস্টেমটি ব্যবহারের অযোগ্যalert
- তাত্ক্ষণিকভাবে ব্যবস্থা গ্রহণ করা উচিত - সমালোচনামূলক অবস্থার ত্রুটি - ত্রুটির শর্তাদিwarn
- সতর্কতা শর্তাদিnotice
- সাধারণ তবে উল্লেখযোগ্য শর্ত সম্পর্কিতinfo
- তথ্যdebug
- ডিবাগ-স্তরের বার্তা
-l
(
--level
) বিকল্পটি আউটপুটকে সংজ্ঞায়িত স্তরে সীমাবদ্ধ করে। বিকল্পটি এক বা একাধিক কমা-বিভাজিত স্তরের গ্রহণ করে।
নিম্নলিখিত কমান্ডটি কেবল ত্রুটি এবং সমালোচনা বার্তা প্রদর্শন করে:
রিং বাফার সাফ করা হচ্ছে
-C
(
--clear
ক্লিয়ার) বিকল্পটি আপনাকে রিং বাফারটি সাফ করার অনুমতি দেয়:
sudo dmesg -C
কেবলমাত্র রুট বা সুডোর সুবিধা সহ ব্যবহারকারীরা বাফার সাফ করতে পারেন।
ক্লিয়ারিংয়ের আগে বাফার সামগ্রীগুলি মুদ্রণের জন্য
-c
(
-c
--read-clear
) বিকল্পটি ব্যবহার করুন:
sudo dmesg -c
উপসংহার
dmesg
কমান্ড আপনাকে কার্নেল রিং বাফারটি দেখতে এবং নিয়ন্ত্রণ করতে দেয়। কার্নেল বা হার্ডওয়্যার সমস্যার সমাধানের সময় এটি খুব কার্যকর হতে পারে।
সমস্ত উপলভ্য
dmesg
বিকল্প সম্পর্কে তথ্যের জন্য আপনার টার্মিনালে
man dmesg
টাইপ করুন।
লিনাক্সে Chmod কমান্ড (ফাইল অনুমতি)

লিনাক্সে ফাইলগুলির অ্যাক্সেস ফাইল অনুমতি, বৈশিষ্ট্য এবং মালিকানার মাধ্যমে পরিচালিত হয়। এই টিউটোরিয়ালটিতে ফাইল এবং ডিরেক্টরিগুলির অ্যাক্সেস অনুমতি পরিবর্তন করতে chmod কমান্ডটি কীভাবে ব্যবহার করা যায় তা অন্তর্ভুক্ত করা হয়েছে।
লিনাক্সে Chgrp কমান্ড (পরিবর্তন গ্রুপ)

লিনাক্সে, প্রতিটি ফাইল একটি মালিক এবং একটি গোষ্ঠীর সাথে সম্পর্কিত এবং এর অনুমতি রয়েছে যা ব্যবহারকারীরা ফাইলটি পড়তে, লিখতে বা চালিত করতে পারে তা নির্ধারণ করে। Chgrpc কমান্ড প্রদত্ত ফাইলগুলির গোষ্ঠী মালিকানা পরিবর্তন করে।
লিনাক্সে কমান্ড কমান্ড (ফাইলের মালিকানা)

Chown কমান্ড আপনাকে প্রদত্ত ফাইল, ডিরেক্টরি, বা প্রতীকী লিঙ্কটির ব্যবহারকারী এবং / অথবা গ্রুপের মালিকানা পরিবর্তন করতে দেয়। এই টিউটোরিয়ালে, আমরা আপনাকে ব্যবহারিক উদাহরণগুলির মাধ্যমে কীভাবে কাউন কমান্ডটি ব্যবহার করব তা দেখাব।