========= Linux cat command for beginners =========
আজকে আমরা লিনাক্স -এ বহুল ব্যবহৃত 'cat' কমান্ড নিয়ে আলাপ করবো। 'cat' একটি বেসিক লেবেল এর কমান্ড। সুতরাং যারা লিনাক্স -এ নতুন তাদের জন্য এটা খুবই উপকারী একটা টপিকস। 'cat' এর ফুল অর্থ হলো "Concatenate" । অর্থাৎ 'cat' কমান্ডের মাধ্যমে আমরা কোনো ফাইল তৈরী, একাধিক ফাইল একসাথে সংযুক্ত করা এবং কোনো ফাইল এর কনটেন্ট দেখার (view) ব্যবহার জন্য হয়।এছাড়া 'cat' কমান্ড standard output/input (>/<) হিসেবে ব্যবহার করা যায়। তো আজকে আমরা লিনাক্স -এ 'cat' বহুল ব্যবহৃত কিছু কমান্ড নিয়ে আলাপ করব:
'cat' কমান্ডের বেসিক syntax হলো: # cat <options> <File>
➡01. 'cat' কমান্ড দিয়ে যদি কোনো নতুন ফাইল তৈরী করতে এবং কিছু লিখতে চান তাহলে নিচের কমান্ড। কিছু লেখার পর (Ctrl+d) প্রেস করে সেভ করতে পারেন ।
[root@serverX ~]# cat > {file-name}
[root@serverX ~]# cat > linux
hello world !!!
➡ 02. 'cat' দিয়ে ফাইল কনটেন্ট দেখার জন্য নিচের কমান্ড:
[root@serverX ~]# cat {filename}
[root@serverX ~]# cat linux
➡ 03. 'cat' দিয়ে একাধিক ফাইল দেখার জন্য নিচের কমান্ড:
[root@serverX ~]# cat {file1} {file2}
[root@serverX ~]# cat /etc/passwd /etc/shadow
➡ 04. 'cat' কমান্ড দিয়ে শুধু মাত্র আপনার স্ক্রিন -এ যত টুকু আটবে ততটুকু দেখা যাবে এবং ফাইলের নিচ থেকে দেখা যায় । আর 'cat' দিয়ে যদি পেজ by পেজ দেখার জন্য নিচের কমান্ড:
[root@serverX ~]# cat cat /etc/profile
[root@serverX ~]# cat /etc/profile | more
[root@serverX ~]# cat cat /etc/profile | less
#Note: এখানে প্রথম কমান্ড এর মাধ্যমে শুধু /etc/profile ফাইলের নিচের কনটেন্ট দেখতে পারবেন। আর যদি আমরা পাইপ লাইন (।)ব্যবহার করে 'more' করি তাহলে আমরা নিচের পেজ গুলো দেখতে পারব। আর উপরে এবং নিচের পেজ দেখার জন্য (view) করতে চাইলে 'less' ব্যবহার করতে হবে।
➡ 05. 'cat' কমান্ড দিয়ে কোনো ফাইল এর কনটেন্ট লাইন নম্বর দিয়ে দেখতে চাইলে নিচের কমান্ড:
[root@serverX ~]# cat -n {file-name}
[root@serverX ~]# cat -n /etc/profile
➡ 06. কোন ফাইল এর কনটেন্ট অন্য কোন ফাইল -এ পাঠাতে চাইলে নিচের কমান্ড:
[root@serverX ~]# cat {old_file} > {new_file}
[root@serverX ~]# cat /etc/passwd > userlist
[root@serverX ~]# cat userlist
#Note: এখানে /etc/passwd ফাইলের কনটেন্ট userlist ফাইল-এ রিডাইরেক্ট (>) হবে। এখানে userlist নামে নতুন ফাইল তৈরী হবে । আর এখানে যদি userlist নামে আগে কোনো ফাইল থেকে থাকে তাহলে, সমস্ত কন্টেন্ট replace হবে।
➡ 07. কোন ফাইল এর কনটেন্ট অন্য কোন ফাইল -এ যোগ (append) করতে চাইলে নিচের কমান্ড:
[root@serverX ~]# cat /etc/group >> userlist
#Note: এখানে /etc/group ফাইলের কনটেন্ট userlist ফাইল-এ append (>>) হবে।
➡ 08. একাধিক ফাইল এর কনটেন্ট একটা ফাইল -এ নিতে চাইলে নিচের কমান্ড:
[root@serverX ~]# cat /etc/passwd /etc/shadow > userdb
➡ 09. কোনো আর্গুমেন্ট ছাড়াও আমরা cat কমান্ড ব্যবহার করতে পারি:
[root@serverX ~]# cat ;{press enter}
welcome
welcome
#Note: এখানে যা লিখবেন প্রত্যেকটি ২ বার করে আসবে। একটা স্ট্যান্ডার্ড ইনপুট এবং আরেকটা স্ট্যান্ডার্ড আউটপুট হিসেবে। (Ctrl+d) প্রেস করে বের হতে পারবেন।
➡ 10. 'cat' কমান্ড এর সাথে রেগুলার এক্সপ্রেশন (grep) ব্যবহার করা যায়:
[root@serverX ~]# cat /etc/passwd | grep student
#Note: এখানে সম্পূর্ণ ফাইল থেকে student কীওয়ার্ড খুঁজে বের করার জন্য (grep) ব্যবহার করা যায়:
➡ 11. কোনো ফাইল এর কনটেন্ট 'Reverse Order' অনুযায়ী দেখতে চাইলে নিচের কমান্ড:
[root@serverX ~]# tac /etc/passwd
➡ 12. নিচের কমান্ড -এর মাধ্যমে 'cat' কমান্ড কে স্ট্যান্ডার্ড ইনপুট হিসেবে নেওয়া যায়:
[root@serverX ~]# cat < /etc/passwd
➡ 13. 'cat' কমান্ড এর সাথে 'sort' ব্যবহার কোনো ফাইল এর আউটপুট alphabetic order -এ সাজানো যায়:
[root@serverX ~]# cat /etc/passwd | sort
➡ 14. কোনো ফাইল এর প্রত্যেকটি লাইন এর শেষে '$' যোগ করতে চাইলে নিচের কমান্ড:
[root@serverX ~]# cat -E /etc/passwd
➡ 15. নিচের কমান্ড -এর মাধ্যমে যে সকল ফাইল ওয়ার্ড এর মাঝে ট্যাব (tab) আছে সেইগুলো দিয়ে '^I' দিয়ে 'separate' করে দেখাবে।
[root@serverX ~]# cat -T /etc/aliases
manager:^Iroot
#Note: এখানে manager: এবং root এর মাঝে ট্যাব (tab) আছে, এইজন্য '^I' দিয়ে দেখানো হইছে।