Mặc dù đã có một số câu trả lời hay, tôi nghĩ tôi đã đề cập đến tính đầy đủ của các bản dựng cũ pushd
và popd
Bash cho phép bạn di chuyển rất nhanh giữa các thư mục trong các đường dẫn sâu trong hệ thống tệp của bạn. Ngược lại với các autojump
dấu trang được đề cập bởi burger.ga , ngăn xếp thư mục được tạo bằng cách sử dụng pushd
chỉ là tạm thời.
Như GNU ghi chú thủ công , pushd
và popd
đang Bash builtins sử dụng để xây dựng một chồng thư mục tạm thời mà là một
danh sách các thư mục được truy cập gần đây. Pushd buildin thêm các thư mục vào ngăn xếp khi nó thay đổi thư mục hiện tại và nội dung popd sẽ xóa các thư mục được chỉ định khỏi ngăn xếp và thay đổi thư mục hiện tại vào thư mục bị xóa. Các dir được dựng sẵn hiển thị nội dung của ngăn xếp thư mục.
Phải mất một chút để làm quen, nhưng có rất nhiều hướng dẫn hữu ích trên blog này và trang web này chẳng hạn. Không có các trang riêng cho các lệnh, vì chúng được bao gồm trong trang của Bash, nhưng để tham khảo nhanh, bạn có thể xem trang GNU Bash .
Giải thích rõ ràng nhất là trong bài viết rất hữu ích này và chính xác là cách tôi sử dụng pushd
và popd
:
Đầu tiên, sử dụng dirs
hoặc dirs -l
để liệt kê các thư mục trên ngăn xếp và dirs -c
để xóa ngăn xếp.
Theo một nghĩa nào đó, bạn đánh dấu vị trí mà bạn muốn quay lại bằng cách nhập
pushd /home/mike/Pictures/Canon/2012_07_01
và sau đó bạn có thể thêm nhiều thư mục vào ngăn xếp, do đó bạn nhận được một danh sách thư mục như bên dưới, bao gồm 3 thư mục được chỉ định và ~
thư mục nhà của bạn :
dirs
~/Downloads/folder/interest ~/Music/artist/album ~ ~/Pictures/Canon/2012_07_01
Bạn thực sự không cần phải sử dụng popd
ngay lập tức vì nó sẽ loại bỏ các thư mục khỏi ngăn xếp; điều tốt nhất để làm là sử dụng pushd
để xoay ngăn xếp, để bạn có thể tiếp tục chuyển đổi giữa các thư mục và đặt hàng chúng theo ý muốn. Để biết thêm về xoay vòng ngăn xếp hữu ích đó, xem trang man Bash .
Nếu bạn có chính xác cách sắp xếp ngăn xếp như dirs
danh sách trên hiển thị, hãy pushd +3
chuyển bạn sang thư mục Ảnh cụ thể và đặt vị trí trên cùng của ngăn xếp (đó là +3 chứ không phải +4 vì bạn không đếm số ~
trong ngăn xếp thư mục):
pushd +3
~/Pictures/Canon/2012_07_01 ~/Downloads/folder/interest ~/Music/artist/album ~
Vì vậy, lời nhắc đọc,
~/Pictures/Canon/2012_07_01$
Bạn có thể tiếp tục làm điều này mà không xóa chúng khỏi ngăn xếp, mặc dù bất kỳ thư mục nào bạn cd
, ngoại trừ những thư mục được thêm vào ngăn xếp thư mục pushd
, sẽ thay đổi ngăn xếp thư mục của bạn.
Khi bạn đã sắp xếp ngăn xếp thư mục theo thứ tự bạn muốn, bạn có thể sử dụng popd
để nhanh chóng quay vòng qua các thư mục và sau đó quay lại thư mục chính; ví dụ: từ Pictures
chúng ta có thể quay lại Downloads
:
popd
~/Downloads/folder/interest ~/Music/artist/album ~
và lời nhắc đọc
~/Downloads/folder/interest$
Nói chung, cái hay của việc này là bạn có thể thiết lập ngăn xếp thư mục và thứ tự các mục trong đó pushd
và sau đó, giả sử bạn có ba tệp để chỉnh sửa trong mỗi thư mục đó, bạn có thể trả lại ngay lập tức cho từng thư mục trong popd
khi xóa chúng từ ngăn xếp thư mục. Sau đó, cuối cùng popd
bạn sẽ trở lại ~
. Nó trở nên đặc biệt hữu ích khi bạn có các thư mục đặc biệt sâu và có thể sử dụng nó để thiết lập ngăn xếp thư mục để nhanh chóng di chuyển giữa chúng.
Ngoài ra, câu hỏi này chứa một số mẹo mà bạn có thể thấy hữu ích khi làm việc trên dòng lệnh: