Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

Linux बैश मास्टर करें: तेज़ कमांड लाइन कार्य के लिए 5 बिल्ट-इन कम्पलीशन फीचर्स

Linux में, डिफ़ॉल्ट रूप से बैश कमांड लाइन में उपयोगकर्ताओं के लिए निम्नलिखित मानक कम्पलीशन प्रदान करता है:

  1. वेरिएबलनाम कम्पलीशन
  2. यूजरनाम कम्पलीशन
  3. एग्जीक्यूटेबल कम्पलीशन
  4. फाइलनाम और डायरेक्टरी कम्पलीशन
  5. होस्टनाम कम्पलीशन

1. वेरिएबलनाम कम्पलीशन

टर्मिनल में $ टाइप करने के बाद, दो बार टैब दबाने पर सभी उपलब्ध शेल वेरिएबल प्रदर्शित होंगे जैसा कि नीचे दिखाया गया है।

$ 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

2. यूजरनाम कम्पलीशन

जब आप टिल्ड (~) के बाद दो बार टैब दबाते हैं, तो बैश स्वचालित रूप से यूजरनाम कम्पलीशन शुरू कर देगा।

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

कृपया ध्यान दें कि यह होम डायरेक्टरी से यूजरनाम नहीं लेता है। इसके बजाय, यह /etc/passwd फ़ाइल से सभी उपलब्ध यूजरनाम प्रदर्शित करता है।

3. एग्जीक्यूटेबल्स के लिए पाथनाम कम्पलीशन

जब आप एक कमांड निष्पादित करने का प्रयास कर रहे होते हैं, यदि एग्जीक्यूटेबल में एक्जीक्यूट परमिशन है, तो यह स्वचालित रूप से पूरा हो जाएगा, यदि एक ही मैच पाया जाता है जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है।

$ 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

जब कई मैच पाए जाते हैं, तो यह उपलब्ध कमांड प्रदर्शित करेगा।

4. फाइलनाम और डायरेक्टरी कम्पलीशन

यह कम्पलीशन कमांड लाइन पर दूसरी और बाद की स्थिति में आने वाले फाइलनाम और डायरेक्टरी नामों के लिए है। ऊपर के उदाहरण के विपरीत, यह किसी भी परमिशन की जांच नहीं करता है, और बस सभी उपलब्ध फाइलों और डायरेक्टरी को प्रदर्शित करता है।

$ 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) 

5. होस्टनाम कम्पलीशन

होस्टनाम प्राप्त करने के लिए जिनसे कनेक्ट करना है, @ सिंबल के बाद दो बार टैब दबाएं जैसा कि नीचे दिखाया गया है:

 $ 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. CentOS/RHEL पर बैश ऑटो-कंप्लीशन सक्षम करें: चरण-दर-चरण मार्गदर्शिका CentOS/RHEL पर बैश ऑटो-कंप्लीशन सक्षम करें: चरण-दर-चरण मार्गदर्शिका

    Bash (बोर्न अगेन शेल) निस्संदेह वहां सबसे लोकप्रिय लिनक्स शेल है, कोई आश्चर्य नहीं कि यह कई लिनक्स डिस्ट्रीब्यूशन पर डिफ़ॉल्ट शेल है। इसकी सबसे आकर्षक विशेषताओं में से एक अंतर्निहित ऑटो-कंप्लीशन समर्थन है। कभी-कभी TAB कंप्लीशन के रूप में संदर्भित, यह सुविधा आपको कमांड संरचना को आसानी से पूरा करने की

  1. बैश स्क्रिप्टिंग मास्टर करें: विश्वसनीय लिनक्स ऑटोमेशन के लिए 10 आवश्यक टिप्स बैश स्क्रिप्टिंग मास्टर करें: विश्वसनीय लिनक्स ऑटोमेशन के लिए 10 आवश्यक टिप्स

    शेल स्क्रिप्टिंग लिनक्स में सीखने/करने का सबसे आसान प्रोग्रामिंग रूप है। इससे भी अधिक, यह सिस्टम एडमिनिस्ट्रेशन के लिए एक आवश्यक कौशल है जो कार्यों को स्वचालित करने, नए सरल यूटिलिटीज/टूल्स विकसित करने आदि के लिए है। इस लेख में, हम प्रभावी और विश्वसनीय बैश स्क्रिप्ट लिखने के लिए 10 उपयोगी और व्यावहार

  1. 3 आकर्षक कमांड-लाइन गेम्स के साथ बैश को तेज़ी से सीखें 3 आकर्षक कमांड-लाइन गेम्स के साथ बैश को तेज़ी से सीखें

    सीखना कठिन काम है, और किसी को काम पसंद नहीं है। इसका मतलब है कि चाहे बैश सीखना कितना भी आसान हो, फिर भी यह आपको काम जैसा लग सकता है। जब तक, निश्चित रूप से, आप गेमिंग के माध्यम से सीखते हैं। आप नहीं सोचेंगे कि बैश टर्मिनल का उपयोग करना सिखाने के लिए कई गेम्स होंगे, और आप सही होंगे। गंभीर PC गेमर्स जा