24Aug

Cara Menggunakan Sejarah Bash Anda di Terminal Linux atau macOS

click fraud protection

Bash shell adalah lingkungan terminal standar yang disertakan dengan sebagian besar distribusi Linux, disertakan dengan macos, dan tersedia untuk instalasi pada Windows 10. Ia mengingat perintah yang Anda ketik dan menyimpannya dalam file sejarah. Anda mungkin tahu beberapa dasar sejarah bash, tapi ini jauh lebih hebat daripada yang mungkin Anda sadari.

Keyboard Shortcuts

Untuk menelusuri sejarah bash Anda, Anda dapat menggunakan beberapa cara pintas keyboard bash yang berguna. Tekan pintasan dan perintah yang sebelumnya Anda gunakan akan muncul di prompt.

  • Panah Atas atau Ctrl + P : Pergi ke perintah sebelumnya dalam sejarah Anda. Tekan tombol beberapa kali untuk berjalan mundur melalui perintah yang telah Anda gunakan.
  • Panah Bawah atau Ctrl + N : Masuk ke perintah berikutnya dalam riwayat Anda. Tekan tombol beberapa kali untuk berjalan ke depan melalui perintah yang telah Anda gunakan.
  • Alt + R : Kembalikan setiap perubahan pada perintah yang Anda tarik dari riwayat Anda jika Anda telah mengeditnya pada baris saat ini.
instagram viewer

Bash juga memiliki mode "recall" khusus yang dapat Anda gunakan untuk mencari perintah yang sebelumnya Anda jalankan, daripada menggulirnya satu per satu.

  • Ctrl + R : Ingat perintah terakhir yang cocok dengan karakter yang Anda berikan. Tekan pintasan ini dan mulai mengetik untuk mencari riwayat bash Anda untuk sebuah perintah.
  • Ctrl + O : Jalankan perintah yang Anda temukan dengan Ctrl + R.
  • Ctrl + G : Tinggalkan mode pencarian sejarah tanpa menjalankan perintah.

Melihat Sejarah Bash Anda

Anda dapat mencetak seluruh riwayat bash Anda ke layar dengan menjalankan satu perintah:

history

Anda akan melihat daftar semua perintah dalam riwayat bash Anda, bersama dengan angka di sebelah kiri masing-masing. Perintah dengan "1" di sebelahnya adalah perintah tertua dalam sejarah bash Anda, sedangkan perintah dengan angka tertinggi adalah yang terbaru.

Anda bisa melakukan apapun yang Anda suka dengan outputnya. Misalnya, Anda bisa menyambungnya ke perintah grepcommand untuk mencari riwayat perintah Anda. Sejarah

|grep your_search

Anda juga bisa menyalurkannya ke perintah ekor untuk melihat hanya sejumlah kecil perintah terbaru yang Anda jalankan. Misalnya, perintah berikut akan menampilkan 5 entri terakhir dalam riwayat Anda. Sejarah

|tail -5

Jalankan Perintah Dari Sejarah Anda

Bash dapat dengan cepat "memperluas" perintah sebelumnya, atau mengembangkannya dan memodifikasinya. Fitur ini dikenal sebagai "history expansion" dan menggunakan tanda seru, yang dikenal sebagai "bang".Ketik saja pada prompt dan tekan Enter untuk menjalankannya seperti Anda menjalankan perintah lainnya.

Untuk menjalankan perintah tertentu dari riwayat Anda dengan nomornya, gunakan perintah berikut:

! #

Sebagai contoh, katakanlah Anda ingin menjalankan perintah ke 12 dari riwayat bash Anda. Itu perintah dengan "12" di sebelah kiri saat Anda menjalankan perintah sejarah. Anda akan mengetikkan perintah berikut.

! 12

Untuk menjalankan kembali perintah terakhir yang Anda jalankan, ketik berikut ini. Ini memiliki efek yang sama dengan menekan panah ke atas sekali untuk melihat perintah sebelumnya dan kemudian menekan Enter.

! !

Anda juga bisa merujuk ke sebuah perintah sejumlah baris kembali. Misalnya,! -2 akan menjalankan perintah kedua sampai terakhir yang Anda jalankan.!!berarti hal yang sama dengan! -1.

Ekspansi ini bekerja di manapun di telepon. Anda dapat menambahkan apapun yang Anda suka sebelum atau sesudah! !atau ungkapan lain di bagian ini. Sebagai contoh, Anda dapat mengetikkan perintah berikut untuk menjalankan kembali perintah terakhir yang Anda jalankan melalui sudo, memberinya hak istimewa root. Ini sangat berguna jika Anda lupa menambahkan sudo sebelum menjalankan perintah.

sudo! !

Atau, misalnya, Anda bisa memutarkan kembali perintah sebelumnya dan menyalurkan outputnya ke grep untuk mencari beberapa teks.

! !|grep text

Untuk mencari perintah dalam riwayat Anda dan menjalankannya, ketik berikut ini. Ini akan menjalankan perintah terakhir yang sesuai dengan teks yang Anda tentukan:

! Text

Jadi, jika Anda baru menjalankan perintah yang dimulai dengan ping, Anda dapat menjalankan perintah berikut untuk mencarinya. Ini akan mencari mundur melalui sejarah Anda, temukan perintah terbaru yang dimulai dengan "pi", dan segera jalankan:

! Pi

Anda bisa menambahkan a: p ke salah satu ekspansinya di atas dan bash akan mencetak perintah ke terminal tanpa menjalankannya. Ini berguna jika Anda ingin memastikan bahwa Anda memilih perintah yang benar sebelum menjalankannya.

Menggunakan Kembali Argumen Dari Sejarah Anda

Bash juga memungkinkan Anda menjalankan perintah baru, namun gunakan argumen dari perintah sebelumnya dalam sejarah Anda. Ini dapat membantu Anda dengan cepat menggunakan kembali argumen yang panjang atau rumit tanpa harus mengetikkannya kembali. Perintah

! $

Sebagai contoh, katakanlah Anda menjalankan perintah sentuh /home/chris/ some_long_file_name_you_dont_want_to_type_again. Anda sekarang ingin menjalankan perintah nano /home/chris/ some_long_file_name_you_dont_want_to_type_again. Daripada mengetik semuanya dari nol, Anda bisa menjalankan:

nano! $

$! Akan membuat bash secara otomatis mengisi argumen terakhir dari perintah Anda sebelumnya.

Ini hanya mengisi argumen terakhir. Jadi, jika Anda menjalankan ping google.com -c 4 lalu jalankan ping! $, Ini hanya akan berkembang menjadi "ping 4".

Untuk memperbaiki situasi ini, Anda dapat menggunakan trik berikut untuk memperluas argumen pertama di telepon, bukan yang terakhir: perintah

! ^

Jadi, jika Anda menjalankan ping google.com -c 4 dan kemudian berlari ping! ^,bash akan memperluas ini ke "ping google.com".

Untuk mengisi semua argumen yang digunakan pada perintah sebelumnya, bukan hanya argumen tunggal, Anda akan menggunakan yang berikut ini: perintah

!

Jadi, jika Anda menjalankan ping!* Sebagai gantinya, bash akan otomatis mengisi semua argumen yang Anda gunakan pada perintah sebelumnya.

Anda dapat menggunakan trik yang sama dengan yang Anda gunakan untuk menjalankan perintah dari riwayat Anda untuk mendapatkan argumen dari mereka. Hanya gunakan formulir berikut perintah

abc:#

Sebagai contoh, kita menjalankan perintah sudo hostname ubuntu tadi. Jika kita menjalankan perintah berikut, bash akan mencari mundur melalui sejarah untuk menemukan perintah terakhir yang dimulai dengan huruf yang kita ketik dan isi argumen yang kita tentukan.kita jalankan echo! su: 2, bash akan mencari kembali untuk menemukan perintah terakhir yang dimulai dengan "su" dan mengisi argumen keduanya, yaitu "ubuntu".

Trik lainnya bekerja seperti yang Anda duga. Sebagai contoh, mengganti nomor dengan tanda bintang, yang dikenal sebagai wildcard, menyebabkan bash untuk mengisi semua argumen dari perintah: perintah

! Abc: *

Jalankan kembali Perintah Sebelumnya dan Ubah Ini

Bash juga memungkinkan Anda untuk memutarkan perintah sebelumnyadan tentukan sesuatu yang harus diubah. Ini bisa berguna untuk memperbaiki salah ketik dalam sebuah perintah. Sebagai contoh, perintah berikut akan memutarkan kembali perintah sebelumnya, mengganti teks "abc" di dalamnya dengan teks "xyz".Sebagai contoh, jika Anda tidak sengaja menjalankan ping gogle.com, Anda kemudian bisa menjalankan ^ gog ^ goog dan bash akan menjalankan perintah ping google.com sebagai gantinya.

Dimana Sejarah Anda Disimpan, dan Cara Menghapusnya

Bash shell menyimpan riwayat perintah yang Anda jalankan di file riwayat akun pengguna Anda di ~ /. bash_history secara default. Misalnya, jika nama pengguna Anda bob, Anda akan menemukan file ini di /home/bob/. bash_history.

Karena riwayat Anda disimpan dalam sebuah file, itu tetap ada di antara sesi. Anda dapat menjalankan beberapa perintah, keluar, kembali keesokan harinya, dan perintah tersebut akan tetap ada dalam file riwayat Anda yang siap dilihat dan digunakan. Setiap akun pengguna memiliki file riwayatnya sendiri dengan riwayat perintah yang terpisah.

Untuk menghapus sejarah bash Anda, Anda dapat menjalankan perintah berikut. Ini menghapus isi file. bash_history pengguna Anda: sejarah

-c

Bash hanya mengingat sejumlah perintah secara default, mencegah file sejarah berkembang terlalu besar. Jumlah entri sejarah yang diingat bash dikendalikan oleh HISTSIZEvariable. Defaultnya biasanya 500 atau 1000 entri. Anda dapat menjalankan perintah berikut untuk melihat ukuran riwayat bash di sistem Anda.

echo $ HISTSIZE

Untuk mengatur sejarah Anda menjadi nol, jalankan perintah berikut.

HISTSIZE = 0

Untuk sesi saat ini, bash tidak akan menyimpan entri sejarah kecuali jika Anda menjalankan perintah seperti HISTSIZE = 1000 untuk mengaturnya kembali ke sejumlah entri tertentu.

Bagaimana Mengabaikan Ruang dan Duplikat

Bash memungkinkan Anda mengabaikan entri sejarah yang dimulai dengan sebuah ruang jika Anda mengatur HISTCONTROLvariable ke ignorespace.

HISTCONTROL = ignorespace

Ketik spasi sebelum perintah sebelum menjalankannya di shell bash dan perintah akan berjalan normal, namun tidak akan muncul dalam riwayat Anda jika variabel ini diaktifkan. Ini memungkinkan Anda menjaga sejarah Anda sedikit lebih bersih, memilih untuk menjalankan perintah tanpa muncul dalam riwayat Anda.

Bash juga memungkinkan Anda mengabaikan perintah duplikat yang bisa mengacaukan sejarah Anda. Untuk melakukannya, set HISTCONTROL ke ignoreups.

HISTCONTROL = ignoreups

Untuk menggunakan fitur ignorespace dan ignoreups, setel variabel HISTCONTROL menjadi ignoreboth.

HISTCONTROL = ignoreboth

Perhatikan bahwa variabel bash yang Anda tetapkan hanya akan bertahan untuk sesi saat ini. Anda harus menambahkannya ke file. bashrc milik pengguna agar nilai ini diatur secara otomatis di setiap sesi bash yang Anda mulai, jika Anda menginginkannya.

Bash shell adalah alat yang kompleks dengan lebih banyak pilihan daripada ini. Konsultasikan bagian Sejarah Buildin dan Sejarah Bash dalam manual bash manual yang lebih rinci dan trik lanjutan lainnya yang dapat Anda gunakan.