লিনাক্স এলিয়াস আপনাকে লম্বে, ভুল-প্রবণ কমান্ডের বদলে ছোট, অর্থবহ শব্দ ব্যবহার করতে দেয় যা আপনার কাজ করার শৈলীর সাথে মেলে। কমান্ড বারবার টাইপ করতে হলে না বা সিনট্যাক্স অনুমান করতে হলে না, আপনি একটি একক কীওয়ার্ড দিয়ে ঠিক যা চান সেটি ট্রিগার করতে পারেন। এটি ভুল কমায়, রুটিন কাজ দ্রুত করে, এবং আপনাকে কমান্ড লাইনের বদলে কাজের ওপর ফোকাস রাখতে সাহায্য করে। এই গাইডে, আমি Bash-এ এলিয়াস কার্যকরভাবে ব্যবহার করার প্র্যাকটিক্যাল উদাহরণ দেখাব।
লিনাক্সে এলিয়াস কীভাবে কাজ করে
লিনাক্সে অনেক এডভান্সড কাজের জন্য লম্বে এবং জটিল কমান্ড টাইপ করতে হয়। alias কমান্ড এই প্রক্রিয়াকে সহজ করে দেয় আপনাকে লম্বে কমান্ডের জন্য ছোট, কাস্টম নাম তৈরি করার অনুমতি দিয়ে। একটি এলিয়াস শর্টকাট হিসেবে কাজ করে: যখন আপনি এলিয়াস টাইপ করেন, শেল সেইম অপশন এবং আর্গুমেন্টসহ মূল কমান্ডটি রান করে। আপনি নিজে এই শর্টকাট তৈরি করতে পারেন, এবং কিছু সিস্টেম বা নির্দিষ্ট অ্যাপ্লিকেশন দ্বারা ডিফল্টভাবে ইতিমধ্যে থাকতে পারে।
এলিয়াস তৈরির বেসিক সিনট্যাক্স হলো:
alias short_name='command'
এখানে, short_name সেই লম্বে কমান্ডকে প্রতীক করবে যা আপনি রিপ্লেস করতে চান। উদাহরণস্বরূপ, আপনি সাধারণত ls -lah টাইপ করেন ফাইলের বিস্তারিত লিস্ট দেখতে, হিডেন ফাইলসহ এবং হিউম্যান-রিডেবল সাইজসহ। এটিকে প্রতিবার টাইপ না করে, আপনি নিচের মতো একটি এলিয়াস তৈরি করতে পারেন:
alias ll='ls -lah'
এখন, আপনাকে শুধু ll টাইপ করতে হবে, এবং শেল αυτόমেটিক্যালি এটিকে ls -lah-এ রিপ্লেস করে এক্সিকিউট করবে।
আপনার Bash এলিয়াস এনভায়রনমেন্ট সেট আপ করুন
অধিকাংশ লিনাক্স সিস্টেম GNU Bash ডিফল্ট শেল হিসেবে ব্যবহার করে। Bash-এ, আপনি এলিয়াস বিভিন্ন লোকেশনে ডিফাইন করতে পারেন তা নির্ভর করে আপনি সেটি مؤقتভাবে চান কি স্থায়ীভাবে।
একটি 임시 এলিয়াস শুধু করেন্ট সেশনে কাজ করে এবং টার্মিনাল বন্ধ করলে চলে যায়। আপনি যদি চান আপনার এলিয়াস هرবার নতুন টার্মিনাল খোলার সাথে সাথে উপলব্ধ থাকে, তবে আপনাকে এগুলো আপনার হোম ডিরেক্টরির একটি কনফিগারেশন ফাইলে ডিফাইন করতে হবে। স্থায়ী এলিয়াস সাধারণত নিচের ফাইলগুলোর একটি যোগ করা হয়:
- “.bashrc” (সবচেয়ে সাধারণভাবে ব্যবহৃত ফাইল)
- “.bash_aliases” (এলিয়াস আলাদা রাখতে উপযোগী)
- “.bash_profile” (লগইন শেলের জন্য ব্যবহৃত)
একটি পরিষ্কার পদ্ধতি হলো আপনার এলিয়াসগুলো “.bash_aliases” ফাইলে সংরক্ষণ করা এবং নিশ্চিত করা যে এটি আপনার “.bashrc” ফাইল থেকে লোড হচ্ছে। এটি করতে, আপনার “.bashrc” ফাইলের ভিতরে (হোম ফোল্ডারে হিডেন) নিচের লাইনগুলো যোগ করুন:
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
এই কোড চেক করে যে “.bash_aliases” ফাইলটি আছে কিনা এবং এটি স্বয়ংক্রিয়ভাবে লোড করে।
আপনার এলিয়াস যোগ বা এডিট করার পর, কনফিগারেশন রিলোড করতে নিচের কমান্ড চালান:
source ~/.bashrc
এটি করলে, আপনার এলিয়াস স্থায়ী হয়ে যাবে এবং প্রতিটি নতুন টার্মিনাল সেশনে উপলব্ধ থাকবে।
এলিয়াস দিয়ে রিডেবিলিটি এবং ফাইল লিস্টিং উন্নত করুন
ডিফল্টভাবে, ls কমান্ড কিছুটা প্লেইন এবং স্ক্যান করা কঠিন লাগতে পারে, বিশেষ করে когда অনেক ফাইল থাকে। রিডেবিলিটি উন্নত করতে এবং দৈনন্দিন ব্যবহার দ্রুত করতে, আপনি এলিয়াস ব্যবহার করে এটিকে রিডিফাইন বা এক্সটেন্ড করতে পারেন।
উদাহরণস্বরূপ, আমি একটি এলিয়াস তৈরি করি যা অটোমেটিক কালার আউটপুট সক্ষম করে। এটি ডিরেক্টরি, এক্সিকিউটেবল, এবং অন্যান্য ফাইল টাইপ সহজে ভিন্ন করার সুযোগ দেয়:
alias ls='ls --color=auto'
তারপর আমি কিছু আরো শর্টকাট যোগ করি যা আমি নিয়মিত ব্যবহার করি:
alias la='ls -A'
alias lt='ls -lhtr'
এখন, la রান করলে . এবং .. এন্ট্রিগুলো ছাড়া ফাইলগুলোর পূর্ণ লিস্ট দেখাবে। lt-তে, ফাইলগুলো বিস্তারিত তথ্য সহ মডিফিকেশন টাইম অনুযায়ী রিভার্স অর্ডারে সর্টেড থাকবে, যাতে সবচেয়ে নতুন ফাইলগুলো নিচে থাকে।
ফাইল নেভিগেশন শর্টকাট
যখন আমি সুনির্দিষ্ট ডিরেক্টরির মাঝপথে নেভিগেট করি, লম্বে রিলেটিভ পাথ টাইপ করা বিরক্তিকর। cd ../../.. এর মতো পুরো কমান্ড বারবার লিখার বদলে, আমি সিম্পল নেভিগেশন শর্টকাট ডিফাইন করি:
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
এখন আমি শুধু দুই বা তিনটি ডট দিয়ে একাধিক ডিরেক্টরি লেভেল উপরে যেতে পারি, যা অনেক দ্রুত এবং সহজ।
একইভাবে, আমি ডেইলি এক্সেস করা ফোল্ডারগুলোর জন্য ডায়রেক্ট শর্টকাট তৈরি করি:
alias docs='cd ~/Documents'
রোজমর্রার Git ওয়ার্কফ্লোর জন্য শর্টকাট
কিছু Git কমান্ড যেমন git log --oneline --graph --decorate বারবার টাইপ করা খুব লম্বা, তাই আমি সেগুলো শর্টকাট দিয়ে সহজ করে ফেলি:
alias gl='git log --oneline --graph --decorate'
alias gs='git status'
alias ga='git add .'
alias gc='git commit -m'
alias gp='git push'
এই এলিয়াসগুলো সেট আপ হলে, আমি শুধু gl টাইপ করি git log --oneline --graph --decorate এর বদলে, যাতে আমার কমিট ইতিহাস একটি ক্লিয়ার, কন্ডেন্সড, এবং ভিজুয়ালি স্ট্রাকচারড ভাবে দ্রুত দেখতে পাই। আরও এডভান্সড Git-নির্দিষ্ট শর্টকাটের জন্য, আপনি আপনার “.gitconfig” ফাইলের ভিতরে নেটিভ Git এলিয়াস ডিফাইন করতে পারেন Bash-এর বদলে।
ঝুঁকিপূর্ণ কমান্ডে সেফটি লেয়ার যোগ করুন
কিছু কমান্ড, যেমন rm -rf, ভুলভাবে ব্যবহার করলে ফাইল পেরমানেন্টলি ডিলিট করে দিতে পারে। তাই, আমি এই কমান্ডগুলোকে এলিয়াস দিয়ে রিডিফাইন করে অকস্মাত দুর্ঘটনা প্রতিরোধ করি:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
-i ফ্ল্যাগ যেকোনো অ্যাকশন নেওয়ার আগে কনফার্মেশন চায়।
মাল্টি-কমান্ড এলিয়াস
এলিয়াস একাধিক কমান্ড সিকোয়েন্সে চালাতে পারে। উদাহরণস্বরূপ, আমি একটি শর্টকাট তৈরি করেছি যা আমার সিস্টেম আপডেট করে এবং সব প্যাকেজ আপগ্রেড করে, কিন্তু আপগ্রেড তभी চালাবে যদি আপডেট সফল হয়:
alias update='sudo apt update && sudo apt upgrade -y'
আপনি && ব্যবহার করতে পারেন পরবর্তী কমান্ড চালানোর জন্য কেবল পिछলটি সফল হলে, এবং ; ব্যবহার করতে পারেন সাফল্যের ওপর নির্ভর না করে কমান্ড চালানোর জন্য।
এলিয়াস সংগঠিত এবং মেইনটেইন করা
আপনার এলিয়াস লিস্ট বড় হলে, সেগুলো সংগঠিত রাখা সেগুলো ম্যানেজ এবং আপডেট করা সহজ করে দেয়। উদাহরণস্বরূপ, যখনই আমি আমার সব এলিয়াস দেখতে চাই, আমি শুধু কোনো আর্গুমেন্ট ছাড়া alias কমান্ড চালাই:
alias
যদি আমি কোনো নির্দিষ্ট এলিয়াস চেক করতে চাই, তবে alias কমান্ডের সাথে শর্টকাট নাম স্পেসিফাই করি:
alias update
একইভাবে, যখনই আমি শুধু কারেন্ট সেশনের জন্য একটি এলিয়াস রিমুভ করতে চাই, unalias কমান্ড ব্যবহার করি:
unalias ll
একটি এলিয়াস পেরমানেন্টলি রিমুভ করতে, এটিকে আমার “.bashrc” বা “.bash_aliases” ফাইল থেকে ডিলিট করি এবং তারপর source ~/.bashrc কমান্ড দিয়ে শেল রিলোড করি।
এলিয়াস কখন ব্যবহার করবেন না
যদিও এলিয়াস উপকারী, সেগুলো সব সমস্যার সমাধান নয়।
- এলিয়াস শুধু ইন্টারেক্টিভ শেল সেশনে এক্সপ্যান্ড হয়। আপনি যদি টার্মিনালে একটি এলিয়াস ডিফাইন করেন এবং তারপর শেল স্ক্রিপ্টের ভিতরে ব্যবহার করার চেষ্টা করেন, তবে এটি সাধারণত কাজ করবে না।
- এলিয়াস এক্সিকিউশনের আগে শুধু টেক্সট রিপ্লেস করে। সেগুলো পজিশনাল প্যারামিটার যেমন
$1,$2ইত্যাদি প্রসেস করে না। - এলিয়াস সিম্পল কমান্ড সাবস্টিটিউশনের জন্য ডিজাইন করা। একবার আপনি কন্ডিশন চেক, লুপ, একাধিক প্যারামিটার, বা এডভান্সড লজিকের প্রয়োজন হয়, এলিয়াস ম্যানেজ করা কঠিন হয়ে যায়।
সহজ কথায়, এলিয়াস সিম্পল, রিপিটেটিভ কমান্ডের জন্য সেরা। লজিক বা প্যারামিটার প্রয়োজন হয় যেসব কাজের জন্য, ফাংশন বা স্ক্রিপ্ট ব্যবহার করুন।