Linux cd .. command


9

Katakan jika saya harus sering melakukan ini:

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

Apakah ada cara yang lebih cepat untuk tidak selalu mengetik ../../../../berkali-kali? Adakah ide kreatif?


2
mengapa tidak mengeksekusi cd ../../../..dan menyelesaikannya saja?
— Red Cricket

8
Anda dapat menikmati pushddan popdatau bahkan cd -.
— jscott

1
Jika Anda pergi sejauh itu mungkin masuk akal untuk hanya cd / aktual / path / Anda / inginkan tergantung pada seberapa dalam folder pergi.
— Drew Khoury

Ini adalah upaya yang jauh lebih banyak daripada nilainya. Jika Anda berpindah di antara direktori, spesifikasi jalur lengkap atau hanya menggunakan cd -( untuk pergi ke direktori terakhir ) lebih mudah. Saya biasanya alias h="history|grep"agar saya bisa menggunakan pintasan entri riwayat sebagai gantinya. Sesuatu seperti h foo3, diikuti oleh !450untuk mengulangi perintah itu.
— ewwhite

Buka jendela terminal lain dan jangan mengetik cd ../../../ .. sama sekali
— Matt

Jawaban:


18

Cara klasik untuk melakukan ini adalah mengatur CDPATHvariabel. Dalam kasus Anda itu dapat diatur ke .:../../../../atau .:/path/to/the/parent/of/foountuk mencapai efek yang diinginkan. Anda kemudian dapat dengan mudah melakukan cd foo/sub1/bar/destdan sampai ke tempat yang Anda inginkan.

Keuntungan dari ini adalah bahwa penyelesaian tab untuk cdjuga melihat $CDPATHdan secara ajaib akan bekerja.


9

Anda dapat menggunakan autojump yang secara otomatis belajar dari perintah cd sebelumnya dan Anda hanya perlu menentukan string unik dari path lengkap lain kali. ex. j foo, j foo1, j foo2


7

Anda dapat membuat pintasan untuk perintah ini dengan menambahkan alias ke file konfigurasi bash (~ / .bashrc atau /etc/bash.bashrc)

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

Kemudian ketika Anda mengetiknya cddakan menjalankan perintah itu.


3
Ya, atau function cdd () { cd ../../../../$1/bar/dest ; }, sehingga maka Anda hanya bisa mengetik misalnya cdd foo, cdd foo2.
— Andrew Schulman

0

Saya baru-baru ini menemukan https://github.com/rupa/z , yang memungkinkan Anda melompat ke direktori yang baru saja digunakan oleh regex. Jadi Anda bisa melakukan sesuatu seperti:

z foo3.*dest

dari pada:

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

(selama Anda telah mengunjungi direktori itu sebelumnya, dan tidak ada yang lebih baru / sering digunakan yang cocok dengan regex)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.