GNU/Linux >> Belajar Linux >  >> Linux

Cara menggunakan perintah riwayat Bash

Bash memiliki sejarah yang kaya. Artinya, ini adalah cangkang tua dengan leluhur yang lebih tua (kulit Bourne), tetapi juga memiliki history yang hebat perintah yang melampaui semua antarmuka riwayat shell lainnya berdasarkan jumlah fiturnya. Versi Bash dari history memungkinkan pencarian terbalik, penarikan cepat, penulisan ulang riwayat, dan banyak lagi.

history perintah tidak seperti banyak perintah lainnya. Anda mungkin terbiasa dengan perintah yang berupa file yang dapat dieksekusi yang ditempatkan di lokasi tingkat sistem yang umum seperti /usr/bin , /usr/local/bin , atau ~/bin . history built bawaan perintah tidak ada di PATH . Anda dan tidak memiliki lokasi fisik:

$ histori yang mana

yang:tidak ada histori di [PATH]

Sebaliknya, history adalah fungsi bawaan dari shell itu sendiri:

$ ketik history
history adalah shell builtin
$ help history
history:history [-c] [-d offset] [n] atau
history -anrw [ nama file] atau
history -ps arg [arg...]

Menampilkan atau memanipulasi daftar riwayat.
[...]

Karena alasan itu, fungsi riwayat di setiap shell adalah unik, jadi apa yang Anda gunakan di Bash mungkin tidak berfungsi di Tcsh atau Fish atau Dash, dan apa yang Anda gunakan di itu mungkin tidak berfungsi di Bash. Dalam beberapa kasus, mengetahui apa yang dapat dilakukan Bash dapat menginspirasi pengguna shell lain untuk membuat peretasan yang menarik untuk mengkloning perilaku Bash, dan mungkin membuka fitur Bash yang tidak pernah Anda ketahui keberadaannya.

Melihat riwayat Bash Anda

Penggunaan history yang paling dasar dan paling sering perintahnya adalah untuk melihat riwayat sesi shell Anda:

$ echo "halo"
halo
$ echo "dunia"
dunia
$ sejarah
  1  echo "halo"
  2  echo "dunia "
  3  sejarah

Penanda acara

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Penanda acara menelusuri riwayat Anda berdasarkan peristiwa. Sebuah acara dalam konteks ini adalah perintah yang dicatat dalam riwayat Anda, digambarkan oleh karakter baris baru. Dengan kata lain, itu satu baris, ditandai dengan nomor indeks untuk referensi.

Penanda acara biasanya dimulai dengan tanda seru, terkadang juga disebut bang (! ).

Untuk menjalankan kembali perintah dari riwayat Anda, gunakan tanda seru yang diikuti segera (tanpa spasi) dengan nomor indeks dari perintah yang Anda inginkan. Misalnya, anggap baris 1 berisi perintah echo "hello" , dan Anda ingin menjalankannya lagi:

$ !1
echo "halo"
halo

Anda dapat menggunakan penentuan posisi relatif dengan memberikan jumlah negatif baris kembali dari posisi Anda saat ini dalam sejarah. Misalnya, untuk kembali ke tiga entri dalam sejarah:

$ echo "foo"
foo
$ echo "bar"
bar
$ echo "baz"
baz
$ !-3
echo "foo"
foo

Jika Anda hanya mundur satu baris, Anda dapat menggunakan singkatan !! bukannya !-1 . Itu adalah penghematan satu penekanan tombol penuh!

$ echo "foo"
$ !!
echo "foo"
foo

Anda juga dapat mencari string tertentu melalui entri, secara terbalik, untuk menjalankan perintah. Untuk mencari perintah mulai dengan string tertentu, gunakan tanda seru diikuti langsung (tanpa spasi) dengan string yang ingin Anda cari:

$ echo "foo"
$ true
$ false
$ !echo
echo "foo"
foo

Anda juga dapat mencari perintah yang berisi string di posisi apa pun (tidak hanya di awal). Untuk melakukannya, gunakan ! ditambah string yang Anda cari, seperti biasa, tetapi kelilingi string dengan tanda tanya di kedua ujungnya. Anda dapat menghilangkan tanda tanya tambahan jika Anda tahu bahwa string tersebut segera diikuti oleh karakter baris baru (artinya, ini adalah hal terakhir yang Anda ketik sebelum menekan Kembali ):

$ echo "foo"
$ true
$ false
$ !?foo?
echo "foo"
foo

Substitusi string

Mirip dengan mencari string di awal baris, Anda dapat mencari string dan menggantinya dengan string baru, dengan mengubah perintah:

$ echo "halo"
halo
$ echo "dunia"
dunia
$ ^hello^foo
echo "foo"
foo

Jadikan sejarah berguna

Di Bash, perintah history mampu melakukan lebih dari apa yang telah dibahas di sini, tetapi ini adalah awal yang baik untuk membiasakan diri menggunakan riwayat Anda alih-alih hanya memperlakukannya sebagai referensi. Gunakan history perintah sesering mungkin, dan lihat seberapa banyak yang dapat Anda lakukan tanpa harus mengetikkan perintah. Anda mungkin akan mengejutkan diri sendiri!


Linux
  1. Bagaimana Cara Mengubah Cron Shell (sh ke Bash)?

  2. Cara mengubah jumlah perintah yang disimpan di Bash History

  3. Bagaimana saya bisa menggunakan perintah alias dengan xargs?

  1. Cara menggunakan perintah history di Linux

  2. Cara menonaktifkan pengeditan riwayat saya di bash

  3. Cara mengatur waktu sekelompok perintah di Bash

  1. Cara Menghapus Riwayat Baris Perintah BASH di Linux

  2. Cara Menghapus Riwayat Bash di Linux

  3. bagaimana cara menggunakan kill SIGUSR2 di bash?