लिनक्स cd .. कमांड


9

कहो कि क्या मुझे ऐसा करने की आवश्यकता है:

cd ../../../../foo/sub1/bar/dest/
cd ../../../../foo2/sub1/bar/dest/
cd ../../../../foo3/sub1/bar/dest/
cd ../../../../foo/sub1/bar/dest/

क्या कोई तेज़ तरीका हमेशा ../../../../कई बार टाइपिंग नहीं है? कोई रचनात्मक विचार?


2
क्यों नहीं बस के साथ निष्पादित cd ../../../..और इसके साथ किया जा सकता है?
रेड क्रिकेट

8
आप pushdऔर popdभी आनंद ले सकते हैं cd -
jscott

1
यदि आप इतनी दूर जा रहे हैं तो यह सिर्फ सीडी / वास्तविक / पथ के लिए समझ में आ सकता है / आप चाहते हैं कि फ़ोल्डर्स कितने गहरे तक जाएं।
ड्रू खोरी

यह इसके लायक होने की तुलना में बहुत अधिक प्रयास है। यदि आप निर्देशिकाओं के बीच बढ़ रहे हैं, पूर्ण पथ विनिर्देश या बस cd -( अंतिम निर्देशिका में जाने के लिए ) का उपयोग करना आसान है। मैं आमतौर पर alias h="history|grep"इतना है कि मैं बजाय इतिहास प्रविष्टि शॉर्टकट का उपयोग कर सकते हैं। कुछ-कुछ h foo3, उसके बाद !450उस कमांड को दोहराने के लिए।
ewwhite

एक और टर्मिनल विंडो खोलें और cd टाइप न करें ../../../ .. बिल्कुल
Matt

जवाबों:


18

ऐसा करने का क्लासिक तरीका CDPATHचर सेट कर रहा है। आपके मामले में यह वांछित प्रभाव को प्राप्त करने .:../../../../या स्थापित करने के लिए सेट किया जा सकता है .:/path/to/the/parent/of/foo। आप तब बस कर सकते हैं cd foo/sub1/bar/destऔर जहां आप चाहते हैं वहां पहुंच सकते हैं।

इसका लाभ यह है कि टैब पूरा होने पर cdभी दिखता है $CDPATHऔर जादुई रूप से काम करेगा।


9

आप ऐसे ऑटोजम्प का उपयोग कर सकते हैं जो स्वचालित रूप से पिछली सीडी कमांड से सीखते हैं और आपको केवल अगली बार पूरे रास्ते से अद्वितीय स्ट्रिंग निर्दिष्ट करने की आवश्यकता होती है। पूर्व। j foo, j foo1, j foo2


7

आप इन कमांड के लिए बैश कॉन्फ़िगरेशन फ़ाइल (~ / .bashrc या /etc/bash.bashrc) में उपनाम जोड़कर शॉर्टकट बना सकते हैं।

alias cdd="cd ../../../../"

फिर जब आप टाइप cddकरेंगे तो यह उस कमांड को निष्पादित करेगा।


3
हाँ, या function cdd () { cd ../../../../$1/bar/dest ; }, तो फिर तुम सिर्फ टाइप कर सकते हैं जैसे cdd foo, cdd foo2
एंड्रयू शुलमैन

0

मैं हाल ही में https://github.com/rupa/z पर आया , जो आपको हाल ही में इस्तेमाल की गई डायरेक्टरी को regex से जम्प करने देता है। तो आप कुछ ऐसा कर सकते हैं:

z foo3.*dest

के बजाय:

cd ../../../../foo3/sub1/bar/dest/

(जब तक आपने पहले उस निर्देशिका का दौरा किया है, और कुछ और हालिया / बार-बार उपयोग किए जाने वाले मेल नहीं हैं जो regex है)

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