কম্পিউটার টিউটোরিয়াল

মাস্টার লিনাক্স বাশ: ৫টি বিল্ট-ইন কমপ্লিশন ফিচার দ্রুত কমান্ড লাইন ওয়ার্কের জন্য

লিনাক্সে, ডিফল্টভাবে বাশ ইউজারদের কমান্ড লাইনে ব্যবহার করার জন্য নিচের স্ট্যান্ডার্ড কমপ্লিশন প্রদান করে:

  1. ভেরিয়েবলনেম কমপ্লিশন
  2. ইউজারনেম কমপ্লিশন
  3. এক্সিকিউটেবল কমপ্লিশন
  4. ফাইলনেম ও ডিরেক্টরি কমপ্লিশন
  5. হোস্টনেম কমপ্লিশন

১. ভেরিয়েবলনেম কমপ্লিশন

টার্মিনালে $ টাইপ করার পর দুবার ট্যাব চাপলে সকল উপলব্ধ শেল ভেরিয়েবল দেখাবে নিচের মত করে:

$ echo $[TAB][TAB] $_ $COMP_POINT $HOSTTYPE $PS1 $_backup_glob $COMPREPLY $IFS $PS2 $BASH $COMP_TYPE $inx $PS4 $BASH_ALIASES $COMP_WORDBREAKS $LANG $PWD $BASH_ARGC $COMP_WORDS $LANGUAGE $RANDOM $BASH_ARGV $cur $LESSCLOSE $redir $BASH_CMDS $cword $LESSOPEN $SECONDS $BASH_COMMAND $DIRSTACK $LINENO $SHELL $BASH_COMPLETION_COMPAT_DIR $DISPLAY $LINES $SHELLOPTS $BASH_LINENO $errx $LOGNAME $SHLVL $BASHOPTS $EUID $LS_COLORS $split $BASHPID $exclude $MACHTYPE $SUDO_COMMAND $BASH_REMATCH $flag $MAIL $SUDO_GID $BASH_SOURCE $FUNCNAME $MAILCHECK $SUDO_UID $BASH_SUBSHELL $GROUPS $OLDPWD $SUDO_USER $BASH_VERSINFO $__grub_script_check_program $OPTERR $suffix $BASH_VERSION $HISTCMD $OPTIND $TERM $__colormgr_commandlist $HISTCONTROL $OSTYPE $UID $COLORTERM $HISTFILE $outx $USER $COLUMNS $HISTFILESIZE $PATH $USERNAME $COMP_CWORD $HISTSIZE $PIPESTATUS $words $COMP_KEY $HOME $PPID $XAUTHORITY $COMP_LINE $HOSTNAME $prev $_xspecs

২. ইউজারনেম কমপ্লিশন

টিল্ডা (~) এর পর দুবার ট্যাব চাপলে বাশ অটোমেটিক্যালি ইউজারনেম কমপ্লিশন শুরু করে।

$ cd ~[TAB][TAB] ~bala/ ~raj/ ~jason/ ~randy/ ~john/ ~ritu/ ~mayla/ ~thomas/ ~nisha/ ~www-data

দ্রষ্টব্য: এটি হোম ডিরেক্টরি থেকে ইউজারনেম পিক আপ করে না। বরং /etc/passwd ফাইল থেকে সকল উপলব্ধ ইউজারনেম দেখায়।

৩. এক্সিকিউটেবল জন্য পাথনেম কমপ্লিশন

যখন আপনি একটি কমান্ড এক্সিকিউট করার চেষ্টা করছেন, যদি এক্সিকিউটেবলের এক্সিকিউট পারমিশন থাকে, তবে সিঙ্গেল ম্যাচ পাওয়া গেলে সেটি অটোমেটিক্যালি কমপ্লিট হয়ে যাবে নিচের উদাহরণের মত:

$ ls -l /etc/init.d/reboot -rwxr-xr-x 1 root root 639 Jan 30 2013 /etc/init.d/reboot $ /etc/init.d/reb[TAB][TAB] $ /etc/init.d/reboot

যদি একাধিক ম্যাচ পাওয়া যায়, তবে উপলব্ধ কমান্ডগুলো দেখাবে।

৪. ফাইলনেম ও ডিরেক্টরি কমপ্লিশন

এই কমপ্লিশন কমান্ড লাইনে সেকেন্ড ও পরবর্তী পজিশনে থাকা ফাইলনেম ও ডিরেক্টরি নেমের জন্য। উপরের উদাহরণের মত এটি কোনো পারমিশন চেক করে না, শুধু সকল উপলব্ধ ফাইল ও ডিরেক্টরি দেখায়।

$ ls countfiles.sh dir1 dir2 dir3 $ cat [TAB][TAB] countfiles.sh dir1 dir2 dir3 $ cat c[TAB][TAB] $ cat countfiles.sh

অনেক ফাইল থাকলে সকল সম্ভাবনা স্ক্রিনে দেখানোর বদলে নিচের ওয়ার্নিং মেসেজ দেয়:

$ ls -l /etc/ Display all 228 possibilities? (y or n)

৫. হোস্টনেম কমপ্লিশন

হোস্টনেম পেতে যাতে কানেক্ট করা যায়, @ সিম্বলের পর দুবার ট্যাব চাপুন নিচের মত করে:

$ ssh john@[TAB][TAB] @dev-db @fileserver @qa-server @prod-db @localhost @web-server

আপনি এই হোস্টনেম কমপ্লিশন ফিচারটি যেকোনো কমান্ডের সাথে ব্যবহার করতে পারেন যেখানে হোস্টনেমের জন্য @ দিতে হয়। উদাহরণস্বরূপ, scp-ও এর সাথে ব্যবহার করা যায়:

$ scp filename.txt john@[TAB][TAB] @dev-db @fileserver @qa-server @prod-db @localhost @web-server

দ্রষ্টব্য: এটি উপলব্ধ হোস্টনেম /etc/hosts ফাইল থেকে পিক আপ করে।

  1. মাস্টার বাশ: অপরিহার্য লিনাক্স কমান্ড লাইন শর্টকাট

  2. CentOS/RHEL-এ বাশ অটো-কম্পলিশন সক্ষম করা: ধাপে ধাপে গাইড

  3. মাস্টার বাশ স্ক্রিপ্টিং: বিশ্বস্ত লিনাক্স অটোমেশনের জন্য ১০ অপরিহার্য টিপস

  4. ৩টি আকর্ষণীয় কমান্ড-লাইন গেম দিয়ে দ্রুত ব্যাশ শিখুন