কমান্ড লাইন শিখা যেকোনো আকাঙ্ক্ষী ডেভেলপারের জন্য অপরিহার্য।
এবং কমান্ড লাইনে কমান্ড এক্সিকিউট করতে, আপনাকে একটি শেল দরকার।
ব্যাশ শেল ইউনিক্স-লাইক অপারেটিং সিস্টেম যেমন ম্যাক এবং লিনাক্সে জনপ্রিয়। বরং অধিকাংশ লিনাক্স ডিস্ট্রোতে, ব্যাশ ডিফল্ট শেল।
আপনি উইন্ডোজেও ব্যাশ ব্যবহার করতে পারেন WSL (Windows Subsystem for Linux) এর মাধ্যমে।
কিছু বেসিক ব্যাশ কমান্ড শেখার পর, স্পিড আপ করার সময়।
এই টিউটোরিয়াল পরম শুরুর জন্য নয়, কিন্তু আমি আশা করি নোভিস এবং এডভান্সড ইউজার দুজনেরকেই কিছুই মুনাফা হবে।
এখানে ১০টি ব্যাশ কমান্ড যেগুলো আপনাকে টার্মিনালে দ্রুত কাজ করতে সাহায্য করবে।
১. Control + L দিয়ে স্ক্রিন ক্লিয়ার করুন এবং Control + D দিয়ে এক্সিট করুন
টার্মিনাল স্ক্রিন ক্লিয়ার করতে, কমান্ড লাইনে clear টাইপ করুন।
এক্সিট করতে, exit টাইপ করুন।
আরো ভালো, Ctrl + l ( ⌘ + l ) দাবার থেকে স্ক্রিন ক্লিয়ার হয় এবং Ctrl + d (⌘ + d) দিয়ে টার্মিনাল বন্ধ হয়।
২. nohup কমান্ড ব্যবহার করুন টার্মিনাল সেশনের সাথে শেষ না হওয়া প্রসেস স্পন করতে
একবার প্রোগ্রাম মেমরিতে লোড হলে, সেগুলো প্রসেস বলা হয়।
কখনো কখনো, আমি ফায়ারফক্স খুলি কমান্ড লাইন থেকে: firefox https://freecodecamp.org।
কিন্তু যতক্ষণ আমি টার্মিনাল বন্ধ করি, ফায়ারফক্সও ক্র্যাশ করে।
এটা রোধ করতে, nohup (no hang up) কমান্ড ব্যবহার করুন: nohup firefox https://freecodecamp.org।
এখন যখন আমি টার্মিনাল বন্ধ করি, ফায়ারফক্স ক্র্যাশ করে না কিন্তু আমার ট্যাব ক্র্যাশ করে।
ফিক্স: ফায়ারফক্সকে ব্যাকগ্রাউন্ড প্রসেস বানান & সিম্বল অ্যাপেন্ড করে।
nohup firefox https://freecodecamp.org &
এখন এমনকি যদি আমি টার্মিনাল ক্যুইট করি, আমার সব ট্যাব ইনট্যাক্ট থাকে।
৩. pkill ব্যবহার করুন প্রসেস কিল করতে শুধু নামের একটি অংশ টাইপ করে
killall কমান্ড ব্যবহার করে, আমরা একটি প্রসেস কিল করতে পারি এর নাম দিয়ে:
killall firefox
আরো ভালো, pkill ব্যবহার করুন শুধু নামের একটি অংশ টাইপ করে টার্মিনেট করতে।
pkill fire*
৪. time কমান্ড প্রিপেন্ড করুন জানতে কীভাবে দ্রুত কিছু এক্সিকিউট হয়
আপনি কি জানতে চান শেলে কিছু এক্সিকিউট হতে কতক্ষণ লাগে?
শুধু time কমান্ড প্রিপেন্ড করুন: time gcc -g *.c।
৫. লিনাক্সে, cat /etc/*rel* ব্যবহার করুন ডিস্ট্রো নাম দেখতে
uname -a টাইপ করলে সিস্টেম ইনফরমেশন দেখায়।
ডাবল চেক করতে চান আপনি কোন ডিস্ট্রো রান করছেন?
শুধু cat /etc/*rel* শেলে টাইপ করুন এবং এন্টার দিন।
৬. টেক্সট ফাইলে sed কমান্ড ব্যবহার করুন ফাইন্ড অ্যান্ড রিপ্লেস করতে
আপনি কি চান একটি টেক্সট ফাইলে একাধিক ওকারেন্স রিপ্লেস করা একটি শব্দের?
sed কমান্ড ব্যবহার করুন।
sed s'/apples/oranges/g' myfile.txt
এখানে, 'apples' শব্দের সব ওকারেন্স 'oranges'-এ পরিবর্তন হয়েছে।
আপনি যদি শুধু প্রতিটি লাইনের প্রথম ওকারেন্স রিপ্লেস করতে চান, 'g' সাফিক্সটি এন্ডে বাদ দিন: sed s'/apples/oranges/' myfile.txt।
'g' মানে global।
ফরোয়ার্ড স্ল্যাশ / হচ্ছে ডিলিমিটার। আসলে, আপনি যেকোনো ডিলিমিটার ব্যবহার করতে পারেন।
চলুন একটি সিঙ্গেল আন্ডারস্কোর _ ডিলিমিটার হিসেবে ব্যবহার করি: sed s'_apples_oranges_'g ` myfile.txt।
সিম্পলি sed ব্যবহার করলে শুধু স্ট্যান্ডার্ড আউটপুটে রিপ্লেস হয়। আসল ফাইল অপরিবর্তিত থাকে।
ফাইল 'ইন প্লেস' পরিবর্তন করতে, -i ফ্ল্যাগ ব্যবহার করুন: sed -i s'_apples_oranges_g' myfile.txt।
৭. curl ব্যবহার করে আপনার কম্পিউটারের পাবলিক IP অ্যাড্রেস জানুন
দুই ধরনের IP অ্যাড্রেস রয়েছে: প্রাইভেট এবং পাবলিক।
একটি সিস্টেম ইন্টারনাল IP অ্যাড্রেস অ্যাসাইন করে যেটি ifconfig কমান্ড দিয়ে চেক করা যায়।
কিন্তু আপনি কি চান আপনার কম্পিউটারের পাবলিক IP – যে IP অ্যাড্রেস ISP আপনার ইন্টারফেসের জন্য অ্যাসাইন করে?
অনলাইন থাকতে, শুধু curl ifconfig.me ; echo অথবা curl ifconfig.co ; echo কমান্ড লাইনে ব্যবহার করুন।
৮. Ctrl + R (⌘ + R) ব্যবহার করুন রিভার্স সার্চের জন্য
'up' অ্যারো কী প্রেস করলে লাস্ট কমান্ড দেখায় যা আপনি টাইপ করেছেন।
history টাইপ করলে সব কমান্ড দেখায় যা আপনি টাইপ করেছেন যেগুলো ব্যাশ হিস্টোরিতে সংরক্ষিত।
আরো ভালো, শেলে Ctrl + r (⌘ + r) টাইপ করুন এবং কমান্ড টাইপ করা শুরু করুন।
আপনি টাইপ করার সাথে সাথে, শেল হিস্টরি থেকে অটোকমপ্লিট করবে। 'enter' প্রেস করুন যতক্ষণ না ম্যাচ পান।
আপনি যদি এই টিউটোরিয়াল থেকে একটাই জিনিস মনে রাখেন, এই কী কম্বিনেশন মনে রাখুন: Ctrl + r (⌘ + r)।
এটা আপনাকে অনেক সময় বাঁচাবে, গ্যারান্টি!।
৯. শেল ব্যবহার করুন ম্যাথ করার জন্য
সিম্পল ক্যালকুলেশন যেগুলো ফ্র্যাকশন ইনপুট বা আউটপুট করে না, সেগুলো আপনি সিম্পলি ব্যবহার করতে পারেন:
:~$ echo $((19*34)) :~$ 646 যেসব ক্যালকুলেশন ফ্র্যাকশন ইনভল্ভ করে, শুধু echo করুন এক্সপ্রেশনটি এবং পাইপ করুন bc কমান্ডে।
:~$ echo "scale=2; 9*3/((2*2)+1)" | bc :~$ 5.40 এখানে, 'scale' হচ্ছে প্রিসিশন যা আমাদের দরকার। আমি এটিকে দুই দশমিক পয়েন্ট নির্দিষ্ট করেছি।
১০. ব্রেস এক্সপ্যানশন ব্যবহার করুন বাল্কে ফাইল তৈরি করতে
এক ফোল্ডারের ভিতরে ১০০টি ফাইল কীভাবে তৈরি করব?
file1.txt, file2.txt, file3.txt ... file100.txt
ব্রেস এক্সপ্যানশন ব্যবহার করে: touch file{1..100}.txt।
আমাদের প্রজেক্টের জন্য তিনটি ফাইল তৈরি করতে হবে: app.html, app.css, এবং app.js
এক এক করে তৈরি করার বদলে, আমরা সিম্পলি ব্রেস এক্সপ্যানশন ব্যবহার করে সেগুলো একসাথে তৈরি করতে পারি।
:~$ touch app.{html,css,js} :~$ ls app.html app.css app.js :~$ অথবা প্রজেক্ট ফোল্ডারের ভিতরে, আমাদের পাঁচটি ডিরেক্টরি তৈরি করতে হবে: images, css, src, templates, এবং scripts।
আমরা ব্যবহার করতে পারি:
:~$ mkdir {images,css,src,templates,scripts} :~$ ls images css src templates scripts :~$ এখানে শুধু একটি ক্যাভিয়াট: নিশ্চিত করুন যে ব্রেসের ভিতরে শব্দগুলোর মাঝপথে কোনো স্পেস নেই।
উপসংহার
আমি ১০টি ব্যাশ কমান্ড লাইন টিপস লিস্ট করেছি যেগুলো দিয়ে আপনি টার্মিনালে আপ টু স্পিড কাজ করতে পারবেন।
এই ব্যাশ কমান্ডগুলো শিখুন এবং এটি আপনার প্রোগ্রামিং যাত্রায় ভালো কাজে লাগবে।
Happy Coding!