"सीडी .." के लिए कोई शॉर्टकट?


30

क्या इसका कोई शॉर्टकट है cd ..?


47
क्या इसे टाइप करने में इतना समय लगता है?
१५:०२ पर राइटफॉल्ड

17
हाँ, यह अक्सर जरूरत है कि कुछ के लिए बहुत लंबा समय लगता है।
मारार्टिनस

2
पुश और पॉप का प्रयास करें
ज़ाचरी स्कॉट

19
मुझे बहुत अचंभा हो रहा है कि कोई व्यक्ति cd ..टाइप करने के लिए बहुत बोझिल लगता है
एरिक

8
मुझे संदेह है कि जिन लोगों को ' cd ..' की आवश्यकता है, उनके पास अक्सर "मुझे cdफाइलों के बारे में बात करने से पहले एक निर्देशिका में होना चाहिए " एंटी-पैटर्न, बजाय फाइलसिस्टम पथ निर्दिष्ट करने के।
bignose 7

जवाबों:


68

डिफ़ॉल्ट रूप से नहीं (इसमें कुछ अपवाद हो सकते हैं), वहाँ नहीं है। लेकिन अगर आप aliasकमांड का उपयोग करते हैं तो आप इस तरह से एक शॉर्टकट बना सकते हैं:

alias ..="cd .."

यह आपको कमांड ..का उपयोग करने की अनुमति देगा cd ..


10
अरे, मैं सिर्फ टाइपिंग था सटीक एक ही बात।
मजेंको

6
मैं भी alias ...="cd ../.."और दो का उपयोग कर रहा हूँ । साथ ही, मैं सिफारिश कर सकते हैं alias ,=cd "$OLDPWD"
मारार्टिनस


1
@ हांक मुझे नहीं पता था। हालाँकि, यह बहुत लंबा है (और मुझे आउटपुट की आवश्यकता नहीं है)।
मारार्टिनस

1
किसी को कृपया नीचे की व्याख्या कर सकते हैं?
वफ़र्स

82

autocdविकल्प सक्रिय करें । यह आपको टाइप ..करने cd ..देगा और वास्तव में आपको कमांड के नाम के रूप में किसी भी डायरेक्टरी का उपयोग cdकरने देगा और इसे करेगा :

shopt -s autocd

जिज्ञासु के लिए, zsh के लिए वही मौजूद है:

setopt auto_cd

1
यह शानदार है। मेरे सभी लिनक्स बॉक्स पर .bashrc संपादित करने का समय। दुर्भाग्य से यह cygwin bash के साथ काम नहीं करता है।
बाजीगर

3
वाह, यह कमाल है।
रीड

5
@ गॉर्डोको: हाँ, यह केवल 4.x बैश है। यही कारण है कि मैं 14 साल से zsh का उपयोग कर रहा हूं।
सैम होसेवर

1
zsh(+ auto_cd) FTW!
जॉन्सिवेब

2
@ एलएसी: तकनीकी श्रेष्ठता हमेशा प्रभुत्व का निर्धारक नहीं होती है। बैश बहुत पुराना है और इसका उपयोग करके कहीं अधिक लिखा गया है, और व्यावहारिक रूप से सभी शेल प्रोग्रामर इसे जानते हैं, और कुछ भी नहीं। बदलाव कठिन हो सकता है। - जो किसी को नहीं पता है कि सभी zsh शोर के बारे में क्या है, और केवल वास्तव में कभी भी इस्तेमाल किया है :)
tshepang

42

मुझे यह उपयोगी लगता है:

up() { local p= i=${1:-1}; while (( i-- )); do p+=../; done; cd "$p$2" && pwd; }

उदाहरण के लिए, up 4=cd ../../../..

एक बोनस के रूप `up 4`/path/to/fileमें, एक समान तरीके से काम करता है ../../../../path/to/file


यह तो दिलचस्प है! 2007 में मैंने अपने .bashrc - फ़ाइल के लिए एक समान [function] ( home.arcor.de/hirnstrom/minis/index.html#up_X ) लिखा । आपका समाधान cd -भी पूरे रास्ते वापस कूदने की अनुमति देता है। बहुत बढ़िया! :)
उपयोगकर्ता अज्ञात

अच्छा लगा। वीएमएस डीसीएल के लिए मेरे पास ऐसा कुछ था जब मैंने उस पर काम किया, लेकिन वास्तव में इसके बारे में नहीं सोचा था जब मैं यूनिक्स और इसके वेरिएंट में चला गया था।
ग्रीनमैट

16

करने के बाद ए

bind '"\eu":"cd ..\C-m"'

आप cd ..दबाकर कर सकते हैं Alt-u। मैं chdir चैंपियनशिप पर इसका इस्तेमाल किया ;-)

अगर आप पूरा स्विफ्ट-चदिर स्वीट चाहते हैं

ALT+u cd ..
ALT+n enter next dir for selection
ALT+p enter previous dir for selection
ALT+SPC choose selected dir
ALT+l list subdirectories and highlight selection

बस इसे अपने .bashrc में शामिल करें

swiftcd-status() {
    echo -n -e "\r\0033[1A\0033[J"
}

swiftcd-contents() {
    find "$swiftcdpath" -maxdepth 1 -executable -type d
}

swiftcd-setdir () 
{ 
    swiftcdpath=$PWD
    swiftcddirnum=1
    swiftcddircount=`swiftcd-contents|wc -l`;
    swiftcd-status
}

swiftcd-pd () 
{ 
    (( --swiftcddirnum <= 0 )) && swiftcddirnum=$swiftcddircount;
    swiftcd-switch $swiftcddirnum
    swiftcd-status
}

swiftcd-updir () 
{ 
    cd ..;
    swiftcd-setdir
}

swiftcd-list () 
{ 
    local redOn="$(echo -e '\0033[31m\0033[1m')"
    local redOff="$(echo -e '\0033[m')"

    swiftcd-status
    ((  swiftcddircount > 1 )) && { 
        echo
        echo $(swiftcd-contents|sed 's!^'"$swiftcdpath"'!!'|sed $swiftcddirnum' s/\(.*\)/'"$redOn"'\1'"$redOff"'/')
    } 
}

swiftcd-nd () 
{ 
    (( ++swiftcddirnum > swiftcddircount )) && swiftcddirnum=1;
    swiftcd-switch $swiftcddirnum
    swiftcd-status
}

swiftcd-switch() {
    (( $1 <= swiftcddircount && $1 > 0 )) && cd $(swiftcd-contents|sed -n $1' p')
}

bind '"\e ":"swiftcd-setdir\C-m"'
bind '"\ep":"swiftcd-pd\C-m"'
bind '"\eu":"swiftcd-updir\C-m"'
bind '"\en":"swiftcd-nd\C-m"'
bind '"\el":"swiftcd-list\C-m"'
swiftcd-setdir

4
एक chdir चैम्पियनशिप क्या है? अज्ञानी
पीटर जरिक

4
निर्देशिका नेविगेशन स्पोर्ट्स इवेंट।
कलाकारोय

14

मैं इसका उपयोग तब से करता हूं जब मैं बहुत तेज टाइप करता हूं और अक्सर स्पेस बार को याद करता हूं:

alias cd..="cd .."

एक गैर-निक्स व्यक्ति के लिए सबसे असुविधाजनक कभी-कभार * nix box +1
mplungjan

11
s / non-unix/ Windows/
grawity

3
यदि आप इतनी तेजी से टाइप कर रहे हैं तो आप पात्र गायब कर रहे हैं, यह विश्वास करना मुश्किल है कि cd..वास्तव में मदद के लिए उपनाम जोड़ना मुश्किल है ।
ओली

3
मैं देख सकता हूँ कि अगर आप प्रिय पुराने डॉस से आते हैं तो यह कैसे मदद कर सकता है, जहां cd..वैध था :)
कैम्ब्रिज

1
किसी कारण से मैं cd टाइप कर रहा हूँ .. पिछले एक हफ्ते से बहुत कुछ। मुझे लगा कि मुझे कॉफी छोड़नी है, लेकिन मुझे यह उपाय अच्छा लगता है।
सिंटेक्स एरर

7

ऑटोजम्प को आज़माएं: जीथब पर ऑटोजम्प

यह न केवल cd कमांड को 'j' में छोटा करेगा, बल्कि उस फ़ोल्डर को टाइप करने के लिए आवश्यक वर्ण भी छोटा कर देगा, जिसमें आप कूदना चाहते हैं।

यदि आप हमेशा फोल्डर / होम / foo / प्रोजेक्ट्स / फिर टेक्स्टफेसबुक में cd करते हैं तो आप सिर्फ 'जे फेस' कर सकते हैं और आप वहां हैं। यह स्वचालित रूप से सीखता है कि कौन से फ़ोल्डर आपके लिए सबसे महत्वपूर्ण हैं और एक महीने के लिए उपयोग करने के बाद अब मैं कह सकता हूं कि यह बहुत सटीक है।


2

मैं alias …='cd ..'अपनी .bashrcफाइल में इस्तेमाल करता हूं । यूनिकोड नियम;)


1

मेरी bashrc फ़ाइल में है

alias ..="cd .. && ls -lG"

साथ ही साथ

alias ,,="pushd .. && ls -lG"

1

बहुत बेहतर सीडी कमांड के लिए Cd डिलक्स आज़माएँ । यह "सीडी ..." और "सीडी ...." जैसी चीजों का समर्थन करता है और इसलिए जल्दी से ऊपर की ओर नेविगेट करने के लिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.