Saya menemukan diri saya membuka terminal dan kemudian banyak CD ke direktori yang sama jalan yang sangat panjang.
Ini berarti saya banyak melakukan cd dan menggunakan tab untuk mempercepat banyak hal.
Akan lebih bagus jika saya bisa memiliki semacam tautan ke direktori ini dan kemudian hanya cd untuk itu sehingga saya akan berada di direktori bersarang dalam dengan cepat.
Apakah ini mungkin?
git status
. Saya juga punya beberapa alias di blog saya.bash_profile
. Bukan apa yang Anda minta, tetapi terkait.Jawaban:
Inilah cara untuk berurusan dengan jalur yang rumit untuk
cd
sering.ini akan membuat tautan simbolik
Untuk menggunakan baru ini
Links
direktori efisien, jika shell login Andabash
hanya termasuk perintah ini di Anda~/.profile
(yang digunakan oleh semua kerang gaya Bournebash
,ksh
,zsh
...):Ini berarti bahwa untuk setiap
cd
, shell Anda akan mencari dalam 2 direktori untuk menemukan nama lokal:Anda tidak perlu memulai kembali sesi Anda untuk mengujinya, jalankan saja:
yang berarti baru saja membaca saya
~/.profile
. (Anda tidak perlu memasukkannya ke dalam~/.bashrc
karena Anda tidak perlu mengulang inisialisasi variabel yang sama ketika Anda tidak mengubahnya.)Setelah Anda mengujinya, Anda akan dapat memulai kembali sesi Anda;).
Mulai sekarang, setiap kali Anda ingin pergi,
there
Anda harus mengetik:sumber
cdora
kecd $ORACLE_HOME
dan semacamnya ...)Mendefinisikan alias adalah cara yang sangat mudah untuk memiliki singkatan pendek untuk perintah yang lebih panjang. Setelah Anda memiliki alias dengan benar, Anda dapat membuat bagian di file .bashrc Anda (atau file startup lainnya) sehingga Anda tidak perlu mengetik ulang alias ini untuk setiap shell baru yang Anda mulai:
dalam .bashrc:
dll.
Logout dan kembali (atau jalankan saja
. ~/.bashrc
) dan sekarang Anda bisa mengetikhttpdlog
dan menjalankan cd. Atauws4
dan itu benar-benar melakukan perintah ssh dll.Ini menghilangkan kebutuhan untuk membuat (sejumlah besar) tautan kosong yang akan menyebabkan direktori rumah Anda juga terlihat berantakan.
sumber
Coba gunakan autojump atau z .
Setelah menginstal salah satu dari keduanya, Anda hanya
cd
seperti biasa dan mereka mempelajari direktori yang paling sering dikunjungi dan memungkinkan Anda untuk pergi ke mereka hanya dengan mengetikkan bagian dari jalan:Saya lebih suka z dari keduanya.
sumber
Saya sangat merekomendasikan fasd yang mirip dengan autojump dan z tetapi IMHO lebih baik. Dari situs web:
sumber
Atau Anda dapat membuat alias. Lemparkan yang berikut ke dalam sesuatu seperti .bashrc atau .aliases
Kemudian pastikan bahwa file apa pun yang ada di dalamnya adalah
source
d. Alias saya ada di .bashrc, yang saya sumber dengan baris ini di .bash_profile:source ~/.bashrc
sumber
Menambahkan symlink kenyamanan tidak apa-apa untuk satu atau dua direktori khusus, tetapi sangat cepat menjadi susah diatur. Solusi yang jauh lebih baik adalah dengan menggunakan variabel lingkungan
CDPATH
, tersedia dibash
dan cangkang lain hanya untuk tujuan ini.CDPATH
adalah daftar yang dipisahkan oleh titik dua (sepertiPATH
) tempat untuk mencari nama direktori. Ini dapat berisi nama path absolut dan relatif. Saya punya set saya untuk sesuatu sepertiexport CDPATH=".:..:$HOME/work/repos:$HOME/projects:<etc>"
.Dengan pengaturan ini, saya dapat mengetik
cd pdftools
dari mana saja dan itu akan membawa saya ke~/projects/pdftools
. (Dengan symlink, aku harus mengetikcd ~/pdftools
jika saya tidak di direktori HOME saya.) Saya juga dapat jalan pintas ke subdirektori:cd pdftools/bin
.Di
..
dalam sayaCDPATH
izinkan saya mengetikcd sisterdir
alih-alihcd ../sisterdir
, dll. Seperti yang dapat Anda harapkan, ketika saya membuat direktori baru di mana saja di dalamCDPATH
mereka akan secara otomatis ditemukancd
- tidak perlu membuat symlink atau alias baru.Fitur ini menjadi lebih baik jika Anda menggunakan
bash_completion
file yang didistribusikan, misalnya, dengan sistem Debian. Itu tidak datang dengan kotak OS X saya, jadi saya mengambil salinan dan berfungsi dengan baik. (Dapatkan denganbrew
, atau hanya men-download secara manual dari sini .) File ini mendefinisikan perangkat tambahan untuk penyelesaian commandline, sehingga saya bisa mengetikcd pdf<TAB>
danpdftools
direktori ditemukan dan diperluas dari mana saja diCDPATH
.sumber
Tentu: Buat tautan simbolis
sumber
Saya suka menggunakan bashmarks untuk membuat "bookmark ke direktori" dengan mudah.
Lihat readme di: https://github.com/huyng/bashmarks
Catatan: Anda harus menginstal git untuk mengikuti proses instalasi tiga langkah bashmark: http://git-scm.com/download/mac
Semoga berhasil!
sumber
Atau Anda juga dapat mencoba memasang kerang ikan.
http://fishshell.com/
Ini memiliki prediksi yang sangat baik untuk perintah. Ini juga memungkinkan Anda mengetik huruf sensitif tanpa mengacaukan.
Kelemahan dari ikan adalah bahwa ia memiliki bahasa scripting sendiri dan mereka tidak kompatibel dengan bash.
sumber
Yang saya lakukan adalah mengetik "cd" dan kemudian tarik folder dari Finder ke Terminal yang menempel di path lengkap. Mungkin tidak cukup elegan, tetapi berfungsi untuk semua folder vs beberapa pintasan yang sudah ada?
sumber