এই আর্টিকেল আমাদের লিনাক্স ট্রিক্স অ্যান্ড টিপস সিরিজের একটি অংশ, যেখানে আমরা cat কমান্ড (লিনাক্সে সবচেয়ে বেশি ব্যবহৃত কমান্ড) এবং tac (cat কমান্ডের বিপরীত - ফাইলগুলো রিভার্স অর্ডারে প্রিন্ট করে) এর কিছু বেসিক ব্যবহার প্র্যাক্টিক্যাল উদাহরণসহ আলোচনা করব।
একসাথে পড়ুন: লিনাক্সে ১৩টি কার্যকর ‘cat’ কমান্ড উদাহরণ
লিনাক্সে Cat কমান্ডের বেসিক ব্যবহার
Cat কমান্ড, Concatenate-এর একরনিম, *nix সিস্টেমে সবচেয়ে বেশি ব্যবহৃত কমান্ডের একটি। কমান্ডটির সবচেয়ে বেসিক ব্যবহার হল ফাইল পড়া এবং সেগুলো stdout-এ ডিসপ্লে করা, মানে ফাইলটির কন্টেন্ট টার্মিনালে দেখানো।
# cat file.txt
cat কমান্ডের আরেকটি ব্যবহার হল একাধিক ফাইল একসাথে পড়া বা কম্বাইন করে আউটপুট মনিটরে পাঠানো, নিচের উদাহরণগুলোতে দেখানো হলো।
# cat file1.txt file2.txt file3.txt
কমান্ডটি “>” লিনাক্স রিডাইরেকশন অপারেটর ব্যবহার করে একাধিক ফাইল কম্বাইন (জয়েন) করে একটি সিঙ্গেল ফাইলে রূপান্তর করতে পারে।
# cat file1.txt file2.txt file3.txt > file-all.txt
অ্যাপেন্ড রিডাইরেক্টর ব্যবহার করে আপনি একটি নতুন ফাইলের কন্টেন্ট file-all.txt-র নিচে যোগ করতে পারেন নিচের সিনট্যাক্স দিয়ে।
# cat file4.txt >> file-all.txt
cat কমান্ড ব্যবহার করে একটি ফাইলের কন্টেন্ট নতুন ফাইলে কপি করা যায়। নতুন ফাইলটি যেকোনো নামে রিনেম করা যায়। উদাহরণস্বরূপ, বর্তমান লোকেশন থেকে ফাইলটি /tmp/ ডিরেক্টরিতে কপি করুন।
# cat file1.txt > /tmp/file1.txt
বর্তমান লোকেশন থেকে /tmp/ ডিরেক্টরিতে ফাইল কপি করুন এবং এর নাম পরিবর্তন করুন।
# cat file1.txt > /tmp/newfile.cfg
cat কমান্ডের কম ব্যবহৃত একটি ব্যবহার হল নিচের সিনট্যাক্স দিয়ে নতুন ফাইল তৈরি করা। ফাইল এডিটিং শেষ হলে CTRL+D চাপিয়ে সেভ করে বের হোন।
# cat > new_file.txt
একটি ফাইলের সকল আউটপুট লাইন নম্বর দিয়ে দেখাতে (খালি লাইন সহ), -n স্যুইচ ব্যবহার করুন।
# cat -n file-all.txt
শুধু নন-এম্পটি লাইনগুলোর নম্বর দেখাতে -b স্যুইচ ব্যবহার করুন।
# cat -b file-all.txt
লিনাক্স cat কমান্ড সম্পর্কে আরও জানতে চাইলে আমাদের ১৩টি কার্যকর ‘cat’ কমান্ড উদাহরণ আর্টিকেল পড়ুন।
লিনাক্সে Tac কমান্ড ব্যবহার শিখুন
দूसरी ओर, *nix সিস্টেমে কম পরিচিত এবং কম ব্যবহৃত একটি কমান্ড হল tac কমান্ড। Tac عملي cat কমান্ডের রিভার্স ভার্সন (উল্টা スペル করা) যা একটি ফাইলের প্রতিটি লাইন বটম লাইন থেকে শুরু করে টপ লাইন পর্যন্ত আপনার মেশিনের স্ট্যান্ডার্ড আউটপুটে প্রিন্ট করে।
# tac file-all.txt
কমান্ডটির সবচেয়ে গুরুত্বপূর্ণ অপশন হল -s স্যুইচ, যা ফাইলের কন্টেন্টকে একটি স্ট্রিং বা কিওয়ার্ড বেসড আলাদা করে।
# tac file-all.txt --separator "two"
tac কমান্ডের আরেকটি গুরুত্বপূর্ণ ব্যবহার হল, এটি লগ ফাইল ডিবাগ করতে বড় সাহায্য করে, লগ কন্টেন্টের ক্রোনোলজিক্যাল অর্ডার রিভার্স করে।
$ tac /var/log/auth.log অথবা শেষ লাইনগুলো দেখতে $ tail /var/log/auth.log | tac
স্যাম্পল আউটপুট
tecmint@tecmint ~ $ tac /var/log/auth.log pr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root ....
tecmint@tecmint ~ $ tail /var/log/auth.log | tac Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 6 15:55:02 tecmint CRON[17194]: pam_unix(cron:session): session closed for user root Apr 6 15:55:01 tecmint CRON[17195]: pam_unix(cron:session): session closed for user root ...
cat কমান্ডের মতোই, tac টেক্সট ফাইল ম্যানিপুলেট করতে দারুণ কাজ করে, তবে এটি বাইনারি ফাইল বা যেখানে প্রথম লাইন প্রোগ্রাম নির্দেশ করে সেসব ফাইলে এড়িয়ে চলা উচিত।