ในเทอร์มินัลฉันจะกำหนดคีย์เพื่อไปยังไดเรกทอรีก่อนหน้าซึ่งฉันอยู่เมื่อเปลี่ยนไดเรกทอรีด้วยcd
คำสั่งได้อย่างไร
ตัวอย่างเช่น/opt/soft/bin
ฉันcd
เข้า/etc/squid3
และเข้าและฉันต้องการกลับไปที่ไดเรกทอรีแรก
ในเทอร์มินัลฉันจะกำหนดคีย์เพื่อไปยังไดเรกทอรีก่อนหน้าซึ่งฉันอยู่เมื่อเปลี่ยนไดเรกทอรีด้วยcd
คำสั่งได้อย่างไร
ตัวอย่างเช่น/opt/soft/bin
ฉันcd
เข้า/etc/squid3
และเข้าและฉันต้องการกลับไปที่ไดเรกทอรีแรก
คำตอบ:
คุณสามารถใช้ได้
cd -
หรือคุณสามารถใช้
cd $OLDPWD
cd -
น่าจะเป็นตั้งแต่เปลือกหอยเก่าไม่แสดงชื่อของไดเรกทอรีปัจจุบันในพรอมต์มันเป็นประโยชน์ที่จะเห็นชื่อของไดเรกทอรีเมื่อคุณพิมพ์ ตัวอย่างเช่นเมื่อคุณพิมพ์cd /usr/local
คุณรู้ว่าคุณอยู่/usr/loal
แต่เมื่อคุณพิมพ์cd -
คุณจำไม่ได้เสมอว่าคุณมาจากไดเรกทอรีใด cd -; pwd
ดังนั้นจึงช่วยให้คุณประหยัดจากการพิมพ์ แต่นี่คือการเก็งกำไรทั้งหมด
alias -- -='cd -'
แล้วใช้-
(1 อักขระ) แทนcd -
(4 อักขระ) เร็วขึ้น:D
cd -
สองครั้ง อย่าคุณควรจะอยู่ในcd /; cd /usr; cd -; cd -
/usr
แต่บางทีฉันอาจจะเข้าใจคำถามของคุณ
คำตอบอื่น ๆ จะเสร็จสมบูรณ์แน่นอนในความหมายคำตอบโดยตรง cd -
และcd $OLDPWD
เป็นตัวเลือกหลักสำหรับสิ่งนี้อย่างแน่นอน อย่างไรก็ตามฉันมักพบว่าการเข้าสู่เวิร์กโฟลว์ด้วยpushd
และpopd
ทำงานได้ดีขึ้น
เรื่องยาวสั้นถ้าคุณกำลังจะย้ายไปลงในไดเรกทอรีด้วยความตั้งใจที่ดีที่สุดของกลับมาที่คุณเริ่มต้นการใช้งาน/pushd
popd
ความแตกต่างที่สำคัญแสดงได้อย่างง่ายดายโดยตัวอย่าง
$ cd dir1
$ pushd dir2
ณ dir2, dir1
จุดนี้คุณมีกองไดเรกทอรีที่ เล่นpushd
กับการขัดแย้งใดจะทำให้คุณกลับมาอยู่ในกับสแต็คในขณะนี้ dir1
จะทำเช่นเดียวกัน แต่จะทำให้คุณมีสแต็กไดเรกทอรีว่างเปล่า สิ่งนี้ไม่แตกต่างไปจากที่คุณเคยทำงานกับเวิร์กโฟลว์มากนักdir1, dir2
popd
cd -
dir1
แต่ตอนนี้คุณสามารถเปลี่ยนไดเรกทอรีหลายครั้งและได้รับกลับไป ตัวอย่างเช่น,
$ cd dir1
$ pushd dir2
$ cd dir3
หากคุณทำงานpopd
ณ dir1
จุดนี้คุณจะกลับไป
pushd
และกลับไปยังโฟลเดอร์ก่อนหน้าในขณะที่popd
ออก
dirs -v
แต่ความจริงสำหรับฉันก็คือบ่อยครั้งที่กรณีง่าย ๆ คือทั้งหมดที่ฉันใช้จริง ๆ (หรือแย่กว่านั้นคือฉันทำผิดพลาดเมื่อพยายามpush +2
หรือคล้ายกัน) นอกจากนี้ฉันคิดว่าขั้นตอนที่รักสำหรับการรับคนที่จะลองเวิร์กโฟลว์ :)
cd
จะไปที่ด้านบนสุดของสแต็คโดยไม่ต้อง popping ได้อย่างไร
คุณควรใช้:
cd ~-
มันไม่เป็นเช่นเดียวกับcd -
(จากคำตอบที่ได้รับการยอมรับในปัจจุบัน) โดยไม่ได้รับเสียงสะท้อนที่น่ารำคาญของไดเรกทอรีและง่ายต่อการพิมพ์กว่าหรือcd "$OLDPWD"
cd - > /dev/null
alias -- -='cd "$OLDPWD"'
ใช้-
(1 อักขระ) แทนcd ~-
(5 อักขระ) :)
cd ~-/..
งานได้ แต่cd -/..
ไม่!
$ cd -
จะเปลี่ยนเป็นไดเรกทอรีการทำงานก่อนหน้า
คุณสามารถ "กำหนดคีย์" สำหรับ 'cd -' โดยแก้ไขไฟล์ '~ / .bashrc' ของคุณและรวมถึงนามแฝงสำหรับคำสั่ง ตัวอย่างเช่นคุณสามารถเพิ่ม 'cdc' เพื่อให้ 'cd -' ซึ่งจะช่วยให้คุณมีวิธีที่สั้นกว่าในการไปยังไดเรกทอรีสุดท้ายโดยการเพิ่ม:
alias cdc='cd -'
วิธีนี้คุณเพียงแค่พิมพ์ 'cdc' และจะทำให้คุณอยู่ในไดเรกทอรีการทำงานล่าสุดของคุณ
bind '"\e[24~":"\C-k \C-ucd -\n"'
(หรือให้เลื่อนไปที่inputrc
ไฟล์ตามที่ระบุไว้ในคำตอบ)
cd ..
ไปที่โฟลเดอร์ก่อนหน้าในแผนผังของโฟลเดอร์
cd -
ไปที่โฟลเดอร์ที่เคยเป็น คำสั่งนี้ใช้ไม่ได้กับ distros บางรุ่น (Ubuntu 16.04) ใช้งานได้ใน debian 9