Bermain dengan .bash_history

Ahad, 08 April 2007 | Software dan OS
Yang biasa menggunakan *NIX pasti tau dengan yang namanya bash. Saya sendiri sangat jarang bersentuhan dengan jenis shell lainnya. Sejak kenal *NIX sampai sekarang, yang saya gunakan adalah bash.. bash.. dan bash. File .bash_history merupakan tempat menyimpan history perintah-perintah yang kita ketikkan. Walaupun sebenarnya nama filenya tidak harus itu. Dengan adanya history ini kita tidak perlu mengetik ulang perintah yang sudah pernah dieksekusi sebelumnya. Cukup gunakan keyboard tombol panah atas-bawah, maka perintah-perintah sebelumnya akan muncul. Lalu.. tinggal Enter.

Beberapa konfigurasi yang bisa dilakukan pada file history di antaranya adalah :

HISTFILE, digunakan untuk menentukan nama file tempat history perintah disimpan. Nilai defaultnya adalah ~/.bash_history. Konfigurasi di bawah ini akan menyebabkan history perintah disimpan pada file .my_command_history.

HISTFILE=~/.my_command_history

Baris tersebut bisa anda tambahkan pada ~/.profile. Atau, bisa juga pada file konfigurasi bash ~/.bashrc, sehingga menjadi seperti berikut.

export HISTFILE=~/.my_command_history

Untuk beberapa alasan, anda mungkin ingin men-disable command history. Misalnya, anda tidak ingin ada orang lain mengetahui perintah apa saja yang anda ketik, bahkan oleh sysadmin sekalipun Untuk melakukan itu :

HISTFILE=/dev/null

Atau, bisa juga dengan memanfaatkan symbolic link. Pada shell ketikkan perintah berikut.

ln -s /dev/null ~/.bash_history


HISTSIZE, jumlah perintah yang akan disimpan pada HISTFILE. Misalnya, hanya 100 perintah yang akan disimpan.

HISTSIZE=100

Bisa juga di-set 0. Dengan demikian tidak ada perintah yang disimpan, atau dengan kata lain command history di-disable.

HISTFILESIZE, jumlah baris maksimum pada HISTFILE. Jika melebihi, maka file akan dipotong sampai barisnya tidak lagi melebihi batas maksimum.

HISTFILESIZE=500

Bisa juga di-set 0 seperti pada HISTSIZE.

HISTCONTROL, mengontrol bagaimana sebuah perintah disimpan pada HISTFILE. Penulisan nilai-nilainya dipisahkan oleh tanda titik dua.

HISTCONTROL=ignoreboth

"ignoreboth" digunakan untuk menghindari duplikasi perintah pada history. Perintah yang sama dengan sebelumnya tidak akan disimpan. Beberapa opsi lainnya "ignorespace", perintah yang diawali karakter spasi tidak disimpan. "erasedups", semua baris perintah sebelumnya yang memiliki kesamaan dengan baris perintah yang kita ketikkan akan dihapus, sebelum baris tersebut disimpan.



Komentar