GNU/Linux >> Belajar Linux >  >> Linux

Jadikan riwayat Bash lebih bermanfaat dengan kiat-kiat ini

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!


Linux
  1. Mengurai riwayat Bash di Linux

  2. Menggunakan pengubah kata dengan riwayat Bash di Linux

  3. Tips lainnya untuk mengemas perangkat lunak Linux Anda dengan RPM

  1. Jadikan output du lebih berguna dengan trik rapi ini

  2. Bash -c Dengan Parameter Posisi?

  3. Alias ​​​​dengan variabel di bash

  1. Cara menggunakan perintah riwayat Bash

  2. Kiat bash untuk sehari-hari di baris perintah

  3. du -h dengan lebih banyak tempat desimal