লিনাক্স উপনামগুলি আপনাকে দীর্ঘ, ত্রুটি-প্রবণ কমান্ডগুলিকে সংক্ষিপ্ত, অর্থপূর্ণ শব্দ দিয়ে প্রতিস্থাপন করতে দেয় যা আপনি কীভাবে কাজ করেন তার সাথে মেলে। কমান্ড পুনরায় টাইপ করা বা দ্বিতীয়-অনুমান করার সিনট্যাক্সের পরিবর্তে, আপনি একটি একক কীওয়ার্ড দিয়ে ঠিক যা চান তা ট্রিগার করুন। এটি ভুলগুলি হ্রাস করে, রুটিন কাজগুলির গতি বাড়ায় এবং আপনাকে কমান্ড লাইনের পরিবর্তে কাজের উপর ফোকাস রাখতে সহায়তা করে। এই নির্দেশিকায়, আমি ব্যাশে কার্যকরভাবে উপনাম ব্যবহার করার ব্যবহারিক উদাহরণ দেখাব।
বিষয়বস্তুর সারণী
লিনাক্সে উপনামগুলি কীভাবে কাজ করে
লিনাক্সে অনেক উন্নত কাজের জন্য দীর্ঘ এবং জটিল কমান্ড টাইপ করা প্রয়োজন। alias কমান্ড আপনাকে দীর্ঘ কমান্ডের জন্য ছোট, কাস্টম নাম তৈরি করার অনুমতি দিয়ে এই প্রক্রিয়াটিকে সহজ করে। একটি উপনাম একটি শর্টকাট হিসাবে কাজ করে:আপনি যখন উপনাম টাইপ করেন, শেল একই বিকল্প এবং আর্গুমেন্ট সহ মূল কমান্ড চালায়। আপনি নিজেই এই শর্টকাটগুলি তৈরি করতে পারেন, এবং কিছু সিস্টেম বা নির্দিষ্ট অ্যাপ্লিকেশনগুলিতে ডিফল্টরূপে ইতিমধ্যেই বিদ্যমান থাকতে পারে৷
একটি উপনাম তৈরি করার জন্য মৌলিক সিনট্যাক্স হল:
alias short_name='command'
এখানে, short_name আপনি প্রতিস্থাপন করতে চান দীর্ঘ কমান্ড প্রতিনিধিত্ব করে. উদাহরণস্বরূপ, আপনি সাধারণত ls -lah টাইপ করবেন লুকানো ফাইল এবং মানব-পঠনযোগ্য আকার সহ ফাইলগুলির একটি বিস্তারিত তালিকা প্রদর্শন করতে। প্রতিবার এই সম্পূর্ণ কমান্ড টাইপ করা এড়াতে, আপনি এই মত একটি উপনাম তৈরি করতে পারেন:
alias ll='ls -lah'
এর পরে, আপনাকে শুধুমাত্র ll টাইপ করতে হবে , এবং শেল স্বয়ংক্রিয়ভাবে এটিকে ls -lah দিয়ে প্রতিস্থাপন করে এটি কার্যকর করার আগে।
আপনার ব্যাশ অ্যালিয়াস এনভায়রনমেন্ট সেট আপ করা হচ্ছে
বেশিরভাগ লিনাক্স সিস্টেম ডিফল্ট শেল হিসাবে GNU 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 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 এর পরিবর্তে আমার প্রতিশ্রুতিগুলির একটি পরিষ্কার, ঘনীভূত এবং দৃশ্যত কাঠামোগত ইতিহাস দেখতে। আরও উন্নত গিট-নির্দিষ্ট শর্টকাটগুলির জন্য, আপনি Bash এর পরিবর্তে আপনার ".gitconfig" ফাইলের ভিতরে নেটিভ গিট উপনামগুলি সংজ্ঞায়িত করতে পারেন৷
ঝুঁকিপূর্ণ কমান্ডে একটি নিরাপত্তা স্তর যোগ করা
কিছু কমান্ড, যেমন 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, ইত্যাদি। - উনামগুলি সাধারণ কমান্ড প্রতিস্থাপনের জন্য ডিজাইন করা হয়েছে। একবার কন্ডিশন চেক, লুপ, একাধিক প্যারামিটার বা অ্যাডভান্স লজিকের প্রয়োজন হলে উপনামগুলি পরিচালনা করা কঠিন হয়ে পড়ে৷
সহজ কথায়, সরল, পুনরাবৃত্তিমূলক কমান্ডের জন্য উপনামগুলি সেরা। যুক্তি বা প্যারামিটারের প্রয়োজনের জন্য, পরিবর্তে একটি ফাংশন বা স্ক্রিপ্ট ব্যবহার করুন।