Pendahuluan
history command di Linux adalah alat shell bawaan yang menampilkan daftar perintah yang digunakan dalam sesi terminal. history memungkinkan pengguna untuk menggunakan kembali perintah apa pun yang terdaftar tanpa mengetik ulang.
Dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana history perintah bekerja dan cara berbeda untuk menggunakannya.
Prasyarat
- Sistem yang menjalankan Linux.
- Akun dengan hak istimewa sudo.
- Akses ke jendela terminal.
Cara Menggunakan Perintah sejarah Linux
Menggunakan history perintah tanpa opsi menampilkan daftar perintah yang digunakan sejak awal sesi terminal:
history
Untuk menampilkan daftar riwayat perintah dengan jumlah entri yang terbatas, tambahkan nomor tersebut ke history memerintah. Misalnya, untuk hanya menampilkan lima entri terbaru, gunakan:
history 5
Setelah Anda menutup terminal, shell Bash menyimpan entri riwayat perintah baru di .bash_history berkas.
Gunakan Tanggal dan Stempel Waktu
.bashrc file menyimpan pengaturan Bash shell. Memodifikasi file ini memungkinkan Anda mengubah format keluaran history perintah.
Buka .bashrc file menggunakan editor teks seperti Nano:
sudo nano .bashrc Untuk mengubah format output untuk menyertakan tanggal dan stempel waktu, tambahkan baris berikut ke .bashrc berkas:
export HISTTIMEFORMAT="%c "
Menggunakan argumen yang berbeda setelah HISTTIMEFORMAT memungkinkan Anda untuk menyesuaikan tingkat detail dalam stempel waktu:
%d:Hari%m:Bulan%y:Tahun%H:Jam%M:Menit%S:Detik%F:Tanggal lengkap (format Y-M-D)%T:Waktu (format H:M:S)%c:Tanggal dan stempel waktu lengkap (format Hari-H-M-Y H:M:S)
Simpan perubahan ke .bashrc file, luncurkan ulang terminal, dan jalankan history perintah untuk mengkonfirmasi format keluaran baru:
history
Melihat Ukuran Buffer Sejarah
.bashrc file berisi dua entri yang mengontrol ukuran buffer histori:
HISTSIZE:Jumlah maksimum entri untuk daftar riwayat.HISTFILESIZE:Jumlah maksimum entri dalam .bash_history berkas.
Mengedit HISTSIZE dan HISTFILESIZE nilai mengubah cara shell Bash menampilkan dan menyimpan riwayat perintah.
Misalnya, mengubah HISTSIZE nilai ke 10 membuat history daftar perintah menampilkan maksimal 10 entri terbaru.
Menyimpan perubahan ke .bashrc file, meluncurkan kembali terminal, dan menjalankan history perintah mengkonfirmasi format keluaran baru:
history
Ulangi Perintah
Menjalankan history perintah memungkinkan Anda untuk menggunakan kembali salah satu perintah pada daftar. Misalnya, untuk menjalankan perintah pertama (sudo apt update ) lagi, gunakan:
!1
Menambahkan tanda hubung (- ) sebelum nomor perintah memulai hitungan dari akhir daftar. Misalnya, untuk menggunakan kembali perintah terakhir kesepuluh (history 5 ), gunakan:
!-10
Gunakan tanda seru ganda untuk mengulangi perintah terakhir:
!!
Cari Perintah dengan String
Menambahkan string setelah tanda seru menjalankan perintah terbaru yang dimulai dengan string itu. Misalnya, untuk menggunakan kembali perintah terbaru yang dimulai dengan sudo , gunakan:
!sudo
Menggunakan metode ini dapat menyebabkan masalah jika shell menjalankan perintah yang tidak terduga, terutama saat mencari perintah yang dimulai dengan sudo . Sebagai tindakan pencegahan, tambahkan :p argumen menampilkan perintah tanpa menjalankannya, memungkinkan Anda untuk meninjau perintah dan memutuskan apakah Anda ingin menjalankannya.
!sudo:p
Untuk mencari perintah yang berisi string, tetapi mungkin tidak dimulai dengannya, tambahkan tanda tanya di sebelah tanda seru. Misalnya, untuk menggunakan kembali perintah terakhir yang berisi echo :
!?echo
Pada contoh di atas, shell menggunakan kembali perintah terakhir yang berisi echo string meskipun perintah dimulai dengan sudo .
Mencantumkan Perintah yang Cocok
Menggabungkan history dan grep memungkinkan Anda untuk menampilkan daftar perintah yang berisi string. Misalnya, untuk membuat daftar semua perintah yang mengandung ufw , gunakan:
history | grep ufw
Ubah Perintah yang Dieksekusi
Gunakan sintaks berikut untuk mengubah perintah yang terakhir dieksekusi:
^[old string]^[new string]^
Misalnya, ufw perintah untuk mengaktifkan port 20 menunjukkan bahwa port sudah diaktifkan:
sudo ufw allow 20/tcp
Gunakan sintaks di atas untuk mengubah nomor port dari 20 menjadi 22:
^20^22^
Mencegah Perintah Merekam dalam Riwayat
Untuk mencegah perintah perekaman dalam daftar riwayat, nonaktifkan perekaman untuk sementara dengan menggunakan:
set +o history Untuk mengaktifkan kembali perekaman, gunakan:
set -o history Hapus Riwayat
Gunakan -d opsi dengan history perintah untuk menghapus perintah dari daftar riwayat. Misalnya, hapus perintah nomor 87 dengan:
history -d 87
Gunakan -c opsi untuk menghapus seluruh daftar riwayat:
history -c Perbarui File Riwayat
Shell Bash menyimpan pembaruan apa pun ke daftar riwayat perintah saat Anda keluar dari sesi terminal. history perintah juga memungkinkan Anda untuk menyimpan perubahan saat berada di sesi terminal.
Menggunakan -a opsi memungkinkan Anda menambahkan entri riwayat perintah dari sesi ini ke .bash_history berkas:
history -a
Metode lain adalah dengan menggunakan -w opsi untuk menyimpan seluruh daftar riwayat ke .bash_history berkas:
history -w