If-Koubou

Cara Menggunakan Riwayat Bash Anda di Linux atau MacOS Terminal

Cara Menggunakan Riwayat Bash Anda di Linux atau MacOS Terminal (Bagaimana caranya)

Shell bash adalah lingkungan terminal standar yang disertakan dengan sebagian besar distribusi Linux, disertakan dengan macOS, dan tersedia untuk instalasi pada Windows 10. Ini mengingat perintah yang Anda ketik dan menyimpannya dalam file riwayat. Anda mungkin tahu beberapa dasar sejarah bash, tetapi jauh lebih kuat daripada yang mungkin Anda sadari.

Pintasan Keyboard

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

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

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

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

Lihat Sejarah Bash Anda

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

sejarah

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

Anda dapat melakukan apapun yang Anda suka dengan output. Misalnya, Anda bisa menyalurkannya ke grepperintah untuk mencari sejarah perintah Anda.

sejarah | grep your_search

Anda juga bisa menyalurkannya ke ekor perintah untuk melihat hanya sejumlah kecil perintah baru yang Anda jalankan. Sebagai contoh, perintah berikut akan menunjukkan 5 entri terakhir dalam sejarah Anda.

sejarah | ekor -5

Jalankan Perintah Dari Riwayat Anda

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

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

!#

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

!12

Untuk menjalankan kembali perintah terakhir yang Anda jalankan, ketikkan yang berikut ini. Ini memiliki efek yang sama seperti menekan panah Atas sekali untuk melihat perintah sebelumnya dan kemudian menekan Enter.

!!

Anda juga bisa merujuk ke perintah sejumlah baris tertentu kembali. Sebagai contoh, !-2 akan menjalankan perintah kedua ke terakhir yang Anda jalankan. !! berarti hal yang sama !-1 .

Ekspansi ini bekerja di mana saja di telepon. Anda dapat menambahkan apa pun yang Anda suka sebelum atau sesudah!! atau salah satu dari ekspresi lain di bagian ini. Misalnya, Anda dapat mengetikkan perintah berikut untuk menjalankan kembali perintah terakhir yang Anda jalankan sudo, memberikannya hak akses root. Ini sangat berguna jika Anda lupa menambahkansudo sebelum menjalankan perintah.

sudo !!

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

!! | teks grep

Untuk mencari perintah dalam sejarah Anda dan menjalankannya, ketikkan yang berikut ini. Ini akan menjalankan perintah terakhir yang cocok dengan teks yang Anda tentukan:

!teks

Jadi, jika Anda baru saja menjalankan perintah yang dimulai dengan ping, Anda dapat menjalankan perintah berikut untuk mencarinya. Ini akan mencari mundur melalui riwayat Anda, temukan perintah terbaru yang diawali dengan “pi“, Dan segera jalankan:

! pi

Anda dapat menambahkan : p ke salah satu ekspansi dan bash di atas akan mencetak perintah ke terminal tanpa menjalankannya. Ini berguna jika Anda ingin mengkonfirmasi Anda memilih perintah yang benar sebelum Anda menjalankannya.

! 12: hal
!!: p
! teks: p

Gunakan Kembali Argumen Dari Sejarah Anda

Bash juga memungkinkan Anda untuk menjalankan perintah baru, tetapi gunakan argumen dari perintah sebelumnya dalam riwayat Anda. Ini dapat membantu Anda dengan cepat menggunakan kembali argumen panjang atau rumit tanpa harus mengetik ulang.

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 awal, Anda bisa menjalankan:

nano! $

Itu !$ akan membuat bash secara otomatis mengisi argumen terakhir dari perintah sebelumnya.

Ini hanya mengisi argumen terakhir. Jadi, jika Anda lari 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 pada baris, bukan yang terakhir:

perintah! ^

Jadi, jika Anda berlari ping google.com -c 4 lalu berlari ping! ^ , bash akan memperluas ini menjadi “ping google.com ".

Untuk mengisi semua argumen yang digunakan dalam perintah sebelumnya, bukan hanya satu argumen, Anda akan menggunakan yang berikut:

perintah! *

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

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

perintah! abc: #

Sebagai contoh, kami menjalankan perintah sudo hostname ubuntu sebelumnya. Jika kita menjalankan perintah berikut, bash akan mencari mundur sepanjang sejarah untuk menemukan perintah terakhir yang dimulai dengan huruf yang kita ketik dan isi argumen yang kita tentukan. Jadi, jika kita lari echo! su: 2 , bash akan mencari kembali untuk menemukan perintah terakhir yang dimulai dengan “su"Dan isi argumen keduanya, yaitu"ubuntu“.

Trik lain bekerja seperti yang Anda harapkan. Misalnya, 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

Bash juga memungkinkan Anda untuk menjalankan kembali perintah sebelumnya dan menentukan sesuatu yang harus diubah. Ini dapat berguna untuk mengoreksi kesalahan ketik dalam perintah. Sebagai contoh, perintah berikut akan menjalankan kembali perintah sebelumnya, menggantikan teks “abc"Di dalamnya dengan teks"xyz“.

^ abc ^ xyz

Misalnya, jika Anda tidak sengaja berlari ping gogle.com, Anda kemudian bisa berlari ^ gog ^ goog dan bash akan menjalankan perintah ping google.com sebagai gantinya.

Di mana Riwayat Anda Disimpan, dan Cara Membersihkannya

Shell bash menyimpan sejarah 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 file, itu tetap ada di antara sesi. Anda dapat menjalankan beberapa perintah, keluar, kembali keesokan harinya, dan perintah-perintah itu akan tetap ada di file riwayat Anda siap untuk dilihat dan digunakan. Setiap akun pengguna memiliki file sejarahnya sendiri dengan riwayat perintah terpisah.

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

sejarah -c

Bash hanya mengingat sejumlah perintah secara default, mencegah file histori dari pertumbuhan terlalu besar. Jumlah entri riwayat bash mengingat dikendalikan oleh HISTSIZEvariabel. Standarnya biasanya 500 atau 1000 entri. Anda dapat menjalankan perintah berikut untuk melihat ukuran riwayat bash pada sistem Anda.

echo $ HISTSIZE

Untuk mengatur sejarah Anda ke nol, jalankan perintah berikut.

HISTSIZE = 0

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

Cara Mengabaikan Spasi dan Duplikat

Bash memungkinkan Anda mengabaikan entri riwayat yang dimulai dengan spasi jika Anda mengaturnya HISTCONTROLvariabel menjadi ketidaktahuan.

HISTCONTROL = ignorespace

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

Bash juga memungkinkan Anda untuk mengabaikan perintah duplikat yang dapat mengacaukan riwayat Anda. Untuk melakukannya, atur HISTCONTROLuntuk diabaikan.

HISTCONTROL = diabaikan

Untuk menggunakan keduanya ketidaktahuan dan diabaikan fitur, atur HISTCONTROL variabel menjadi ignoreboth.

HISTCONTROL = ignoreboth

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

Shell bash adalah alat yang kompleks dengan banyak opsi selain ini. Lihat bagian Bash History Builtins and History Expansion di informasi bash manual yang lebih rinci dan trik lanjutan lainnya yang dapat Anda gunakan.