Bu, bash'ın etkileşimli giriş mekanizması olduğundan, sisteminizdeki man bash'ı , özellikle Readline'daki bölümü okumalısınız . Gnu.org de Bash manuel güzel bir bölüm vardır Commandline Düzenleme boşlukların bazı irade yardım dolgu söyledi.
Varsayılan olarak, komut satırında dolaşmak için bunları kullanabilirsiniz (sadece birkaçını listelemek; tam liste için bağlantıya bakın):
- Ctrl+ asatırın başına gider (veya Hometerminal ayarlarına bağlı olarak)
- Ctrl+ esatırın sonuna gider (veya End...)
- Meta+ fbir "kelime" ilerler
- Meta+ bbir "kelime" geri gider
Bunları bir satırdaki metni "öldürmek" (diğer adıyla "kes") için kullanabilirsiniz :
- Ctrl+ kmevcut imleç konumundan satırın sonuna kadar metni öldürür ("keser")
- Ctrl+ yen son öldürülen metni imlecin arabelleğine geri çeker ("yapıştırır")
Böylece, tekrarlamak istediğiniz bazı komut satırlarının bir yığınını seçmek, bunları öldürmek ve ardından bir sonraki komutunuzun sonuna yapıştırmak için bunları birleştirebilirsiniz.
Şimdi, daha da eğlenceli hale getirmek için, bash'ın Tarih Açılımını ele alalım . Bu olmasıdır !!
olduğunu Studer cevabı bahseder . Tarih genişlemesi, olay göstergelerine , kelime belirleyicilerine ve değiştiricilere ayrılır .
Etkinlik belirleyicileri şöyle görünür (yine tüm listenin bağlantılarına bakın):
!
- tarih değişikliğine başlar
!n
- bash geçmiş listesindeki n-th komutu, bazı n tamsayıları için (negatifler için de çalışır)
!!
- önceki komut; eşittir!-1
!string
- string ile başlayan en son komut
Kelime belirleyicileri bir olaydan belirli bölümleri seçer. :
Olayı sözcük işaretleyiciden ayırmak için kullanın . Sözcükler, satırın başlangıcından başlayarak 0'dan numaralandırılır ve tek satırla ayrılmış olarak geçerli satıra eklenir.
$
- son argümanı belirtir (örn !!:$
. son komutun son argümanıdır ; kısaltılabilir !$
)
n
- atar n'inci kelime (örneğin !str:2
ile başlayan en son komutu 2 arg olduğu str ; !!:0
edilmektedir komutu son komutun)
Bu nedenle, örneğinizi takip etmek için, son komutunuz buysa mkdir /some/really/long/path
, çalıştırmak sadece !!
o komutu yeniden çalıştırır. Ama cd
bunun yerine bu yola girmek istiyorsunuz :
$ cd !$
Şimdi başka komutlar gerçekleştirdiğinizi ve sonra bu yola tekrar başvurmak istediğinizi varsayalım. Çalıştırdığınız son mkdir komutu buysa, bu yolu tekrarlamak için kullanabilirsiniz:
$ tar czf ~/foo.tgz !mkdir:$