Bagaimana Menggunakan Sejarah Bash anda di Terminal Linux atau macOS

Isi kandungan:

Video: Bagaimana Menggunakan Sejarah Bash anda di Terminal Linux atau macOS

Video: Bagaimana Menggunakan Sejarah Bash anda di Terminal Linux atau macOS
Video: CARA PAKAI APLIKASI ECG DI APPLE WATCH (ELECTROCARDIOGRAM INDONESIA) 2024, Mac
Bagaimana Menggunakan Sejarah Bash anda di Terminal Linux atau macOS
Bagaimana Menggunakan Sejarah Bash anda di Terminal Linux atau macOS
Anonim
Cakera bash adalah persekitaran terminal standard yang disertakan dengan kebanyakan pengedaran Linux, termasuk dengan macOS, dan tersedia untuk pemasangan pada Windows 10. Ia mengingati perintah yang anda taip dan menyimpannya dalam fail sejarah. Anda mungkin tahu beberapa asas sejarah bash, tetapi ia jauh lebih kuat daripada yang anda dapati.
Cakera bash adalah persekitaran terminal standard yang disertakan dengan kebanyakan pengedaran Linux, termasuk dengan macOS, dan tersedia untuk pemasangan pada Windows 10. Ia mengingati perintah yang anda taip dan menyimpannya dalam fail sejarah. Anda mungkin tahu beberapa asas sejarah bash, tetapi ia jauh lebih kuat daripada yang anda dapati.

Pintasan Papan Kekunci

Untuk menatal sejarah bash anda, anda boleh menggunakan beberapa pintasan papan kekunci yang berguna untuk bash. Tekan pintasan dan arahan yang anda gunakan sebelum ini akan muncul pada prompt.

  • Up Arrow atau Ctrl + P: Pergi ke arahan sebelumnya dalam sejarah anda. Tekan kekunci kali beberapa kali untuk berjalan ke belakang melalui arahan yang telah anda gunakan.
  • Anak panah ke bawah atau Ctrl + N: Pergi ke perintah seterusnya dalam sejarah anda. Tekan kekunci kali beberapa kali untuk berjalan ke depan melalui arahan yang telah anda gunakan.
  • Alt + R: Mbalikkan sebarang perubahan kepada arahan yang anda telah tarik dari sejarah anda jika anda telah menyuntingnya pada baris semasa.

Bash juga mempunyai mod "ingat semula" khas yang anda boleh gunakan untuk mencari arahan yang anda jalani sebelumnya, bukannya menatal melalui mereka satu persatu.

  • Ctrl + R: Ingat arahan terakhir yang sepadan dengan aksara yang anda berikan. Tekan pintasan ini dan mula menaip untuk mencari sejarah bash anda untuk arahan.
  • Ctrl + O: Jalankan arahan yang anda dapati dengan Ctrl + R.
  • Ctrl + G: Tinggalkan mod carian sejarah tanpa menjalankan arahan.
Image
Image

Lihat Sejarah Bash anda

Anda boleh mencetak seluruh sejarah bash anda ke skrin dengan menjalankan satu arahan:

history

Anda akan melihat senarai semua arahan dalam sejarah bash anda, bersama dengan nombor di sebelah kiri masing-masing. Perintah dengan "1" di sebelahnya adalah perintah tertua dalam sejarah bash anda, manakala arahan dengan nombor tertinggi adalah yang paling baru.

Anda boleh melakukan apa sahaja yang anda suka dengan output. Contohnya, anda boleh paip ke
Anda boleh melakukan apa sahaja yang anda suka dengan output. Contohnya, anda boleh paip ke

grep

arahan untuk mencari sejarah arahan anda.

history | grep your_search

Anda juga boleh paip ke
Anda juga boleh paip ke

tail

arahan untuk melihat hanya sejumlah kecil arahan baru-baru ini yang anda jalankan. Sebagai contoh, arahan berikut akan menunjukkan 5 entri terakhir dalam sejarah anda.

history | tail -5

Image
Image

Jalankan Perintah Dari Sejarah Anda

Bash dengan cepat boleh "mengembangkan" arahan terdahulu, atau mengembangkannya dan mengubahnya. Ciri ini dikenali sebagai "pengembangan sejarah" dan menggunakan tanda seru, yang dikenali sebagai "bang". Cukup ketikkannya pada prompt dan tekan Enter untuk menjalankannya seperti anda akan menjalankan arahan lain.

Untuk menjalankan arahan tertentu dari sejarah anda dengan nombornya, gunakan perintah berikut:

!#

Sebagai contoh, katakan anda ingin menjalankan perintah ke-12 dari sejarah bash anda. Itulah arahan dengan "12" di sebelah kiri ketika anda menjalankan

history

perintah. Anda akan menaip arahan berikut.

!12

Untuk menjalankan semula arahan terakhir yang anda jalankan, taipkan yang berikut. Ini mempunyai kesan yang sama seperti menekan anak panah Atas sekali untuk melihat arahan sebelumnya dan kemudian menekan Enter.
Untuk menjalankan semula arahan terakhir yang anda jalankan, taipkan yang berikut. Ini mempunyai kesan yang sama seperti menekan anak panah Atas sekali untuk melihat arahan sebelumnya dan kemudian menekan Enter.

!!

Anda juga boleh merujuk kepada arahan beberapa baris belakang. Sebagai contoh,

!-2

akan menjalankan arahan kedua untuk terakhir yang anda lari.

!!

ertinya perkara yang sama seperti

!-1

This expansion works anywhere on the line. You can add anything you like before or after
This expansion works anywhere on the line. You can add anything you like before or after

!!

atau mana-mana ungkapan lain dalam bahagian ini. Contohnya, anda boleh menaip perintah berikut untuk mengubah arahan terakhir yang anda lalui

sudo

memberikannya keistimewaan root. Ini amat berguna jika anda lupa untuk menambah

sudo

sebelum menjalankan arahan.

sudo !!

Atau, sebagai contoh, anda boleh mengarahkan semula arahan sebelumnya dan menaikkan outputnya kepada grep untuk mencari beberapa teks.

!! | grep text

Untuk mencari arahan dalam sejarah anda dan jalankan, taipkan yang berikut. Ini akan menjalankan arahan terakhir yang sepadan dengan teks yang anda tentukan:
Untuk mencari arahan dalam sejarah anda dan jalankan, taipkan yang berikut. Ini akan menjalankan arahan terakhir yang sepadan dengan teks yang anda tentukan:

!text

Jadi, jika anda baru-baru ini berlari perintah yang bermula dengan

ping

anda boleh menjalankan arahan berikut untuk mencarinya. Ini akan mencari ke belakang melalui sejarah anda, cari arahan yang paling baru yang bermula dengan"

pi

, Dan segera jalankannya:

!pi

Anda boleh menambah a
Anda boleh menambah a

:p

kepada mana-mana ekspansi di atas dan bash akan mencetak arahan ke terminal tanpa menjalankannya. Ini berguna jika anda ingin mengesahkan anda memilih arahan yang betul sebelum anda menjalankannya.

!12:p

!!:p

!text:p

Image
Image

Gunakan semula Argumen Dari Sejarah Anda

Bash juga membolehkan anda menjalankan arahan baru, tetapi menggunakan hujah daripada arahan terdahulu dalam sejarah anda. Ini dapat membantu anda dengan cepat menggunakan semula hujah-hujah yang lama atau rumit tanpa perlu mengecek semula mereka.

command !$

Sebagai contoh, katakan anda mengendalikan arahan

touch /home/chris/some_long_file_name_you_dont_want_to_type_again

. Anda kini mahu menjalankan arahan

nano /home/chris/some_long_file_name_you_dont_want_to_type_again

. Daripada menaip semuanya dari awal, anda boleh menjalankan:

nano !$

The

!$

akan membuat bash secara automatik mengisi hujah terakhir dari arahan sebelumnya.

Ini hanya mengisi hujah terakhir. Jadi, jika anda berlari
Ini hanya mengisi hujah terakhir. Jadi, jika anda berlari

ping google.com -c 4

dan kemudian lari

ping !$

ini hanya akan berkembang menjadi"

ping 4

“.

Untuk membetulkan keadaan ini, anda boleh menggunakan helah berikut untuk mengembangkan hujah pertama pada baris, dan bukannya yang terakhir:

command !^

Jadi, jika anda berlari

ping google.com -c 4

dan kemudian berlari

ping !^

bash akan memperluaskannya kepada"

ping google.com'

Untuk mengisi semua hujah yang digunakan dalam perintah sebelumnya dan bukan hanya hujah tunggal, anda akan menggunakan perkara berikut:
Untuk mengisi semua hujah yang digunakan dalam perintah sebelumnya dan bukan hanya hujah tunggal, anda akan menggunakan perkara berikut:

command !*

Jadi, jika anda berlari

ping !*

Sebaliknya, bash akan secara automatik mengisi semua argumen yang anda gunakan dalam perintah sebelumnya.

Anda boleh menggunakan helah yang sama yang anda gunakan untuk menjalankan arahan dari sejarah anda untuk mendapatkan hujah daripada mereka. Hanya gunakan borang berikut.
Anda boleh menggunakan helah yang sama yang anda gunakan untuk menjalankan arahan dari sejarah anda untuk mendapatkan hujah daripada mereka. Hanya gunakan borang berikut.

command !abc:#

Sebagai contoh, kami menjalankan perintah itu

sudo hostname ubuntu

lebih awal. Sekiranya kita menjalankan arahan berikut, bash akan mencari ke belakang melalui sejarah untuk mencari arahan terakhir bermula dengan huruf yang kita taip dan isi hujah yang kita tentukan. Jadi, jika kita berlari

echo !su:2

bash akan mencari kembali untuk mencari arahan terakhir bermula dengan"

su

"Dan isi hujah kedua, iaitu"

ubuntu

“.

Petua lain berfungsi seperti yang anda harapkan. Sebagai contoh, menggantikan nombor dengan asterisk, yang dikenali sebagai wildcard, menyebabkan bash untuk mengisi semua argumen dari arahan:

command !abc:*

Image
Image

Rerun Perintah Sebelumnya dan Ubahsuai Ini

Bash juga membolehkan anda mengubah arahan terdahulu dan menentukan sesuatu yang perlu diubah. Ini berguna untuk membetulkan kesilapan menaip dalam perintah. Sebagai contoh, arahan berikut akan mengalihkan arahan terdahulu, menggantikan teks"

abc

"Di dalamnya dengan teks"

xyz

“.

^abc^xyz

Sebagai contoh, jika anda tidak sengaja berlari

ping gogle.com

anda boleh lari

^gog^goog

dan bash akan menjalankan perintah itu

ping google.com

sebaliknya.

Image
Image

Di mana Sejarah Anda Disimpan, dan Bagaimana Jelas Ia

Shell bash menyimpan sejarah arahan yang anda jalankan dalam fail sejarah akaun pengguna anda di ~ /.bash_history secara lalai. Sebagai contoh, jika nama pengguna anda adalah bob, anda akan mendapati fail ini di /home/bob/.bash_history.

Kerana sejarah anda disimpan dalam fail, ia tetap berlaku di antara sesi. Anda boleh menjalankan beberapa arahan, daftar keluar, kembali keesokan harinya, dan arahan itu masih dalam fail sejarah anda yang sedia untuk dilihat dan digunakan. Setiap akaun pengguna mempunyai fail sejarah sendiri dengan sejarah arahan yang berasingan.

Untuk membersihkan sejarah bash anda, anda boleh menjalankan arahan berikut. Ini memadamkan kandungan fail.bash_history akaun pengguna anda:

history -c

Bash hanya mengingati bilangan arahan yang terhad secara lalai, menghalang fail sejarah daripada berkembang terlalu besar. Jumlah catatan sejarah yang dikenang dikenang oleh
Bash hanya mengingati bilangan arahan yang terhad secara lalai, menghalang fail sejarah daripada berkembang terlalu besar. Jumlah catatan sejarah yang dikenang dikenang oleh

HISTSIZE

pembolehubah. Lalai biasanya 500 atau 1000 penyertaan. Anda boleh menjalankan arahan berikut untuk melihat saiz sejarah bash pada sistem anda.

echo $HISTSIZE

Untuk menetapkan sejarah anda menjadi kosong, jalankan arahan berikut.

HISTSIZE=0

Untuk sesi semasa, bash tidak akan menyimpan apa-apa catatan sejarah melainkan arahan anda seperti arahan

HISTSIZE=1000

untuk menetapkan semula kepada beberapa entri tertentu.

Image
Image

Cara Abaikan Spasi dan Duplikat

Bash membolehkan anda mengabaikan entri sejarah yang bermula dengan ruang jika anda menetapkan

HISTCONTROL

berubah kepada

ignorespace.

HISTCONTROL=ignorespace

Taipkan ruang sebelum perintah sebelum menjalankannya dalam shell bash dan perintah akan berjalan dengan normal, tetapi tidak akan muncul dalam sejarah anda jika anda mengaktifkan pembolehubah ini. Ini membolehkan anda menyimpan sejarah anda dengan lebih bersih, memilih untuk menjalankan arahan tanpa mereka muncul dalam sejarah anda.

Bash juga membolehkan anda mengabaikan arahan pendua yang dapat mengawal sejarah anda. Untuk berbuat demikian, tetapkan
Bash juga membolehkan anda mengabaikan arahan pendua yang dapat mengawal sejarah anda. Untuk berbuat demikian, tetapkan

HISTCONTROL

kepada

ignoredups.

HISTCONTROL=ignoredups

Untuk menggunakan kedua-dua
Untuk menggunakan kedua-dua

ignorespace

dan

ignoredups

ciri, tetapkan

HISTCONTROL

berubah kepada

ignoreboth.

HISTCONTROL=ignoreboth

Ambil perhatian bahawa pemboleh ubah bash yang anda tetapkan hanya akan berterusan untuk sesi semasa. Anda perlu menambah ini ke fail.bashrc akaun pengguna anda untuk mempunyai nilai-nilai ini secara automatik ditetapkan dalam setiap sesi bash yang anda mulakan, jika anda lebih suka itu.

Disyorkan: