Linux'ta bir yolu değiştirmek için bir kısayol ekleyebilir miyim?


33

Örneğin, her zaman bu yola giderim:

/ User / şey / somefolders / yerde

ama yazmak istemiyorum

cd / kullanıcı / bir şey / bazı klasörler / bir yere

Her zaman terminalde, bunu yapmak için kısa bir elim olabilir mi? örneğin, bir şey yapabilir miyim

cd commandPlace

yolu değiştirmek için?

Yanıtlar:


32

Bunun için ortam değişkenini kullanabilirsiniz CDPATH. Bash adam sayfasından:

CDPATH

Cd komutu için arama yolu. Bu, kolonun cd komutu tarafından belirtilen hedef dizinleri aradığı sütunlarla ayrılmış dizin listesidir. Örnek bir değer ".: ~: / Usr" dir.

Senin durumunda, ayarlayabilirsiniz

export CDPATH=.:/user/something/somefolders

içinde ~/.bashrcve sonra yazmanız cd somewheresizi yönlendirir /user/something/somefolders/somewhere( somewheregeçerli dizinde adında bir dizin olmadığını varsayarsak ).

Alternatif olarak, klasöre somewheregerçek ismiyle başvurmak /user/something/somefolders/somewhereistemiyorsanız, kullanmak istediğiniz isimle sembolik bir bağlantı içeren gizli bir dizin oluşturabilirsiniz . Ayrıca sık ziyaret ettiğiniz diğer dizinlere bağlantılar içerebilir. Sonra CDPATHbu gizli dizinin yolunu içerecek şekilde ayarlayın . Her ne kadar bu yöntemle, eğer sen cd somewhereve o zaman cd .., gizli dizine gireceksin. Bu sizin için bir sorun olabilir veya olmayabilir.


41

İki kısayol, bunun gibi şeyler için her zaman kullanıyorum:

Takma adlar

diğer adı somedir = 'cd / home / john / www / something /'

Sonra somedirbu dizine gitmek için yazabilirsiniz . Bunları da ekle .bashrc.

Sembolik Bağlantılar

-n / uzun / yol / dan / bazı / diğer / klasör / kısayol

Bu, /shortcuthangi linklere bağlanacağını gösterir /long/path/to/some/other/folder. Sonra /shortcutbunun yerine cd yazabilirsiniz . Bunun ihmali kök dizininizi (ya da hangi bağlantıları koyduğunuz dizini) oldukça hızlı doldurmasıdır. Takma adları tercih ederim.


güzel bir John!
Gob00st

ln -s /long/path/to/some/other/folder /shortcutBağlantıyı yapmak istediğim yerde kısayolu oluştururken bunun tersini yaptığımda olması gerekiyordu . Güncelleştirilmesi için bir düzenleme gönderdim.
Elias

1
Kökteki kısa bir adı olan bir dizini, örneğin /slve orada kısayollar oluşturmayı? (yani ln -s /long/path/to/some/other/folder /sl/shortcut? Kökte karışıklık yok, artı isteminizin yolunun bir sembolik bağlantı olduğunu görsel bir hatırlatma.
RolfBly 13:16

14

Bash etkileşimli aramasını her zaman kullanma eğilimindeyim. Dene. İle çağırmak ctrl + r ve gibi, yolun bir kısmını yazmaya başlayın yerde . Muhtemelen cd komutunuz açılacaktır. :)


9

"Alias" komutuna bakın.

Csh içinde:

alias commandplace "cd /user/something/somefolders/somewhere"

Sh içinde:

alias commandplace="cd /user/something/somefolders/somewhere"

Ama sembolik bağlantı çözümünü beğendim:

ln -s /user/something/somefolders/somewhere ~/commandplace 

Not: ln argümanları cp ile aynı sırada alır.


9

Yapabileceğiniz başka bir şey, söz konusu yolu bir ortam değişkeninde saklamaktır. Bu satırları ~/.profiledosyanıza ekleyin :

somedir=/user/something/somefolders/somewhere
export somedir

Daha sonra dizine erişebilirsiniz.

cd "$somedir"

1
Bu, şu ana kadarki en iyi çözüm imo, çünkü değişkeni herhangi bir komut için kullanabilirsiniz. Bir takma ad atarsanız, o takma ad her zaman cd gibi bir komuta bağlanır ...
BdN3504

Bu, umduğum ve aradığım çözüm. Nedenlerinden dolayı BdN3504 belirtti.
inspirednz

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.