Linux cd .. lệnh


9

Nói nếu tôi cần làm điều này rất nhiều:

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

Có cách nào nhanh hơn để không phải luôn luôn gõ ../../../../rất nhiều lần? Bất kỳ ý tưởng sáng tạo?


2
Tại sao không thực hiện cd ../../../..và được thực hiện với nó?
Dế đỏ

8
Bạn có thể thích pushdpopdthậm chí cd -.
jscott

1
Nếu bạn đang đi xa trở lại, nó có thể có ý nghĩa chỉ là cd / thực tế / đường dẫn / bạn / muốn tùy thuộc vào độ sâu của các thư mục.
Drew Khoury

Đây là một nỗ lực nhiều hơn so với giá trị của nó. Nếu bạn đang di chuyển giữa các thư mục, đặc tả đường dẫn đầy đủ hoặc chỉ sử dụng cd -( để đi đến thư mục cuối cùng ) sẽ dễ dàng hơn. Tôi thường alias h="history|grep"để tôi có thể sử dụng các phím tắt lịch sử thay thế. Một cái gì đó như h foo3, tiếp theo !450để lặp lại lệnh đó.
ewwhite

Mở một cửa sổ đầu cuối khác và không gõ cd ../../../ .. tất cả
Matt

Câu trả lời:


18

Cách cổ điển để làm điều này là thiết lập CDPATHbiến. Trong trường hợp của bạn, nó có thể được đặt thành .:../../../../hoặc .:/path/to/the/parent/of/foođể đạt được hiệu quả mong muốn. Sau đó, bạn có thể chỉ cần làm cd foo/sub1/bar/destvà đến nơi bạn muốn.

Ưu điểm của việc này là hoàn thành tab cdcũng sẽ xem xét $CDPATHvà sẽ hoạt động một cách kỳ diệu.


9

Bạn có thể sử dụng autojump tự động học từ lệnh cd trước đó và bạn chỉ cần chỉ định chuỗi duy nhất từ ​​đường dẫn đầy đủ vào lần tới. Ví dụ. j foo, j foo1, j foo2


7

Bạn có thể tạo lối tắt cho các lệnh này bằng cách thêm bí danh vào tệp cấu hình bash (~ / .bashrc hoặc /etc/bash.bashrc)

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

Sau đó, khi bạn gõ cddnó sẽ thực hiện lệnh đó.


3
Có, hoặc function cdd () { cd ../../../../$1/bar/dest ; }, do đó, bạn có thể chỉ cần gõ cdd foo, ví dụ cdd foo2.
Andrew Schulman

0

Gần đây tôi đã xem qua https://github.com/rupa/z , cho phép bạn chuyển đến một thư mục được sử dụng gần đây bởi regex. Vì vậy, bạn có thể làm một cái gì đó như:

z foo3.*dest

thay vì:

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

(miễn là bạn đã truy cập thư mục đó trước đó và không có gì phù hợp hơn / thường xuyên được sử dụng phù hợp với regex đó)

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.