มีวิธีไปที่ไดเรกทอรีใด ๆ จากไดเรกทอรีอื่น ๆ โดยตรงหรือไม่


14

มีวิธีไปที่ไดเรกทอรีใด ๆ จากไดเรกทอรีอื่น ๆ โดยตรงหรือไม่ ตัวอย่างเช่นสมมติว่าฉันรูตและฉันต้องการไปที่โปรเจ็กต์ปัจจุบันโดยตรง โดยไม่ต้องทำ :

cd dropbox/dev/currentProject



-root
  -dropbox
     -dev
        -currentProject

มีวิธีทำเช่นนี้หรือไม่?

คำตอบ:


21

คุณสามารถใช้สิ่งที่ชอบ autojump . Autojump ให้คุณข้ามไปยังไดเรกทอรีที่เข้าชมบ่อยครั้งอย่างรวดเร็วด้วย j คำสั่ง

ตัวอย่างเช่นเมื่อคุณ cd เป็นของคุณ currentProject ไดเรกทอรีสองสามครั้งคุณสามารถข้ามไปได้เช่นนี้

j currentProject

คุณสามารถใช้เพียงบางส่วนของชื่อไดเรกทอรี ดังนั้นคุณสามารถทำได้:

j current

ไปยัง cd เข้าไป currentProject.


8

นอกจากนี้คุณยังสามารถเพิ่มไดเรกทอรีทั่วไปลงใน $ CDPATH ของคุณ

export CDPATH=$HOME

ตัวอย่างนี้จะช่วยให้คุณ cd ใน dir ใด ๆ ในโฟลเดอร์บ้านของคุณจากทุกที่ในระบบของคุณ

มากกว่า


7

สิ่งนี้ไม่ตอบคำถามของคุณโดยตรง แต่ถ้าฉันอนุมานได้อย่างถูกต้องว่าคุณกำลังจะกระโดดข้ามไดเรกทอรีมากคุณสามารถใช้ terminal multiplexer เช่น หน้าจอ GNU เพื่อให้ไดเรกทอรีต่าง ๆ เปิดอยู่ในหน้าต่างที่แตกต่างกันและเพียงสลับระหว่างไดเรกทอรีเหล่านั้นตามต้องการ ฉันใช้เป็นการส่วนตัว Byobu ซึ่งเพิ่มฟังก์ชั่นบางอย่างที่ด้านบนของหน้าจอ


1
ดูสิ่งนี้ด้วย: tmux .
Annika Backstrom

5

คุณสามารถตั้งค่านามแฝงในโปรไฟล์ทุบตีของคุณ โดยทั่วไปที่ให้คุณย่อคำสั่งด้วยคำ คุณสามารถตั้งค่า currentProject ให้ชี้ไปที่ / dropbox / dev / currentProject


4

คุณสามารถสร้าง symlink ในโฮมไดเร็กตอรี่ของคุณไปยังที่ที่คุณต้องการ

ln -s /dropbox/dev/currentProject ~/currentProject

ด้วยวิธีนี้คุณยังคงใช้แผ่นซีดี แต่คุณไม่จำเป็นต้องจำเส้นทางแบบเต็ม เพียงใช้:

cd ~/currentProject

เมื่อคุณหยุดใช้ลิงค์เพียงแค่ลบมัน

rm ~/currentProject

0

ดังที่ Wuffers กล่าวไว้ข้างต้น autojump ที่สามารถทำเพื่อคุณ มันเก็บฐานข้อมูลของไดเรกทอรีที่เคยเยี่ยมชมก่อนหน้านี้และให้คุณใช้คำสั่งเช่น j <a few letters in the directory path> เพื่อย้ายไปยังไดเรกทอรีนั้น มีคำสั่งเพิ่มเติมสำหรับ autojump ชื่อ jc ที่ควรตอบสนองความต้องการของคุณ jc ช่วยให้คุณข้ามไปยังไดเรกทอรีย่อยที่เคยเยี่ยมชมก่อนหน้าของไดเรกทอรีการทำงานปัจจุบัน ดังนั้นคุณจะต้องไปที่ไดเรกทอรีหนึ่งครั้งเพื่อให้มันทำงานได้จนกว่าคุณจะล้างฐานข้อมูล autojump นอกจากนี้คุณยังสามารถเพิ่มได้โดยตรงด้วย autojump --add DIR (อาจสร้างรายการเพิ่มจากรายชื่อต้นไม้ไดเรกทอรีถ้าจำเป็น)


0

ใน bash และ * csh มีคำสั่งบิวด์อิน 'pushd' และ 'popd' ที่อนุญาตให้คุณพุชไดเร็กทอรีลงในสแต็ก Last In First Out (ด้วย pushd [directory] ) จากนั้นเปลี่ยนเป็นไดเรกทอรีบนสุดในสแตกโดยใช้ 'popd' ดังนั้นขึ้นอยู่กับวิธีที่คุณโหลดสแต็กคุณอาจนำทางได้อย่างรวดเร็วระหว่างไดเรกทอรีที่เหมาะสมเพื่อให้ใช้งานได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.