Tag Archives: কম্যান্ড

ইউনিক্সঃ সিস্টেম লগিং (Unix – System Logging)

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

ইউনিক্স সিস্টেমের খুব শক্তিশালী ও স্থিতিস্থাপক লগিং সিস্টেম আছে যার মাধ্যমে আমাদের কল্পনাযোগ্য সব কিছুই আমরা রেকর্ড করে রাখতে ও পরবর্তীতে ব্যবহার করতে পারি।

ইউনিক্সের বেশিরভাগ ভার্সন syslog নামক জেনারেল পারপাস লগিং ফ্যাসিলিটি দিয়ে থাকে। স্বতন্ত্র প্রোগ্রাম যাদের তথ্য লগড অবস্থায় থাকতে হয় তারা এটিতে তথ্য প্রেরণ করে থাকে। এই সিস্টেম একটি কেন্দ্রীভূত সিস্টেম লগড প্রসেস ব্যবহার করে যা /etc/syslogd বা /etc/syslog নামক প্রোগ্রাম সম্পন্ন করে। প্রোগ্রাম তাদের লগ এন্ট্রিকে syslogd এ পাঠায় যা /etc/syslogd.conf বা /etc/syslog ফাইল কনফিগার সংক্রান্ত কাজগুলো করে। কোনও মিল পাওয়া গেলে কাঙ্খিত লগ ফাইলে লগ ম্যাসেজ লিখে রাখে।

মূলত চার ধরণের syslog টার্ম আছে,

টার্ম বর্ণনা
Facility আইডেন্টিফাইয়ার লগ মেসেজে সাবমিট হওয়া এপ্লিকেশন বা প্রোগ্রামের বিবরণ দেয়
Priority ম্যাসেজের গুরুত্বের পরিমাপক
Selector এক বা একাধিক ফ্যাসিলিটি বা লেভেলের সমন্বয়
Action ইনকামিং ম্যাসেজ যা সিলেক্টরের সাথে মিলে যায়, তার ক্ষেত্রে ঘটে।

 

সিসলগ ফ্যাসিলিটিজ

সিলেক্টরের জন্য প্রাপ্ত সুবিধাগুলো নিচে দেয়া হল, অবশ্য সব ইউনিক্স ভার্সন সবগুলো সুবিধা পায় না।

প্রায়োরিটি বর্ণনা
emerg জরুরী অবস্থা
alert সংশোধন করতে হবে এমন অবস্থা
crit জটিল পরিস্থিতি, যেমন হার্ডওয়ারে ক্রুটি
err সাধারণ এরর
warning সতর্কবাণী
notice এরর না, তবু সাবধানে কাজ করতে হবে
info তথ্যমূলক ম্যাসেজ
debug প্রোগ্রাম ডিবাগের ম্যাসেজ
none নট টু লগ ম্যাসেজ নির্ধারণের জন্য সিউডো লেভেল ব্যবহার করা

 

/etc/syslog.conf ফাইল

ম্যাসেজ লগড থাকার সময় এই ফাইল কন্ট্রোল করে।


*.err;kern.debug;auth.notice   /dev/console
daemon,auth.notice             /var/log/messages
lpr.info                       /var/log/lpr.log
mail.*                         /var/log/mail.log
ftp.*                          /var/log/ftp.log
auth.*                         @prep.ai.mit.edu
auth.*                         root,amrood
netinfo.err                    /var/log/netinfo.log
install.*                      /var/log/install.log
*.emerg                        *
*.alert                        |program_name
mark.*                         /dev/console

 

ফাইলের প্রতিটা লাইনের দুটি করে অংশ আছে,

  • ম্যাসেজ সিলেক্টর যা নির্ণয় করে কোন ধরণের ম্যাসেজ লগড হবে
  • একশন ফিল্ড যা ঠিক করে ম্যাসেজ নিয়ে ঠিক কি করা হবে।
  • উপরের কনফিগারেশনের কয়েকটি গুরুত্বপূর্ণ পয়েন্ট আছে,
  • ম্যাসেজ সিলেক্টরের দুটি পার্ট আছে, ফ্যাসিলিটি আর প্রাইওরিটি
  • kern.debug নামের ম্যাসেজ সিলেক্টর ডিবাগের চেয়ে বড় প্রাইওরিটি নির্বাচন করে।
  • ফ্যাসিলিটি আর প্রাইওরিটির স্থলে তারকাচিহ্ন সবগুলোকেই নির্দেশ করে।
  • মাল্টিপল ফ্যাসিলিটি নির্ধারণ করতে কমা ও ব্যবহার করা যায়।

লগিং একশন

পাঁচটি একশনের যে কোনও একটি একশন ফিল্ডে প্রযোজ্য হবে,

  • কোনও ফাইল বা ডিভাইসে লগ ম্যাসেজ
  • ইউজারের কাছে ম্যাসেজ পাঠানো
  • সব ইউজারের কাছে ম্যাসেজ পাঠানো
  • প্রোগ্রামে ম্যাসেজ পাইপ করা
  • অন্য হোষ্টের syslog এ ম্যাসেজ প্রেরণ

লগার কম্যান্ড

লগার কম্যান্ডের ফরম্যাট হল,


logger [-i] [-f file] [-p priority] [-t tag] [message]...

 

এর প্যারামিটারগুলো এরকম,
প্যারামিটার

-f filename
-i
-p priority
-t tag
message

লগ রোটেশন

লগ রোটেশনের জন্য newsyslog বা logrotate টুল ব্যবহার করা যায়।
গুরুত্বপূর্ণ লগ লোকেশনঃ কিছু গুরুত্বপূর্ণ এপ্লিকেশন ও তাদের লগ ডিরেক্টরি নিচে দেয়া হল,

এপ্লিকেশন ডিরেক্টরি
httpd /var/log/httpd
samba /var/log/samba
cron /var/log/
mail /var/log/
mysql /var/log/

 

ইউনিক্স কুইক গাইড (Unix – Quick Guide)

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

ইউনিক্স কি

ইউনিক্স অপারেটিং সিস্টেম হল প্রোগ্রামের একটি সেট যা কম্পিউটার ও ব্যবহারকারীর মধ্যে লিঙ্ক হিসেবে কাজ করে।

  • ১৯৬৯ সালে এটিএন্ডটি কর্মীদের দ্বারা বেল ল্যাবরেটরিতে প্রথম ইউনিক্স ডেভেলাপ করা হয়,
  • ইউনিক্সের বিভিন্ন ভার্সন পাওয়া যায়, Solaris Unix, AIX, HP Unix এবং BSD সহ লিনাক্সও অনেকটা ইউনিক্সের মত, যেটি ফ্রী ওএস।
  • ইউনিক্স কম্পিউটার একসাথে কয়েকজন ব্যবহারকারী ব্যবহার করতে পারেন।
  • ইউনিক্স কম্পিউটারে একজন ব্যবহারকারী একসাথে কয়েকটি প্রোগ্রাম চালু রাখতে পারেন।

 

লগইন

login কম্যান্ড দিয়ে আমরা সিস্টেমে লগইন করতে পারি,


login : amrood
amrood's password:
Last login: Sun Jun 14 09:32:32 2009 from 62.61.164.73
$

 

লগআউটের জন্য

কম্যান্ড প্রম্পটে logout কম্যান্ড টাইপ করলে সিস্টেম সবকিছু পরিষ্কার করে যোগাযোগ বিচ্ছিন্ন করে দেবে।

 

ফাইল ব্যবস্থাপনা

ইউনিক্সে তিন ধরণের ফাইল আছে,

  • সাধারণ ফাইল,
  • ডিরেক্টরি,
  • স্পেশাল ফাইল।

 

ফাইলনেমের সাবস্টিটিউশন

কম্যান্ড
ls -[l]
ls -[l]a
~
~user
?
*

 

ফাইলনেমের মেনিপুলেশন

কম্যান্ড
cat filename
cp source destination
mv oldname newname
rm filename
chmod nnn filename
touch filename
ln [-s] oldname newname
ls -F

 

ডিরেক্টরি ম্যানেজমেন্ট

কম্যান্ড
mkdir dirname
rmdir dirname
cd dirname
cd -
cd ~
pwd

 

এনভায়রনমেন্ট সেটআপ

PS1ও PS2 চলক, এস্কেপ ক্যারেক্টার ও এনভায়রনমেন্ট চলক নিয়ে এনভায়রনমেন্ট সেটআপ গঠিত হয়।

এস্কেপ ক্যারেক্টারের সিকোয়েন্স,

 

এস্কেপ সিকোয়েন্স
\t
\d
\n
\s
\W
\w
\u
\h
\#
\$

 

এনভায়রনমেন্ট চলক

চলক
DISPLAY
HOME
IFS
LANG
LD_LIBRARY_PATH
PATH
PWD
RANDOM
SHLVL
TERM
TZ
UID

 

ফিল্টার ও পাইপ

কম্যান্ড
wc [-l]
tail [-n]
sort [-n]
pr -t
grep "pattern" filename
pg or more

 

স্পেশাল চলক

চলক
$0
$n
$#
$*
$@
$?
$$
$!

 

সেল বেসিক অপারেটর

সেল বেসিক অপারেটরঃ তিন ধরণের হয়,

  • এরিথমেটিক অপারেটর,
  • রিলেসনাল অপারেটর,
  • বুলিয়েন অপারেটর

 

এরিথমেটিক অপারেটর

অপারেটর
+
-
*
/
%
=
==
!=

 

রিলেসনাল অপারেটর

অপারেটর
-eq
-ne
-gt
-lt
-ge
-le

 

বুলিয়েন অপারেটর

অপারেটর
!
-o
-a

 

স্ট্রিং অপারেটর

অপারেটর
=
!=
-z
-n
str

 

ফাইল টেস্ট অপারেটর

অপারেটর
-b file
-c file
-d file
-f file
-g file
-k file
-p file
-t file
-u file
-r file
-w file
-x file
-s file
-e file

 

সেল ডিসিশন মেকিং

if...fi বিবৃতি


if [ expression ]
then
   Statement(s) to be executed if expression is true
fi

 

if...else...fi বিবৃতি


if [ expression ]
then
   Statement(s) to be executed if expression is true
else
   Statement(s) to be executed if expression is not true
fi

 

if...elif...fi বিবৃতি


if [ expression 1 ]
then
   Statement(s) to be executed if expression 1 is true
elif [ expression 2 ]
then
   Statement(s) to be executed if expression 2 is true
elif [ expression 3 ]
then
   Statement(s) to be executed if expression 3 is true
else
   Statement(s) to be executed if no expression is true
fi

 

case...esac বিবৃতি


case word in
  pattern1)
     Statement(s) to be executed if pattern1 matches
     ;;
  pattern2)
     Statement(s) to be executed if pattern2 matches
     ;;
  pattern3)
     Statement(s) to be executed if pattern3 matches
     ;;
esac

 

সেল লুপ টাইপ

while লুপ


while command
do
   Statement(s) to be executed if command is true
done

 

for লুপ


for var in word1 word2 ... wordN
do
   Statement(s) to be executed for every word.
done

 

until লুপ


until command
do
   Statement(s) to be executed until command is true
done

 

select লুপ


select var in word1 word2 ... wordN
do
   Statement(s) to be executed for every word.
done

 

 

সেল লুপ কন্ট্রোল

ব্রেক স্টেটমেন্টের জন্য


break[n]

 

আর কন্টিনিউ স্টেটমেন্টের জন্য


continue[n]

 

সেল সাবস্টিটিউশনের জন্য

কম্যান্ড সাবস্টিটিউশন


`command`

 

আর সম্ভাব্য চলক সাবস্টিটিউশন

সাবস্টিটিউশন ফর্ম
${var}
${var:-word}
${var:=word}
${var:?message}
${var:+word}

 

রিডাইরেকশন কম্যান্ড

কম্যান্ড
pgm > file
pgm < file
pgm >> file
n > file
n >> file
n >& m
n <& m
<< tag
|