Làm thế nào tôi có thể hoàn tác lệnh cd cuối cùng?


77

Có cách nào để quay trở lại thư mục làm việc trước đó sau khi thực hiện một cdthư mục khác không?

Trường hợp sử dụng của tôi là tôi đang duyệt qua cấu trúc thư mục cho một dự án Java và tôi hy vọng rằng thư mục hiện tại chỉ có một thư mục con. Vì vậy, tôi gõ cdvà đánh TabEnterkhá nhanh. Tuy nhiên, Tabthất bại, vì tôi đã nhầm tưởng một thư mục con, trong khi thực tế có nhiều hơn. Vì vậy, bây giờ, tôi chỉ thực hiện cdvà bây giờ trong thư mục nhà của tôi, thay vì dự án Java. Có cách nào để "hoàn tác" cái này cdvà quay lại thư mục tôi đang ở không?

Câu trả lời:


130

Bạn có thể sử dụng cd -để quay lại vị trí trước đó của mình, bất kể đó là vị trí nào.


10
Chà ... thậm chí sau nhiều năm trên Ubuntu tôi cũng không biết điều đó. Cảm ơn
andybleaden

19

cd - là tuyệt vời để quay trở lại một cấp độ, nhưng nếu bạn thấy mình muốn quay lại một vài cấp độ, hãy xem kịch bản này:

acd_func.sh

Thật tuyệt vời. cd --để xem lịch sử của bạn và cd -3để quay lại 3 cấp độ, ví dụ.


Wow ... một liên kết địa chất. Bây giờ có một URL tôi đã không thấy trong một thời gian dài. <chèn JPG Obi-wan>
Michael Butler

1
các ý chính của nhận xét này. <jpg Yoda chèn>
Donbhupi

15

Bạn cũng có thể sử dụng pushdpopdsử dụng ngăn xếp thư mục :)

Một số thông tin ở đây


5

Ngoài ra, cd ..có thể đưa bạn trở lại thư mục mẹ của thư mục làm việc và sau đó nếu cần, lệnh có thể được lặp lại cho đến khi bạn đến nơi bạn muốn. Trong thực tế, mỗi khi nó được gợi lên, nó sẽ đưa bạn trở lại qua cây thư mục, cuối cùng sẽ kết thúc tại /(thư mục gốc) nếu bạn cứ lặp đi lặp lại lệnh.

Trong Ngược lại , cd -thực sự làm cho các thư mục trước đó làm việc thư mục làm việc hiện tại, (được gọi là .), và trong đó vị trí chính xác trong hệ thống tập tin có thể được tìm thấy với pwd.

Vì vậy, cả hai cd ..cd - có thể hữu ích trong các trường hợp khác nhau khi điều hướng cây thư mục, mặc dù chúng khác nhau về các khía cạnh đã nói ở trên. Có lẽ lệnh hữu ích nhất sau khi vui vẻ thử nghiệm hai lệnh này là cd, nó đưa bạn trở về thư mục chính.


-1

Cách tốt nhất để làm điều này để quay trở lại là cd -, tuy nhiên nếu bạn muốn bỏ qua nhiều cấp độ cùng một lúc, bạn nên sử dụng cd ..một cấp độ cd ../.., cho hai, cd ../../..cho ba và trên ... một cách hay để thực hiện nhanh chóng là đây kịch bản:

#!/bin/bash
printf "Number of folders to move back: "
read TIMES
BACKCHARS=../
BACK=$(for i in `seq $TIMES`; do printf $BACKCHARS; done)
cd $BACK

1
Chạy cdtrong một kịch bản không ảnh hưởng đến vỏ cha. Bạn cần đặt chức năng này trong hàm shell để nó hữu ích.
wjandrea

như thế này:up(){ local n="$1"; while ((n--)); do path+='../'; done; cd "$path"; }
wjandrea
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.