এই পোস্টে লিনাক্সে বহুল ব্যবহৃত ‘cat’ কমান্ড নিয়ে আলোচনা করা হবে। ‘cat’ একটি বেসিক কমান্ড এবং এটা লিনাক্সের সকল ডিস্ট্রিবিউশনে একই ভাবে কাজ করে। সুতরাং যারা লিনাক্সে নতুন তাদের জন্য এটা খুবই দরকারি একটা কমান্ড। ‘cat’ এর ফুল অর্থ হলো “Concatenate” । অর্থাৎ ‘cat’ কমান্ডের মাধ্যমে আমরা ফাইল তৈরি, একাধিক ফাইল একসাথে সংযুক্ত করা এবং ফাইলের কন্টেন্ট দেখার (view/read) জন্য ব্যবহার হয়। এছাড়া ‘cat’ কমান্ড standard output (>) হিসেবে ব্যবহার করা যায়। নিচে ‘cat’ কমান্ডের উপরে কিছু উদাহরণ দেখানো হয়েছেঃ
✅ ‘cat’ কমান্ডের বেসিক সিনট্যাক্স হচ্ছেঃ
[root@server ~]# cat <Options> <Filename>
➡ 01. ‘cat’ কমান্ড দিয়ে যদি কোনও নতুন ফাইল তৈরি করতে এবং কিছু লিখতে চাইলে তাহলে নিচের কমান্ড। কিছু লেখার পর (Ctrl+d) প্রেস করে সেভ করা যাবেঃ
[root@server ~]# cat > linux
hello world !!!
➡ 02. ‘cat’ দিয়ে ফাইল কন্টেন্ট দেখার জন্য নিচের কমান্ডঃ
[root@server ~]# cat {filename}
[root@server ~]# cat linux
➡ 03. ‘cat’ দিয়ে একাধিক ফাইল দেখার(view/read) জন্য নিচের কমান্ডঃ
[root@server ~]# cat /etc/passwd /etc/shadow
➡ 04. ‘cat’ কমান্ড দিয়ে শুধু মাত্র আপনার স্ক্রিনে যত টুকু ধরবে ততটুকু দেখা যাবে এবং ফাইলের নিচ থেকে দেখা যায়। সম্পূর্ণ পেজ দেখার জন্য ‘cat’ কমান্ডের সাথে ‘less’ বা ‘more’ ব্যবহার হয়ঃ
[root@server ~]# cat /etc/profile
[root@server ~]# cat /etc/profile | more
[root@server ~]# cat /etc/profile | less
Note: এখানে প্রথম কমান্ডের মাধ্যমে শুধু ‘/etc/profile’ ফাইলের নিচের কন্টেন্ট দেখা যাবে। আর যদি আমরা পাইপ লাইনের (।) সাথে ‘more’ ব্যবহারকরি, তাহলে নিচের পেজ গুলো দেখা যাবে। আর উপরে এবং নিচের পেজ স্ক্রলিং করে দেখার জন্য (view/read) করতে চাইলে ‘less’ ব্যবহার করতে হবে।
➡ 05. ‘cat’ কমান্ড দিয়ে কোনও ফাইলের কন্টেন্ট লাইন নম্বর দিয়ে দেখতে চাইলে নিচের কমান্ডঃ
[root@server ~]# cat -n /etc/profile
➡ 06. কোনও ফাইলের কন্টেন্ট অন্য কোনও ফাইলে পাঠাতে চাইলে নিচের কমান্ডঃ
[root@server ~]# cat /etc/passwd > userlist
[root@server ~]# cat userlist
Note: এখানে ‘/etc/passwd’ ফাইলের কন্টেন্ট userlist ফাইলে রিডাইরেক্ট ‘(>)’ হবে। এখানে userlist নামে কোনও ফাইল না থাকলে নতুন ফাইল তৈরি হবে। আর userlist নামে আগে কোনও ফাইল থেকে থাকে তাহলে, সমস্ত কন্টেন্ট ওভাররাইট (Overwrite) হবে।
➡ 07. কোনও ফাইলের কন্টেন্ট অন্য কোনও ফাইলে যোগ (append) করতে চাইলে নিচের কমান্ডঃ
[root@server ~]# cat /etc/group >> userlist
Note: এখানে ‘/etc/group’ ফাইলের কন্টেন্ট userlist ফাইলে append (>>) হবে।
➡ 08. একাধিক ফাইলের কন্টেন্ট একটা ফাইলে নিতে চাইলে নিচের কমান্ডঃ
[root@server ~]# cat /etc/passwd /etc/shadow > userdb
➡ 09. কোনও আর্গুমেন্ট ছাড়াও আমরা ‘cat’ কমান্ড ব্যবহার করতে পারিঃ
[root@server ~]# cat ;{press enter}
welcome
welcome
Note: এখানে যা লেখা হবে প্রত্যেকটি দুই (০২) বার করে আসবে। একটা স্ট্যান্ডার্ড ইনপুট এবং আরেকটা স্ট্যান্ডার্ড আউটপুট হিসেবে। (Ctrl+d) প্রেস করে ফাইল থেকে বের হওয়া যাবে।
➡ 10. ‘cat’ কমান্ডের সাথে রেগুলার এক্সপ্রেশন (grep) ব্যবহার করা যায়ঃ
[root@server ~]# cat /etc/passwd | grep student
Note: এখানে ‘passwd’ ফাইল থেকে student কীওয়ার্ড (string) খুঁজে বের করতে ‘grep’ ব্যবহার করা হয়েছে।
➡ 11. কোনও ফাইলের কন্টেন্ট উল্টো করে (reverse order) দেখতে চাইলে নিচের কমান্ডঃ
[root@server ~]# tac /etc/passwd
➡ 12. নিচের কমান্ডের মাধ্যমে ‘cat’ কমান্ডকে স্ট্যান্ডার্ড ইনপুট Standard input (<) হিসেবে নেওয়া যায়ঃ
[root@server ~]# cat < /etc/passwd
➡ 13. ‘cat’ কমান্ডের সাথে ‘sort’ ব্যবহার ফাইলের আউটপুট Alphabetic Order -এ সাজানো যায়ঃ
[root@server ~]# cat /etc/passwd | sort
➡ 14. কোনও ফাইলের প্রত্যেকটি লাইনের শেষে ‘$’ যোগ করতে চাইলে নিচের কমান্ডঃ
[root@server ~]# cat -E /etc/passwd
➡ 15. নিচের কমান্ডের মাধ্যমে যে সকল ফাইলে ওয়ার্ডের মাঝে ট্যাব (tab) আছে সেইগুলো দিয়ে ‘^I’ দিয়ে ‘separate’ করে দেখাবেঃ
[root@server ~]# cat -T /etc/aliases
manager:^Iroot
Note: এখানে ‘manager:’ এবং ‘root’ এর মাঝে ট্যাব (tab) আছে, এইজন্য ‘^I’ দিয়ে দেখানো হয়েছে।
