Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

बैश उपनाम जिनके बिना आप नहीं रह सकते

बैश उपनाम नए लोगों के साथ बैश कमांड को पूरक या ओवरराइड करने का एक तरीका है। बैश उपनाम उपयोगकर्ताओं के लिए POSIX टर्मिनल में अपने अनुभव को कस्टमाइज़ करना आसान बनाते हैं। उन्हें अक्सर $HOME/.bashrc . में परिभाषित किया जाता है या $HOME/bash_aliases (जिसे $HOME/.bashrc . द्वारा लोड किया जाना चाहिए )।

अधिकांश वितरण डिफ़ॉल्ट .bashrc . में कम से कम कुछ लोकप्रिय उपनाम जोड़ते हैं किसी भी नए उपयोगकर्ता खाते की फ़ाइल। बैश उपनाम के सिंटैक्स को प्रदर्शित करने के लिए ये सरल हैं:

alias ls='ls -F'
alias ll='ls -lh'

हालांकि, सभी वितरण पूर्व-आबादी वाले उपनामों के साथ शिप नहीं होते हैं। यदि आप मैन्युअल रूप से उपनाम जोड़ते हैं, तो आपको उन्हें अपने वर्तमान बैश सत्र में लोड करना होगा:

$ source ~/.bashrc

अन्यथा, आप अपना टर्मिनल बंद कर सकते हैं और इसे फिर से खोल सकते हैं ताकि यह अपनी कॉन्फ़िगरेशन फ़ाइल को पुनः लोड कर सके।

आपकी बैश आरंभीकरण स्क्रिप्ट में परिभाषित उन उपनामों के साथ, आप तब टाइप कर सकते हैं ll और ls -l . के परिणाम प्राप्त करें , और जब आप ls . टाइप करते हैं सादे पुराने के आउटपुट के बजाय आपको मिलता है एल.

उन उपनामों के लिए बहुत अच्छा है, लेकिन वे जो संभव है उसकी सतह को खरोंचते हैं। यहां शीर्ष 10 बैश उपनाम दिए गए हैं, जिन्हें एक बार आज़माने के बाद, आप इसके बिना नहीं रह पाएंगे।

पहले सेट अप करें

शुरू करने से पहले, ~/.bash_aliases . नामक फ़ाइल बनाएं :

$ touch ~/.bash_aliases

फिर, सुनिश्चित करें कि यह कोड आपके ~/.bashrc . में दिखाई देता है फ़ाइल:

if [ -e $HOME/.bash_aliases ]; then
    source $HOME/.bash_aliases
fi

यदि आप अपने लिए इस लेख में किसी भी उपनाम को आजमाना चाहते हैं, तो उन्हें अपने .bash_aliases में दर्ज करें। फ़ाइल, और फिर उन्हें स्रोत ~/.bashrc . के साथ अपने बैश सत्र में लोड करें आदेश।

फ़ाइल आकार के अनुसार क्रमित करें

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

इस उपनाम को GNU सिस्टम पर अपने कॉन्फ़िगरेशन में जोड़ें:

alias lt='ls --human-readable --size -1 -S --classify'

यह उपनाम lt . की जगह लेता है ls . के साथ कमांड जो प्रत्येक आइटम के आकार को प्रदर्शित करता है, और फिर इसे आकार के आधार पर, एक कॉलम में, फ़ाइल के प्रकार को इंगित करने के लिए एक नोटेशन के साथ सॉर्ट करता है। अपना नया उपनाम लोड करें, और फिर इसे आज़माएं:

$ source ~/.bashrc
$ lt
total 344K
140K configure*
 44K aclocal.m4
 36K LICENSE
 32K config.status*
 24K Makefile
 24K Makefile.in
 12K config.log
8.0K README.md
4.0K info.slackermedia.Git-portal.json
4.0K git-portal.spec
4.0K flatpak.path.patch
4.0K Makefile.am*
4.0K dot-gitlab.ci.yml
4.0K configure.ac*
   0 autom4te.cache/
   0 share/
   0 bin/
   0 install-sh@
   0 compile@
   0 missing@
   0 COPYING@

MacOS या BSD पर, ls कमांड में समान विकल्प नहीं होते हैं, इसलिए यह उपनाम इसके बजाय काम करता है:

alias lt='du -sh * | sort -h'

इस संस्करण के परिणाम थोड़े अलग हैं:

$ du -sh * | sort -h
0       compile
0       COPYING
0       install-sh
0       missing
4.0K    configure.ac
4.0K    dot-gitlab.ci.yml
4.0K    flatpak.path.patch
4.0K    git-portal.spec
4.0K    info.slackermedia.Git-portal.json
4.0K    Makefile.am
8.0K    README.md
12K     config.log
16K     bin
24K     Makefile
24K     Makefile.in
32K     config.status
36K     LICENSE
44K     aclocal.m4
60K     share
140K    configure
476K    autom4te.cache

वास्तव में, Linux पर भी, वह कमांड उपयोगी है, क्योंकि ls . का उपयोग करके निर्देशिकाओं और सिम्लिंक को आकार में 0 के रूप में सूचीबद्ध करता है, जो कि वह जानकारी नहीं हो सकती है जो आप वास्तव में चाहते हैं। यह आपकी पसंद है।

इस उपनाम के विचार के लिए ब्रैड अलेक्जेंडर को धन्यवाद।

केवल माउंटेड ड्राइव देखें

माउंट आदेश इतना सरल हुआ करता था। केवल एक कमांड के साथ, आप अपने कंप्यूटर पर सभी माउंटेड फाइल सिस्टम की एक सूची प्राप्त कर सकते हैं, और इसका उपयोग अक्सर इस बात के अवलोकन के लिए किया जाता था कि वर्कस्टेशन से कौन सी ड्राइव जुड़ी हुई हैं। तीन या चार से अधिक प्रविष्टियाँ देखना प्रभावशाली हुआ करता था क्योंकि अधिकांश कंप्यूटरों में उससे अधिक USB पोर्ट नहीं होते, इसलिए परिणाम प्रबंधनीय थे।

कंप्यूटर अब कुछ अधिक जटिल हैं, और LVM, भौतिक ड्राइव, नेटवर्क संग्रहण, और वर्चुअल फ़ाइल सिस्टम के बीच, माउंट के परिणाम हैं पार्स करना मुश्किल हो सकता है:

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=8131024k,nr_inodes=2032756,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
[...]
/dev/nvme0n1p2 on /boot type ext4 (rw,relatime,seclabel)
/dev/nvme0n1p1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro)
[...]
gvfsd-fuse on /run/user/100977/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=100977,group_id=100977)
/dev/sda1 on /run/media/seth/pocket type ext4 (rw,nosuid,nodev,relatime,seclabel,uhelper=udisks2)
/dev/sdc1 on /run/media/seth/trip type ext4 (rw,nosuid,nodev,relatime,seclabel,uhelper=udisks2)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)

उस समस्या को हल करने के लिए, इस तरह के उपनाम का प्रयास करें:

alias mnt="mount | awk -F' ' '{ printf \"%s\t%s\n\",\$1,\$3; }' | column -t | egrep ^/dev/ | sort"

यह उपनाम awk . का उपयोग करता है माउंट . के आउटपुट को पार्स करने के लिए कॉलम द्वारा, आउटपुट को कम करके जो आप शायद खोज रहे हैं (हार्ड ड्राइव, और फाइल सिस्टम नहीं, माउंट किए गए हैं):

$ mnt
/dev/mapper/fedora-root  /
/dev/nvme0n1p1           /boot/efi
/dev/nvme0n1p2           /boot
/dev/sda1                /run/media/seth/pocket
/dev/sdc1                /run/media/seth/trip

MacOS पर, माउंट कमांड बहुत वर्बोज़ आउटपुट प्रदान नहीं करता है, इसलिए एक उपनाम अधिक हो सकता है। हालांकि, यदि आप एक संक्षिप्त रिपोर्ट पसंद करते हैं, तो इसे आजमाएं:

alias mnt='mount | grep -E ^/dev | column -t'

परिणाम:

$ mnt
/dev/disk1s1  on  /                (apfs,  local,  journaled)
/dev/disk1s4  on  /private/var/vm  (apfs,  local,  noexec,     journaled,  noatime,  nobrowse)

अपने grep इतिहास में एक आदेश ढूंढें

कभी-कभी आप समझते हैं कि टर्मिनल में कुछ कैसे करना है, और अपने आप से वादा करें कि आपने जो सीखा है उसे आप कभी नहीं भूलेंगे। फिर एक घंटा बीत जाता है, और आप पूरी तरह से भूल जाते हैं कि आपने क्या किया।

अपने बैश इतिहास के माध्यम से खोजना कुछ ऐसा है जो हर किसी को समय-समय पर करना होता है। यदि आप ठीक-ठीक जानते हैं कि आप क्या खोज रहे हैं, तो आप Ctrl+R . का उपयोग कर सकते हैं अपने इतिहास के माध्यम से एक रिवर्स सर्च करने के लिए, लेकिन कभी-कभी आपको सटीक आदेश याद नहीं रहता है जिसे आप ढूंढना चाहते हैं।

उस कार्य को थोड़ा आसान बनाने के लिए यहां एक उपनाम दिया गया है:

alias gh='history|grep'

इसका उपयोग कैसे करें इसका एक उदाहरण यहां दिया गया है:

$ gh bash
482 cat ~/.bashrc | grep _alias
498 emacs ~/.bashrc
530 emacs ~/.bash_aliases
531 source ~/.bashrc

संशोधन समय के अनुसार क्रमित करें

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

आप ls . का उपयोग कर सकते हैं जहां आपने छोड़ा था उसे ढूंढने में आपकी सहायता के लिए उपनाम बनाने का आदेश:

alias left='ls -t -1'

आउटपुट सरल है, हालांकि आप इसे --लंबे . के साथ बढ़ा सकते हैं यदि आप चाहें तो विकल्प। सूचीबद्ध उपनाम, इसे प्रदर्शित करता है:

$ left
demo.jpeg
demo.xcf
design-proposal.md
rejects.txt
brainstorm.txt
query-letter.xml

फ़ाइलों की गणना करें

यदि आपको यह जानने की आवश्यकता है कि आपके पास निर्देशिका में कितनी फाइलें हैं, तो समाधान UNIX कमांड निर्माण के सबसे क्लासिक उदाहरणों में से एक है:आप ls के साथ फाइलों को सूचीबद्ध करते हैं कमांड, इसके आउटपुट को -1 . के साथ केवल एक कॉलम के रूप में नियंत्रित करें विकल्प, और फिर उस आउटपुट को wc . पर पाइप करें (वर्ड काउंट) कमांड यह गिनने के लिए कि सिंगल फाइलों की कितनी लाइनें हैं।

यह एक शानदार प्रदर्शन है कि कैसे UNIX दर्शन उपयोगकर्ताओं को छोटे सिस्टम घटकों का उपयोग करके अपने स्वयं के समाधान बनाने की अनुमति देता है। यदि आप इसे दिन में कई बार करते हैं तो यह कमांड संयोजन भी टाइप करने के लिए बहुत कुछ है, और यह -R का उपयोग किए बिना निर्देशिकाओं की निर्देशिका के लिए बिल्कुल काम नहीं करता है विकल्प, जो आउटपुट में नई लाइनें पेश करता है और अभ्यास को बेकार कर देता है।

इसके बजाय, यह उपनाम प्रक्रिया को आसान बनाता है:

alias count='find . -type f | wc -l'

यह निर्देशिकाओं को अनदेखा करते हुए फाइलों को गिनता है, लेकिन नहीं निर्देशिकाओं की सामग्री। यदि आपके पास एक प्रोजेक्ट फ़ोल्डर है जिसमें दो निर्देशिकाएं हैं, जिनमें से प्रत्येक में दो फ़ाइलें हैं, तो उपनाम चार लौटाता है, क्योंकि पूरे प्रोजेक्ट में चार फ़ाइलें हैं।

$ ls
foo   bar
$ count
4

पायथन वर्चुअल वातावरण बनाएं

क्या आप पायथन में कोड करते हैं?

क्या आप Python में बहुत कोड करते हैं?

यदि आप ऐसा करते हैं, तो आप जानते हैं कि पायथन वर्चुअल वातावरण बनाने के लिए कम से कम 53 कीस्ट्रोक्स की आवश्यकता होती है। /मजबूत> और वा :

alias ve='python3 -m venv ./venv'
alias va='source ./venv/bin/activate'

चल रहा है ve venv . नामक एक नई निर्देशिका बनाता है , जिसमें Python3 के लिए सामान्य वर्चुअल वातावरण फ़ाइल सिस्टम है। va उपनाम आपके वर्तमान शेल में परिवेश को सक्रिय करता है:

$ cd my-project
$ ve
$ va
(venv) $

एक कॉपी प्रगति बार जोड़ें

प्रगति सलाखों पर हर कोई मजाक उड़ाता है क्योंकि वे कुख्यात रूप से गलत हैं। और फिर भी, गहराई से, हम सभी उन्हें चाहते हैं। यूनिक्स cp कमांड में कोई प्रगति पट्टी नहीं है, लेकिन इसमें एक -v . है वर्बोसिटी के लिए विकल्प, जिसका अर्थ है कि यह आपके टर्मिनल पर कॉपी की जा रही प्रत्येक फ़ाइल के नाम को गूँजता है। यह एक बहुत अच्छी हैक है, लेकिन जब आप एक बड़ी फ़ाइल की प्रतिलिपि बना रहे हैं और यह संकेत देना चाहते हैं कि कितनी फ़ाइल अभी तक स्थानांतरित की जानी है तो यह इतनी अच्छी तरह से काम नहीं करती है।

पीवी कमांड कॉपी के दौरान एक प्रगति पट्टी प्रदान करता है, लेकिन यह एक डिफ़ॉल्ट एप्लिकेशन के रूप में सामान्य नहीं है। दूसरी ओर, rsync कमांड उपलब्ध लगभग हर POSIX सिस्टम की डिफ़ॉल्ट स्थापना में शामिल है, और इसे दूरस्थ रूप से और स्थानीय रूप से फ़ाइलों की प्रतिलिपि बनाने के सबसे स्मार्ट तरीकों में से एक के रूप में व्यापक रूप से मान्यता प्राप्त है।

बेहतर अभी तक, इसमें एक अंतर्निहित प्रगति पट्टी है।

alias cpv='rsync -ah --info=progress2'

इस उपनाम का उपयोग करना cp . के उपयोग के समान है आदेश:

$ cpv bigfile.flac /run/media/seth/audio/
          3.83M 6%  213.15MB/s    0:00:00 (xfr#4, to-chk=0/4)

इस कमांड का उपयोग करने का एक दिलचस्प साइड इफेक्ट यह है कि rsync -r . के बिना फाइलों और निर्देशिकाओं दोनों को कॉपी करता है ध्वजांकित करें कि cp अन्यथा आवश्यकता होगी।

फाइल हटाने की दुर्घटनाओं से खुद को बचाएं

आपको rm . का उपयोग नहीं करना चाहिए आज्ञा। आरएम मैनुअल तो ऐसा ही कहता है:

<ब्लॉकक्वॉट>

चेतावनी :यदि आप किसी फ़ाइल को निकालने के लिए 'rm' का उपयोग करते हैं, तो आमतौर पर उस फ़ाइल की सामग्री को पुनर्प्राप्त करना संभव होता है। यदि आप अधिक आश्वासन चाहते हैं कि सामग्री वास्तव में अप्राप्य है, तो 'श्रेड' का उपयोग करने पर विचार करें।

यदि आप किसी फ़ाइल को हटाना चाहते हैं, तो आपको फ़ाइल को अपने ट्रैश में ले जाना चाहिए, ठीक वैसे ही जैसे आप डेस्कटॉप का उपयोग करते समय करते हैं।

POSIX इसे आसान बनाता है, क्योंकि ट्रैश आपके फाइल सिस्टम में एक पहुंच योग्य, वास्तविक स्थान है। आपके प्लेटफॉर्म के आधार पर वह स्थान बदल सकता है:फ्रीडेस्कटॉप पर, कचरा ~/.local/share/Trash पर स्थित होता है। , जबकि MacOS पर यह ~/.ट्रैश . है , लेकिन किसी भी तरह से, यह केवल एक निर्देशिका है जिसमें आप उन फ़ाइलों को रखते हैं जिन्हें आप दृष्टि से बाहर रखना चाहते हैं जब तक कि आप उन्हें हमेशा के लिए मिटाने के लिए तैयार न हों।

यह साधारण उपनाम आपके टर्मिनल से फ़ाइलों को ट्रैश बिन में टॉस करने का एक तरीका प्रदान करता है:

alias tcn='mv --force -t ~/.local/share/Trash '

यह उपनाम एक अल्पज्ञात mv . का उपयोग करता है ध्वज जो आपको उस फ़ाइल को प्रदान करने में सक्षम बनाता है जिसे आप अंतिम तर्क के रूप में स्थानांतरित करना चाहते हैं, उस फ़ाइल को पहले सूचीबद्ध करने की सामान्य आवश्यकता को अनदेखा करते हुए। अब आप अपने सिस्टम ट्रैश में फ़ाइलों और फ़ोल्डरों को स्थानांतरित करने के लिए अपने नए आदेश का उपयोग कर सकते हैं:

$ ls 
foo  bar
$ tcn foo
$ ls
bar

अब फ़ाइल "चली गई" है, लेकिन केवल तब तक जब तक आप ठंडे पसीने में महसूस न करें कि आपको अभी भी इसकी आवश्यकता है। उस समय, आप फ़ाइल को अपने सिस्टम ट्रैश से बचा सकते हैं; बैश को टिप देना सुनिश्चित करें और mv डेवलपर्स रास्ते में हैं।

नोट: यदि आपको अधिक मजबूत कचरा की आवश्यकता है बेहतर फ्रीडेस्कटॉप अनुपालन के साथ कमांड, ट्रैशी देखें।

अपने Git कार्यप्रवाह को सरल बनाएं

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

कोई फर्क नहीं पड़ता कि आप टाइपिंग से थक गए हैं, आप बैश उपनाम के साथ कुछ दर्द को कम करने में सक्षम हो सकते हैं। हुक के लिए तर्क पारित करने की अपनी क्षमता के लिए धन्यवाद, गिट के पास आत्मनिरीक्षण आदेशों का एक समृद्ध सेट है जो आपको बैश में अलौकिक करतब करने से बचाता है।

उदाहरण के लिए, जब आप बैश में, एक प्रोजेक्ट की शीर्ष-स्तरीय निर्देशिका (जहां तक ​​बैश का संबंध है, पूरी तरह से मनमाना पदनाम है, क्योंकि कंप्यूटर के लिए पूर्ण शीर्ष स्तर रूट निर्देशिका है), गिट का पता लगाने के लिए संघर्ष कर सकते हैं। एक साधारण प्रश्न के साथ अपने शीर्ष स्तर को जानता है। यदि आप गिट हुक पर अध्ययन करते हैं, तो आप स्वयं को उन सभी प्रकार की जानकारी का पता लगाने में सक्षम पाएंगे जिनके बारे में बैश को कुछ भी नहीं पता है, लेकिन आप उस जानकारी को बैश उपनाम के साथ लाभ उठा सकते हैं।

गिट प्रोजेक्ट के शीर्ष स्तर को खोजने के लिए यहां एक उपनाम है, इससे कोई फर्क नहीं पड़ता कि आप उस प्रोजेक्ट में कहां काम कर रहे हैं, और फिर निर्देशिका को बदलने के लिए, मास्टर शाखा में बदलें, और गिट पुल करें:

alias startgit='cd `git rev-parse --show-toplevel` && git checkout master && git pull'

इस प्रकार का उपनाम किसी भी तरह से एक सार्वभौमिक रूप से उपयोगी उपनाम नहीं है, लेकिन यह दर्शाता है कि कैसे एक अपेक्षाकृत सरल उपनाम बहुत अधिक श्रमसाध्य नेविगेशन, कमांड और संकेतों की प्रतीक्षा को समाप्त कर सकता है।

एक सरल, और शायद अधिक सार्वभौमिक, उपनाम आपको Git प्रोजेक्ट के शीर्ष स्तर पर लौटाता है। यह उपनाम उपयोगी है क्योंकि जब आप किसी प्रोजेक्ट पर काम कर रहे होते हैं, तो वह प्रोजेक्ट कमोबेश आपकी "अस्थायी घर" निर्देशिका बन जाता है। "घर" जाना उतना ही सरल होना चाहिए जितना कि अपने वास्तविक घर में जाना, और यहाँ एक उपनाम है:

alias cg='cd `git rev-parse --show-toplevel`'

अब कमांड cg आपको अपने Git प्रोजेक्ट के शीर्ष पर ले जाता है, चाहे आप इसकी निर्देशिका संरचना में कितनी भी गहराई तक क्यों न उतरे हों।

निर्देशिका बदलें और उसी समय सामग्री देखें

यह एक बार (कथित रूप से) एक प्रमुख वैज्ञानिक द्वारा प्रस्तावित किया गया था कि हम cd टाइप करने वाले गीक्स द्वारा खर्च की गई ऊर्जा का उपयोग करके ग्रह की कई ऊर्जा समस्याओं को हल कर सकते हैं। उसके बाद ls .

यह एक सामान्य पैटर्न है, क्योंकि आम तौर पर जब आप निर्देशिका बदलते हैं, तो आपके पास आस-पास क्या है, यह देखने के लिए आवेग या आवश्यकता होती है।

लेकिन आपके कंप्यूटर के डायरेक्टरी ट्री को "चलना" एक स्टार्ट-एंड-स्टॉप प्रक्रिया नहीं है।

यह एक धोखा है, क्योंकि यह बिल्कुल भी उपनाम नहीं है, लेकिन यह बैश कार्यों का पता लगाने का एक बड़ा बहाना है। जबकि उपनाम त्वरित प्रतिस्थापन के लिए बहुत अच्छे हैं, बैश आपको अपने .bashrc में स्थानीय कार्यों को जोड़ने की अनुमति देता है। फ़ाइल (या एक अलग फ़ंक्शन फ़ाइल जिसे आप .bashrc . में लोड करते हैं , जैसे आप अपनी उपनाम फ़ाइल करते हैं)।

चीजों को मॉड्यूलर रखने के लिए, ~/.bash_functions . नामक एक नई फ़ाइल बनाएं और फिर अपना .bashrc . लें इसे लोड करें:

if [ -e $HOME/.bash_functions ]; then
    source $HOME/.bash_functions
fi

फ़ंक्शन फ़ाइल में, यह कोड जोड़ें:

function cl() {
    DIR="$*";
        # if no DIR given, go home
        if [ $# -lt 1 ]; then
                DIR=$HOME;
    fi;
    builtin cd "${DIR}" && \
    # use your preferred ls command
        ls -F --color=auto
}

फ़ंक्शन को अपने बैश सत्र में लोड करें और फिर इसे आज़माएं:

$ source ~/.bash_functions
$ cl Documents
foo bar baz
$ pwd
/home/seth/Documents
$ cl ..
Desktop  Documents  Downloads
[...]
$ pwd
/home/seth

कार्य उपनामों की तुलना में बहुत अधिक लचीले होते हैं, लेकिन उस लचीलेपन के साथ आपके लिए यह सुनिश्चित करने की जिम्मेदारी आती है कि आपका कोड समझ में आता है और वह करता है जिसकी आप अपेक्षा करते हैं। उपनाम सरल होने के लिए हैं, इसलिए उन्हें आसान, लेकिन उपयोगी रखें। बैश के व्यवहार में गंभीर बदलाव के लिए, अपने PATH में किसी स्थान पर सहेजे गए फ़ंक्शन या कस्टम शेल स्क्रिप्ट का उपयोग करें। ।

रिकॉर्ड के लिए, हैं cd . को लागू करने के लिए कुछ चतुर हैक और ls एक उपनाम के रूप में अनुक्रम, इसलिए यदि आप पर्याप्त धैर्यवान हैं, तो विनम्र उपनामों का उपयोग करते हुए भी आकाश की सीमा है।

अलियासिंग और कार्य करना प्रारंभ करें

अपने परिवेश को अनुकूलित करना ही Linux को मज़ेदार बनाता है, और अपनी कार्यकुशलता को बढ़ाना ही Linux को जीवन-परिवर्तनकारी बनाता है। सरल उपनामों के साथ आरंभ करें, कार्यों में स्नातक करें, और टिप्पणियों में अपने आवश्यक उपनाम पोस्ट करें!


  1. 7 बैश इतिहास शॉर्टकट जो आप वास्तव में उपयोग करेंगे

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

  1. 7 शीर्ष सोशल नेटवर्क ऐप्स जिनके बिना आप नहीं रह सकते - इन्फोग्राफिक

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

  1. क्या आप Android ब्लोटवेयर को हटा सकते हैं या नहीं हटा सकते

    और यदि आप कर सकते हैं, तो क्या आपको अपने Android उपकरण को रूट करने की आवश्यकता है? क्या आपको ब्लोटवेयर से छुटकारा पाने के लिए किसी अन्य ऐप की आवश्यकता है? आइए जानें, क्या हम? हम कोशिश करेंगे और उन सभी संभावित आसान तरीकों पर एक नज़र डालेंगे जिनका उपयोग करके आप Android ब्लोटवेयर को हटा सकते हैं। अब