Anda harus membaca man bash di sistem Anda, khususnya bagian tentang Readline , karena ini adalah mekanisme input interaktif bash. The Bash manual di gnu.org memiliki bagian bagus di Commandline Editing yang akan membantu mengisi beberapa kesenjangan.
Secara default, Anda dapat menggunakan ini untuk bergerak di commandline (cukup cantumkan beberapa di sini; lihat tautan untuk daftar lengkap):
- Ctrl+ apindah ke awal baris (atau Hometergantung pada pengaturan terminal)
- Ctrl+ ebergerak ke akhir baris (atau End...)
- Meta+ fbergerak maju "kata"
- Meta+ bmemindahkan "kata" ke belakang
Anda dapat menggunakan ini untuk "membunuh" (alias "potong") teks dari baris:
- Ctrl+ kmembunuh ("memotong") teks dari posisi kursor saat ini ke akhir baris
- Ctrl+ yyanks ("pasta") teks yang terakhir terbunuh kembali ke buffer di kursor
Jadi, Anda dapat menggabungkan ini untuk memilih potongan dari beberapa baris perintah yang ingin Anda ulangi, membunuhnya, lalu menempelkannya ke akhir perintah berikutnya.
Sekarang, untuk membuatnya lebih menyenangkan, mari kita pertimbangkan Ekspansi Sejarah bash . Ini adalah bahwa !!
bahwa jawaban Studer ini menyebutkan . Ekspansi sejarah dipecah menjadi perancang acara , perancang kata , dan pengubah .
Perancang acara terlihat seperti ini (sekali lagi, lihat tautan untuk daftar lengkap):
!
- memulai substitusi sejarah
!n
- perintah ke-n dalam daftar riwayat bash, untuk beberapa bilangan bulat n (berfungsi untuk negatif juga)
!!
- perintah sebelumnya; setara dengan!-1
!string
- perintah terbaru yang dimulai dengan string
Penunjuk kata memilih bagian-bagian tertentu dari suatu peristiwa. Gunakan :
untuk memisahkan acara dari kata designator. Kata-kata diberi nomor dari 0 mulai dari awal baris, dan dimasukkan ke dalam baris saat ini dipisahkan oleh spasi tunggal.
$
- menunjuk argumen terakhir (mis. argumen !!:$
terakhir dari perintah terakhir; dapat disingkat menjadi !$
)
n
- menunjuk kata ke-n (mis. !str:2
adalah argumen ke-2 dari perintah terbaru yang dimulai dengan str ; !!:0
adalah perintah dari perintah terakhir)
Jadi, untuk menindaklanjuti contoh Anda, jika perintah terakhir Anda mkdir /some/really/long/path
, hanya menjalankan !!
akan menjalankan kembali perintah itu lagi. Tetapi Anda ingin cd
masuk ke jalur itu:
$ cd !$
Sekarang katakanlah Anda melakukan beberapa perintah lain dan kemudian ingin merujuk kembali ke jalur itu lagi. Jika itu adalah perintah mkdir terakhir yang Anda jalankan, Anda dapat menggunakan ini untuk mengulangi jalur itu:
$ tar czf ~/foo.tgz !mkdir:$