GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan Fitur Riwayat Pada Bash Shell Di Server Ubuntu 16.04 LTS

Bash (Bourne again shell) adalah shell populer yang digunakan pada sebagian besar sistem mirip UNIX. Bash ditulis oleh Brian Fox sebagai Proyek GNU. Ini menggabungkan fitur dari Bourne shell, C shell, dan Korn shell. Pengguna yang menghabiskan waktu mereka di baris perintah menggunakan bash shell sering ingin mengulangi perintah yang dieksekusi di masa lalu. Fitur riwayat shell Bash membantu mengingat perintah terbaru dan menggunakannya kembali nanti; sehingga menghemat waktu untuk mengetik ulang. Mari kita mulai!

Riwayat Cantuman

Saat sejarah perintah yang digunakan tanpa argumen yang diteruskan, itu akan menampilkan perintah terbaru yang digunakan dengan nomor baris yang sesuai.

$ history 

Outputnya akan mirip dengan berikut ini:

Mencantumkan perintah 'n' terakhir yang dieksekusi

Dengan menggunakan "history ", perintah 'n' terakhir yang dieksekusi dapat diambil sebagai berikut:

$ history 7 

Jalankan perintah tertentu dari riwayat

Dimungkinkan untuk menjalankan perintah tertentu dari sejarah. Menggunakan tanda seru diikuti dengan jumlah perintah seperti yang tercantum dalam sejarah akan melakukan keajaiban. Misalnya, perintah berikut jalankan kembali perintah yang memiliki nomor 7 (du –sh) sebagai berikut:

$ !7 

Jalankan kembali perintah sebelumnya

Dalam banyak situasi, kita perlu menjalankan perintah lagi dan lagi. Perintah di bawah ini akan melakukan pekerjaan itu dengan menjalankan perintah sebelumnya yang digunakan.

$ !!
Or
$ !-1  

Mencari perintah

Output yang dihasilkan oleh sejarah dapat digunakan dalam beberapa cara. Misalnya, output histori dapat diteruskan ke – more, tail, grep untuk mengambil output yang diinginkan.

Cari riwayat perintah untuk "gratis":$ history | grep free Untuk melihat hanya 4 perintah terakhir:

$ history | tail -4 

Perintah more memungkinkan menampilkan output di terminal satu halaman pada satu waktu:

$ history | more   

Jalankan perintah sebelumnya yang dimulai dengan kata tertentu

Menggunakan tanda seru diikuti dengan kata tertentu dari perintah akan melakukan keajaiban!. Misalkan pengguna telah mengeksekusi – ”free –h”. Mengetik '!free' akan menjalankan kembali perintah 'free –h'.

Menghapus riwayat

Dimungkinkan untuk menghapus riwayat dengan perintah di bawah ini: ​ $ history -c Ini menghapus semua perintah di memori bash shell untuk sesi pengguna saat ini.

Alias ​​yang berguna

Alias ​​​​adalah nama pendek yang diberikan untuk perintah yang panjang dan kompleks. Alias ​​karakter tunggal sederhana untuk perintah histori.

$ alias 'h=history' 

Alias ​​​​di bawah ini "ht" menampilkan sepuluh perintah terbaru –

$ alias 'ht=history | tail' 

Alias ​​​​di bawah ini "hg" memungkinkan menampilkan semua perintah yang cocok dengan string yang diberikan –

$ alias 'hg=history | grep' 

Tambahkan alias ini di file “~/.bashrc” untuk membuatnya tetap ada setiap kali sistem melakukan booting.

Setelan konfigurasi riwayat

Variabel Bash Shell Deskripsi
HISTFILE ​Lokasi file fisik tempat history menyimpan perintah. Bash shell default ke "~/.bash_history". Menyetel “/dev/null”, akan menonaktifkan perekaman riwayat.
HISTFILESIZE ​Mengacu pada sejumlah perintah untuk disimpan dalam file riwayat.
HISTSIZE ​Mengacu pada sejumlah perintah yang disimpan dalam memori dalam daftar riwayat. Menyetel nilai 0 (nol) akan menonaktifkan perekaman riwayat.
HISTIGNORE ​Terkadang diperlukan untuk tidak menyimpan beberapa jenis perintah. Variabel ini mengambil daftar pola yang dipisahkan titik dua. Misalnya, konfigurasi di bawah ini membuat fitur history tidak merekam perintah:ls, top dan clear.

HISTIGNORE=”ls*:top:clear” 
HISTTIMEFORMAT ​Variabel HISTTIMEFORMAT ini memungkinkan menampilkan riwayat dengan cap waktu.

Menyetel HISTTIMEFORMAT ke '%F %T  ' menghasilkan hasil di bawah ini.​ Ini adalah perintah yang sangat berguna untuk administrator sistem.
HISTCONTROL ​HISTCONTROL membantu dalam mengabaikan duplikat. HISTCONTROL dapat disetel dengan nilai: hapus, abaikan spasi, abaikan, atau abaikan keduanya. (dipisahkan dengan titik dua)Berikut adalah beberapa contohnya: HISTCONTROL=ignoredups:erasedups
HISTCONTROL=ignorebothMisalkan entri riwayat berisi duplikat sebagai berikut (“atas” dan “ls –latr” diulang secara berurutan)​Jika HISTCONTROL disetel ke “diabaikan ” maka akan muncul history seperti di bawah ini:

Setelan konfigurasi lanjutan

Bash menyimpan daftar perintah secara internal di memori dan ditulis ke dalam file yang dikonfigurasi (defaultnya adalah .bash_history) saat keluar. Ketika pengguna keluar dari shell, baris $HISTSIZE terakhir disalin dari daftar riwayat ke file yang disetel ke $HISTFILE. Jika pengguna masuk dengan banyak sesi bash, hanya yang terakhir keluar yang akan menyimpan riwayatnya. Jika riwayat perintah akan segera ditulis saat dan ketika perintah dijalankan dalam sesi pengguna, konfigurasi berikut dapat diatur dalam file “.bashrc”.

$ shopt -s histappend $ PROMPT_COMMAND=”sejarah -a; sejarah -c; history -r” “shopt –s histappend” aktifkan append alih-alih menimpa history.
“history -a” digunakan untuk menambahkan perintah history di memori ke ~/.bash_history
“history -c” digunakan untuk menghapus perintah histori di memori
“history -r” digunakan untuk membaca perintah histori dari ~/.bash_history ke memori
File “~/.bashrc” tipikal dengan pengaturan konfigurasi terkait histori akan muncul seperti di bawah ini:# mengontrol ukuran perintah yang akan disimpan dalam memori
HISTSIZE=2000# mengontrol ukuran perintah yang akan disimpan dalam file
HISTFILESIZE=10000

# lokasi file fisik tempat perintah ditulis
HISTFILE=/var/users/rjujare/.bash_history

#Format untuk tujuan perekaman dan tampilan:penyertaan cap waktu
HISTTIMEFORMAT='%F %T '

# abaikan perintah umum seperti ls
HISTIGNORE="ls:id:uname:clear:top"

# abaikan perintah duplikat dan perintah yang dimulai dengan spasi
HISTCONTROL=abaikan keduanya
# tambahkan, jangan timpa histori
shopt -s histappend
PROMPT_COMMAND=”history -a; sejarah -c; sejarah -r”

Bagaimana cara menyimpan konfigurasi?

Buka file ~/.bashrc dengan editor favorit Anda untuk mengubah setelan. Ketika perubahan selesai, simpan file dan keluar. Untuk mendapatkan efek perubahan, sumber file menggunakan perintah 'sumber' sebagai berikut:

$ source ~/.bashrc   

Kesimpulan

Bash shell hadir dengan banyak fitur berguna dan salah satunya adalah sejarah. Fitur-fitur ini sangat meningkatkan produktivitas administrator dan pengguna biasa juga. Jangan lupa untuk berbagi pengalaman Anda sendiri dengan sejarah!


Linux
  1. Cara menonaktifkan pengeditan riwayat saya di bash

  2. Skrip Bash:Menggunakan perintah skrip dari skrip bash untuk mencatat sesi

  3. Bagaimana caranya:Riwayat Bash/Shell yang tidak terbatas?

  1. Cara Menghapus Riwayat Bash di Linux

  2. Bagaimana Agar Type-ahead Terapkan Ke Bash History Search (ctrl-r)?

  3. Menggunakan Perintah Tidur Linux di Skrip Bash

  1. Perintah Sejarah di Linux (Riwayat Bash)

  2. Pisahkan keluaran perintah dengan kolom menggunakan Bash?

  3. Bagaimana cara menjalankan perintah berkali-kali, menggunakan bash Shell?