Android

Perintah sejarah dalam linux (sejarah bash)

Sejarah Linux

Sejarah Linux

Isi kandungan:

Anonim

, kami akan membincangkan arahan history , yang membolehkan anda melihat senarai perintah yang telah dilaksanakan sebelum ini, mencari melalui senarai, dan memanipulasi fail sejarah.

Menggunakan history Perintah dan Ekspansi Sejarah

history adalah shell yang terbina, dan perilakunya sedikit berbeza dari shell ke shell. Kami akan merangkumi sejarah bash terbina dalam history .

Dalam borang yang paling mudah, apabila digunakan tanpa sebarang pilihan atau hujah, arahan history memaparkan senarai sejarah keseluruhan dengan nombor baris.

history

… 467 git push 468 tail -f var/logs/error 469 nano +22, 5 functions.sh 470 source project-env/bin/activate 471 history

Menaip !n melaksanakan perintah n-th dari senarai sejarah, dan !-n baris perintah n kembali. Dalam contoh berikut kami melaksanakan arahan pada baris 467 :

!467

Satu lagi cara untuk melaksanakan arahan adalah dengan menggunakan pengembangan !word . word merujuk kepada arahan yang paling baru bermula dengan 'perkataan'.

Biasanya, history memaparkan banyak baris output yang tidak sesuai di skrin. Untuk melihat output satu halaman pada satu masa, paip ke program pager seperti arahan yang more atau less :

history | less

Untuk memaparkan baris terakhir n , lulus nombor sebagai hujah kepada arahan. Sebagai contoh, hanya untuk melihat lima baris terakhir dari senarai sejarah yang anda taipkan:

history -5

Gunakan kekunci anak panah up dan down untuk mengemudi entri dalam senarai. Apabila arahan yang anda cari ditunjukkan, tekan Enter untuk melaksanakannya.

Jenis !! untuk melaksanakan arahan terdahulu:

!!

Ini amat berguna apabila anda lupa untuk perpanjangan perintah dengan sudo , dan bukannya menaip kembali perintah yang anda boleh taip:

sudo !!

!-1 adalah sama seperti !! dan melaksanakan arahan terakhir dari senarai sejarah, !-2 detik untuk terakhir, dan sebagainya.

^word1^word2^ pengembangan membolehkan anda menjalankan semula perintah terakhir menggantikan "word1" dengan "word2". Sekiranya anda tidak sengaja menaip sduo command dan bukannya sduo command sudo command anda boleh mengulangi arahan menggunakan perkataan yang betul dengan:

^sduo^sudo^

Gunakan arahan grep untuk menapis output. Sebagai contoh, untuk melihat semua arahan termasuk "nano" anda akan berjalan:

history | grep nano

302 sudo nano /etc/resolv.conf 356 nano setup.py 413 sudo nano /etc/hosts 469 nano +22, 5 functions.sh

Sekarang, jika anda mahu menjalankan semula perintah nano setup.py hanya taipkan:

!356

Satu lagi cara untuk mencari melalui sejarah arahan adalah dengan menekan Ctrl-R . Gesaan akan berubah kepada yang berikut, dan anda boleh mula mencari arahan yang telah dijalankan sebelumnya.

(reverse-i-search)`':

Cakera akan memaparkan garis sepadan. Untuk berpindah ke cadangan yang sesuai, tekan Ctrl-R sekali lagi.

Semak manual Bash untuk maklumat lanjut mengenai Pengembangan Sejarah, pengubah, dan pereka.

Menyimpan Senarai Sejarah

Secara lalai, apabila memulakan sesi baru, Bash membaca senarai sejarah dari fail .bash_history . Senarai arahan yang dijalankan dalam sesi semasa disimpan dalam memori dan disimpan ke fail semasa sesi ditutup.

Pilihan -a membolehkan anda menyimpan senarai sejarah sesi semasa ke fail .bash_history :

history -a

Opsyen -w menulis senarai sejarah lengkap ke fail sejarah.

history -w

Sejarah Kliring

Perintah history membolehkan anda membersihkan senarai sejarah lengkap atau mengalih keluar bahagian tertentu.

Untuk membersihkan senarai sejarah, gunakan pilihan -c :

history -c

Untuk memadamkan baris atau garisan tertentu antara kedudukan permulaan dan akhir dari senarai sejarah, gunakan pilihan -d .

Sebagai contoh, untuk mengalih keluar garisan antara 365 dan 375 (termasuk baris tersebut), anda akan menaip:

history -d 365 375

Apabila integer negatif digunakan, garisan akan dikira dari akhir senarai sejarah.

Perintah di atas membersihkan senarai sejarah, yang disimpan dalam ingatan, tetapi tidak menghilangkan entri dari fail .bash_history pada cakera. Untuk membersihkan fail, anda perlu menulis senarai sejarah ke fail:

history -c history -w

Mengubahsuai Kelakuan Sejarah

Tingkah laku sejarah Bash boleh ditakrifkan menggunakan beberapa pembolehubah persekitaran yang berbeza. Apabila mengubah suai tingkah laku sejarah, tetapkan pembolehubah dalam ~/.bashrc atau fail konfigurasi lain yang dimuatkan apabila pengguna log masuk.

Secara lalai Bash menyimpan 500 baris dalam senarai sejarah arahan. HISTSIZE ubah HISTSIZE membolehkan anda menukar nilai ini. Untuk menetapkannya kepada 10000 tambahkan baris berikut ke fail .bashrc anda:

HISTSIZE=10000

HISTCONTROL ubah HISTCONTROL menerima senarai nilai yang dipisahkan dengan kolon yang menentukan cara perintah disimpan di dalam senarai sejarah:

  • ignorespace - arahan yang bermula dengan ruang tidak disimpan dalam senarai sejarah. ignoredups - arahan pendua tidak disimpan. ignoreboth - adalah satu cendekiawan, termasuk kedua-dua ignorespace dan ignoredups .

HISTCONTROL=ignoreboth

Apabila pembolehubah HISTTIMEFORMAT ditetapkan, Bash menyiapkan timestamp pelaksanaan untuk arahan pada setiap baris.

Sebagai contoh, jika anda menetapkan:

HISTTIMEFORMAT="%F %T: "

Sejarah akan dipaparkan dalam format berikut:

413 2019-10-27 21:13:07: sudo nano /etc/hosts

Kesimpulannya

Perintah history memaparkan senarai arahan yang telah dilaksanakan sebelum ini. Sebagai contoh, anda boleh menggunakan sejarah untuk melihat arahan yang lama yang telah anda gunakan sebelum yang anda tidak dapat diingat.

terminal sejarah