Seçmeli olarak Linux terminalindeki Bash komut geçmişinde nasıl gezinilir [çift]


9

Bu sorunun zaten burada bir cevabı var:

Herkes bir terminalde yukarı ve aşağı ok tuşlarının kullanılmış komutların tarihçesi arasında gezinmek için kullanıldığını bilir (ya da bilmelidir!).

Terminali günlük olarak kullandığınızda, komut geçmişiniz muhtemelen birçok farklı komutun uzun bir listesi olacak ve böylece navigasyonun daha az kolay olmasına neden olacaktır. Örnek olarak, diyelim ki bir ay önce kullandım. iwconfig belirlenmiş bir parametre setiyle (dediğim gibi, bu sadece bir örnek, şu an onunla uğraşmaya ihtiyacım yok), belirli bir komutu yüzlerce geriye geri gitmeden tüm argümanları ve parametreleriyle nasıl hatırlayabilirim tarih komutları?

Kullanabileceğimi biliyorum history önceden kullanılan komutların bir listesine sahip olmak ve !n yeniden yürütmek n söz konusu listede emir vermek, ancak tarih büyüdükçe, o da pek pratik değildir.

İdeal olan şey, tarih boyunca gezinmek için bazı kısayol tuşlarını kullanmama izin verecek bir şeye sahip olmak, ancak komut satırında zaten yazdıklarımın bulunduğu örnekler arasında olacaktı; benim örneğimde, yazdıktan sonra iwconfigile başlayan girişlerde gezinmek için bazı tuşları kullanın (belki PgUp ve PgDown?) iwconfig .

Mümkün değilse, gibi bir liste yazdırmak da güzel olurdu history yapmak ama bu sadece zaten yazdıklarımı içerecek (sanıyorum ki history ve grep komut dahil ancak doğru sözdizimi konusunda emin değilim); ancak önceki kısayol tuşu çözümü en iyi seçenek olacaktır.

Yanıtlar:


12

Kullanarak geçmişi arayabilirsiniz Ctrl + R, ve sonra arama dizesini yazın (ör. iw bulmak iwconfig ). Daha sonra yukarı ve aşağı ok tuşlarıyla tarihin bu noktasında hala gezinebilirsiniz veya Ctrl + R, önceki oluşumu bulmak için tekrar.


İyi çalıştığını anladığımdan emin değilim. Ctrl + R tuşlarına basıp iwconfig, bana onu içeren bir örnek gösterir (zorunlu olarak en son değil), ancak ok tuşlarını kullanırsam, yalnızca dizeyi içerenleri değil, tüm öğelerin arasında gezinir. Bana göre navigasyona başlamak için tarihteki belirli bir noktayı seçmiş görünüyor (yukarı tuş gibi aşağıdan başlamak yerine), ama bunun dışında navigasyon her zamankiyle aynı. Bir şey mi kaçırdım?
Sekhemty

Hiç önemli olmadığını düşünüyorum, ama sadece durumunda, ben kullanıyorum konsole bağlantı emülatörü.
Sekhemty

Maalesef, önceki eşleşmeleri bulma konusundaki cevabımı güncelledim.
Stefan Seidel

5

Biraz pratik yaptıktan sonra geçici çözümün nasıl kullanılacağını öğrendim.

Filtrelenmiş bir liste yazdırmak için doğru sözdizimini eşleştirdim, bunu yaptım history | grep iwconfig (sonuçta o kadar zor değildi); çıktı ile kullanabilirim !n Şimdi kolay okunur filtrelenmiş listesi ile.


3
Ek bir numara: Kullan !n:p. Bu işlem eski komutu çalıştırmadan basar ve tarihinize geri koyar. Sonra tek bir yukarı ok tuşu ile ona gidin ve şimdi düzenleyebilirsiniz. Bunun gibi başka saçma numaralar da var: ss64.com/bash/history.html
Wandering Logic

3

Stefan'ın cevabı hakkında yorum yapamam, ancak normalde Ctrl + R tuşlarına basmaya devam etmeniz gerekir. Görmek bu sayfa daha fazla bilgi için.


2

"Ctrl + r" tuşlarına basın, ardından arama dizesini girin.

Aradığınız değil Daha sonra tekrar "ctrl + r"

Eğer bulunursa, yürütmek için Enter tuşuna basın Veya sağ ok tuşuna basın - & gt; kullanmadan önce düzenlemek için

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.