GNU/Linux >> Belajar Linux >  >> Linux

Perintah Sejarah di Linux (Riwayat Bash)

Jika Anda menghabiskan banyak waktu di baris perintah, melihat riwayat perintah yang telah Anda jalankan sebelumnya bisa menjadi fitur berguna yang dapat membuat pekerjaan Anda sehari-hari menjadi lebih mudah dan meningkatkan produktivitas Anda.

Pada artikel ini, kita akan berbicara tentang history perintah, yang memungkinkan Anda melihat daftar perintah yang dieksekusi sebelumnya, menelusuri daftar, dan memanipulasi file riwayat.

Menggunakan history Ekspansi Perintah dan Histori #

history adalah shell builtin, dan perilakunya mungkin sedikit berbeda dari shell ke shell. Kami akan membahas versi bawaan Bash dari history .

Dalam bentuknya yang paling sederhana, ketika dipanggil tanpa opsi atau argumen apa pun, history perintah menampilkan seluruh daftar riwayat dengan nomor baris.

history
...
467  git push
468  tail -f var/logs/error
469  nano +22,5 functions.sh
470  source project-env/bin/activate
471  history

Mengetik !n mengeksekusi perintah ke-n dari daftar riwayat, dan !-n perintah n baris kembali. Pada contoh berikut kita menjalankan perintah pada baris 467 :

!467

Cara lain untuk menjalankan perintah adalah dengan menggunakan !word ekspansi. word mengacu pada perintah terbaru yang dimulai dengan 'word'.

Biasanya, history menampilkan banyak baris output yang tidak muat di layar. Untuk melihat output satu halaman pada satu waktu, kirimkan ke program pager seperti more atau less perintah:

history | less

Untuk menampilkan n terakhir baris, berikan nomor sebagai argumen ke perintah. Misalnya, untuk hanya melihat lima baris terakhir dari daftar riwayat, ketik:

history -5

Gunakan tombol up dan down tombol panah untuk menavigasi entri dalam daftar. Ketika perintah yang Anda cari ditampilkan, tekan Enter untuk mengeksekusinya.

Ketik !! untuk menjalankan perintah sebelumnya:

!!

Ini sangat berguna ketika Anda lupa untuk menambahkan perintah dengan sudo , dan alih-alih mengetik ulang perintah, Anda dapat mengetik:

sudo !!

!-1 sama dengan !! dan menjalankan perintah terakhir dari daftar riwayat, !-2 detik terakhir, dan seterusnya.

^word1^word2^ ekspansi memungkinkan Anda menjalankan kembali perintah terakhir menggantikan "word1" dengan "word2". Jika Anda tidak sengaja mengetik sduo command alih-alih sudo command Anda dapat mengulangi perintah menggunakan kata yang benar dengan:

^sduo^sudo^

Gunakan grep perintah untuk menyaring output. Misalnya, untuk melihat semua perintah termasuk “nano” Anda akan menjalankan:

history | grep nano
302  sudo nano /etc/resolv.conf
356  nano setup.py
413  sudo nano /etc/hosts
469  nano +22,5 functions.sh

Sekarang, jika Anda ingin menjalankan kembali nano setup.py perintah cukup ketik:

!356

Cara lain untuk menelusuri riwayat perintah adalah dengan menekan Ctrl-R . Prompt akan berubah sebagai berikut, dan Anda dapat mulai mencari perintah yang dieksekusi sebelumnya.

(reverse-i-search)`':

Shell akan menampilkan garis yang cocok. Untuk pindah ke saran yang cocok berikutnya, tekan Ctrl-R lagi.

Periksa manual Bash untuk informasi lebih lanjut tentang Ekspansi Sejarah, pengubah, dan penanda.

Menyimpan Daftar Riwayat #

Secara default, saat memulai sesi baru, Bash membaca daftar riwayat dari .bash_history file . Daftar perintah yang dijalankan pada sesi saat ini disimpan dalam memori dan disimpan ke file saat sesi ditutup.

Jika Anda membuka beberapa sesi shell, hanya riwayat sesi yang terakhir ditutup yang disimpan.

-a opsi memungkinkan Anda untuk menyimpan daftar riwayat sesi saat ini ke .bash_history berkas:

history -a

-w opsi menulis daftar riwayat lengkap ke file riwayat.

history -w

Menghapus Riwayat #

history perintah memungkinkan Anda untuk menghapus daftar riwayat lengkap atau menghapus bagian tertentu.

Untuk menghapus daftar riwayat, gunakan -c pilihan:

history -c

Untuk menghapus baris atau garis tertentu antara posisi awal dan akhir dari daftar riwayat, gunakan -d pilihan.

Misalnya, untuk menghapus garis antara 365 dan 375 (termasuk garis tersebut), ketikkan:

history -d 365 375

Jika Anda hanya memberikan satu nomor ke -d pilihan, perintah menghapus baris yang diberikan.

Ketika bilangan bulat negatif digunakan, garis dihitung mundur dari akhir daftar riwayat.

Perintah di atas menghapus daftar riwayat, yang disimpan dalam memori, tetapi tidak menghapus entri dari .bash_history file pada disk. Untuk menghapus file, Anda perlu menulis daftar riwayat ke file:

history -chistory -w

Memodifikasi Perilaku Riwayat #

Perilaku sejarah Bash dapat didefinisikan menggunakan beberapa variabel lingkungan yang berbeda. Saat memodifikasi perilaku riwayat, setel variabel di ~/.bashrc atau file konfigurasi lainnya yang dimuat saat pengguna login.

Secara default Bash menyimpan 500 baris dalam daftar riwayat perintah. HISTSIZE variabel memungkinkan Anda untuk mengubah nilai ini. Untuk menyetelnya ke 10.000 tambahkan baris berikut ke .bashrc . Anda berkas:

HISTSIZE=10000

HISTCONTROL variabel menerima daftar nilai yang dipisahkan titik dua yang menentukan bagaimana perintah disimpan dalam daftar riwayat:

  • ignorespace - perintah yang dimulai dengan spasi tidak disimpan dalam daftar riwayat.
  • ignoredups - perintah duplikat tidak disimpan.
  • ignoreboth - adalah singkatan, termasuk ignorespace dan ignoredups .
HISTCONTROL=ignoreboth

Ketika HISTTIMEFORMAT variabel diatur, Bash menambahkan stempel waktu eksekusi untuk perintah di setiap baris.

Misalnya, jika Anda menyetel:

HISTTIMEFORMAT="%F %T: "

Sejarah akan ditampilkan dalam format berikut:

413  2019-10-27 21:13:07: sudo nano /etc/hosts

Kesimpulan #

history perintah menampilkan daftar perintah yang dieksekusi sebelumnya. Misalnya, Anda dapat menggunakan riwayat untuk melihat perintah panjang yang telah Anda gunakan sebelumnya yang tidak dapat Anda ingat.

Jika Anda memiliki pertanyaan atau umpan balik, silakan tinggalkan komentar.


Linux
  1. Cara Menghapus Riwayat Bash di Linux

  2. Perintah Sejarah di Linux Dijelaskan Secara Mendalam

  3. Cara Menghapus Perintah Tertentu Dari Riwayat Bash Di Linux

  1. Cara menggunakan perintah history di Linux

  2. Mengurai riwayat Bash di Linux

  3. UNIX / Linux :Contoh perintah bash history untuk mengulang perintah terakhir

  1. Cara Menghapus Riwayat Baris Perintah BASH di Linux

  2. Perintah mv Linux

  3. Linux du perintah