Bash'in mevcut tarih ve geçmiş arama özelliklerini birleştirebilirsiniz. Ctrl-RArtımlı geriye doğru aramaya başlamak için düğmesine basın , ardından yolun benzersiz olması en muhtemel kısmını yazmaya başlayın.
Bu cddizini içeren en son komutta geri gelinceye kadar harf yazmaya devam edebilir veya Ctrl-Rgeçmişe kadar yazdıklarınızla eşleşen bir sonraki en yeni komuta geri dönmek için tekrar basabilirsiniz .
Bunu her zaman yapıyorum.
Aslında bir adım daha ileri götürüyorum. Ben bir kabuk taahhüdünde komutları dizileri tarihinin korumaya değer ama değmez keşfetmeye başladıktan sonra, ben onları zincirlerle başlamadan &&ve ;combinators ben böylece o bir uzun komut, hit alt dizisiyle için ters aramak Enterve en bütün diziyi çalıştırmak bir Zamanlar.
Örneğin, geliştirme sırasında programlarımdan birini nasıl oluşturup çalıştırıyorum:
$ ( cd .. ; make install ) && ./start_my_program
Bunu, üst düzey kaynak dizininin altındaki yükleme dizininden yapıyorum. cdBir alt kabuğa yapıyı ve parçayı sararak, bu işlem sırasında ne olursa olsun, hiçbir şey değişmeden normal kabuğuma döndüğümden eminim. Ancak bu başarılı olursa (&&), yerleşik ve yüklü programı başlatırım. Ben sadece bir ile benim tarihinin bu bulabilirsiniz Ctrl-Rsonra stabütün Genellikle benzersiz bu komut dizisini bulmalıyız ediliyor ki.
Bunu nasıl kullandığımı gösteren başka bir örnek, aynı program için RPM'lerin oluşturulmasına giden sıradır. Can sıkıcı işlerin çoğu kabuk betiklerinde, ancak nadiren yeniden yazmak zorunda kaldığım yerleşik RPM'leri oluşturmak ve dağıtmak için normalde yazmam gereken bazı komutlar var. benim için tarihte.
Tüm bu birleştirin export HISTSIZE=bignumve shopt histappendve sadece bir fil komut hafızası kurduk.
Bir keresinde yukarı kodlu Başka bir çözüm olduğunu cevabım için burada başka bir soruya . Amaçlarınıza göre uyarlanmış olması gerekebilir ve yalnızca cdkomutları işler ; geçmiş arama seçeneği her yerde ve her komut için çalışır.