Terminal Linux yang menjalankan Bash memiliki riwayat bawaan yang dapat Anda gunakan untuk melacak apa yang telah Anda lakukan belakangan ini. Untuk melihat riwayat sesi Bash Anda, gunakan perintah bawaan history
:
$ echo "foo"
foo
$ echo "bar"
bar
$ history
1 echo "foo"
2 echo "bar"
3 history
history
perintah bukanlah file yang dapat dieksekusi pada sistem file Anda, seperti kebanyakan perintah, tetapi fungsi Bash. Anda dapat memverifikasi ini dengan menggunakan type
perintah:
$ type history
history is a shell builtin
Kontrol riwayat
Batas atas baris dalam riwayat shell Anda ditentukan oleh HISTSIZE
variabel. Anda dapat mengatur variabel ini di .bashrc
. Anda mengajukan. Berikut ini menyetel riwayat Anda menjadi 3.000 baris, setelah itu baris terlama dihapus untuk memberi ruang bagi perintah terbaru, yang ditempatkan di bagian bawah daftar:
export HISTSIZE=3000
Ada juga variabel terkait sejarah lainnya. HISTCONTROL
variabel mengontrol riwayat apa yang disimpan. Anda dapat memaksa Bash untuk mengecualikan perintah yang dimulai dengan ruang kosong dengan menempatkan ini di .bashrc
. Anda berkas:
export HISTCONTROL=$HISTCONTROL:ignorespace
Sekarang, jika Anda mengetik perintah yang dimulai dengan spasi, perintah itu tidak akan dicatat dalam riwayat:
$ echo "hello"
$ mysql -u bogus -h badpassword123 mydatabase
$ echo "world"
$ history
1 echo "hello"
2 echo "world"
3 history
Anda juga dapat menghindari entri duplikat:
export HISTCONTROL=$HISTCONTROL:ignoredups
Sekarang, jika Anda mengetik dua perintah, satu demi satu, hanya satu yang muncul dalam riwayat:
$ ls
$ ls
$ ls
$ history
1 ls
2 history
Jika Anda suka kedua pengabaian ini, Anda bisa menggunakan ignoreboth
:
export HISTCONTROL=$HISTCONTROL:ignoreboth
Hapus perintah dari riwayat
Kadang-kadang Anda membuat kesalahan dan mengetik sesuatu yang sensitif ke dalam shell Anda, atau mungkin Anda hanya ingin membersihkan riwayat Anda sehingga lebih akurat mewakili langkah-langkah yang Anda ambil untuk membuat sesuatu bekerja dengan benar. Jika Anda ingin menghapus perintah dari riwayat Anda di Bash, gunakan -d
opsi dengan nomor baris item yang ingin Anda hapus:
$ echo "foo"
foo
$ echo "bar"
bar
$ history | tail
535 echo "foo"
536 echo "bar"
537 history | tail
$ history -d 536
$ history | tail
535 echo "foo"
536 history | tail
537 history -d 536
538 history | tail
Untuk berhenti menambahkan history
entri, Anda dapat menempatkan space
sebelum perintah, selama Anda memiliki ignorespace
di HISTCONTROL
. Anda variabel lingkungan:
$ history | tail
535 echo "foo"
536 echo "bar"
$ history -d 536
$ history | tail
535 echo "foo"
Anda dapat menghapus seluruh riwayat sesi dengan -c
pilihan:
$ history -c
$ history
$
Pelajaran sejarah
Selengkapnya tentang Bash
- Lembar contekan bash
- Pengantar pemrograman dengan Bash
- Panduan sysadmin untuk skrip Bash
- Artikel Bash terbaru
Memanipulasi sejarah biasanya kurang berbahaya daripada kedengarannya, terutama ketika Anda mengaturnya dengan tujuan tertentu. Misalnya, jika Anda mendokumentasikan masalah yang kompleks, sering kali yang terbaik adalah menggunakan riwayat sesi Anda untuk merekam perintah Anda karena, dengan memasukkannya ke dalam riwayat Anda, Anda menjalankannya dan dengan demikian menguji prosesnya. Sangat sering, mendokumentasikan tanpa melakukan mengarah pada mengabaikan langkah-langkah kecil atau salah menulis detail kecil.
Gunakan sesi sejarah Anda sesuai kebutuhan, dan latih kekuatan Anda atas sejarah dengan bijak. Selamat meretas sejarah!