Kekuatan Perintah Sejarah Linux di Bash Shell

Kekuatan Perintah Sejarah Linux di Bash Shell

Kami guna sejarah Perintah kerap dalam pekerjaan rutin harian kami untuk memeriksa sejarah arahan atau mendapatkan maklumat mengenai arahan yang dilaksanakan oleh pengguna. Dalam siaran ini, kita akan melihat bagaimana kita boleh menggunakan perintah sejarah dengan berkesan untuk mengekstrak arahan yang dilaksanakan oleh pengguna di bash shell. Ini mungkin berguna untuk tujuan audit atau untuk mengetahui perintah yang dilaksanakan pada apa Tarikh dan masa.

Secara lalai Tarikh dan Timestamp tidak akan dilihat semasa melaksanakan sejarah perintah. Walau bagaimanapun, Bash Shell menyediakan Cli alat untuk mengedit sejarah arahan pengguna. Mari lihat beberapa petua dan cara yang berguna dan kuasa sejarah perintah.

Contoh Perintah Sejarah

1. Senaraikan arahan terakhir/semua yang dilaksanakan di Linux

Melaksanakan sederhana sejarah Perintah dari Terminal akan menunjukkan kepada anda senarai lengkap arahan yang dilaksanakan terakhir dengan nombor baris.

[[E -mel dilindungi] ~] $ sejarah 1 ps1 = '\ e [1; 35m [\ [e -mel dilindungi] \ h \ w] $ \ e [m' 2 ps1 = "\ e [0; 32m [\ [e -mel dilindungi] \ h \ w] $ \ e [m "3 ps1 =" \ [e -mel dilindungi] \ h: \ w [\ j] $ "4 ping google.com 5 echo $ ps1 6 ekor -f/var/log/mesej 7 ekor -f/var/log/mesej 8 Exit 9 Clear 10 SEJARAH 11 Jelas 12 Sejarah

2. Senaraikan semua arahan dengan tarikh dan cap waktu

Cara mencari Tarikh dan Timestamp terhadap perintah? Dengan 'eksport' Perintah dengan Variable akan memaparkan arahan sejarah dengan timestamp yang sepadan apabila arahan dilaksanakan.

[[dilindungi e-mel] ~] $ eksport histtimeFormat = " %f %t" 1 2013-06-09 10:40:12 kucing /etc /isu 2 2013-06-09 10:40:12 Clear 3 2013-06- 09 10:40:12 Cari /etc -name *.Conf 4 2013-06-09 10:40:12 Jelas 5 2013-06-09 10:40:12 Sejarah 6 2013-06-09 10:40:12 ps1 = '\ e [1; 35m [\ [E-mel dilindungi ] \ h \ w] $ \ e [m '7 2013-06-09 10:40:12 ps1 = "\ e [0; 32m [\ [dilindungi email] \ h \ w] $ \ e [m" 8 2013-06-09 10:40:12 ps1 = "\ [E-mel dilindungi] \ h: \ w [\ j] $" 9 2013-06-09 10:40:12 Ping Google.com 10 2013-06-09 10:40:12 echo $ ps1
Makna pembolehubah histtimeformat
%F bersamaan dengan %y - %m - %d %t digantikan dengan masa ( %h: %m: %s)

3. Perintah penapis dalam sejarah

Seperti yang dapat kita lihat perintah yang sama diulang bilangan kali di atas output. Cara Menapis Perintah Mudah atau Tidak Memusnahkan Dalam Sejarah?. Gunakan yang berikut 'eksport'perintah dengan menentukan arahan dalam Histignore = 'ls -l: pwd: tarikh:' tidak akan disimpan oleh sistem dan tidak ditunjukkan dalam arahan sejarah.

[[dilindungi e -mel] ~] $ eksport histignore = "ls -l: pwd: tarikh:"

4. Abaikan arahan pendua dalam sejarah

Dengan arahan di bawah akan membantu kami mengabaikan entri arahan pendua yang dibuat oleh pengguna. Hanya entri tunggal yang akan ditunjukkan dalam sejarah, jika pengguna melaksanakan arahan yang sama beberapa kali dalam prompt bash.

[[dilindungi e -mel] ~] $ eksport histControl = tidak diendahkan

5. Perintah Eksport Unset

Perintah Eksport Unset dengan cepat. Melaksanakan Eksport Unset perintah dengan pembolehubah satu demi satu arahan yang telah dieksport oleh eksport perintah.

[[dilindungi e -mel] ~] $ histcontrol eksport unset

6. Simpan arahan eksport secara kekal

Buat entri seperti berikut .BASH_PROFILE untuk menyelamatkan eksport perintah secara kekal.

[[dilindungi e -mel] ~] $ vi .bash_profile # .bash_profile # dapatkan alias dan fungsi jika [-f ~/.Bashrc]; kemudian . ~/.BASHRC FI # Persekitaran Khusus Pengguna dan Program Permulaan Eksport HistControl = Mengabaikan Path = $ Path: $ Laluan Eksport Home/Bin

7. Senaraikan arahan yang dilaksanakan pengguna tertentu

Cara melihat sejarah arahan yang dilaksanakan oleh pengguna tertentu. Bash menyimpan rekod sejarah dalam '~/.bash_history ' fail. Kita boleh melihat atau membuka fail untuk melihat sejarah arahan.

[[dilindungi e -mel] ~] $ vi .BASH_HISTORY CD / TMP / CD LOGSTALGIA-1.0.3/ ./Konfigurasi sudo passwd root apt-get pemasangan libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libftgl-dev libpng12-dev libjpeg62-dev membuat gcc ./Konfigurasi membuat apt-get pemasangan libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libftgl-dev libpng12-dev libjpeg62-dev membuat gcc ++ apt-get install libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libftgl-dev libpng12-dev libjpeg62-dev Make gcc apt-get Install Make mysql -u root -p apt-get install grsync apt-get inison unison unison unison unison unison unison unison unison unison serentak serentak serentak serentak serentak serentak seris

8. Lumpuhkan menyimpan sejarah arahan

Sesetengah organisasi tidak menyimpan sejarah arahan kerana dasar keselamatan organisasi. Dalam kes ini, kita boleh mengedit .BASH_PROFILE fail (fail tersembunyi) pengguna dan membuat entri seperti di bawah.

[[dilindungi e -mel] ~] $ vi .bash_profile # .bash_profile # dapatkan alias dan fungsi jika [-f ~/.Bashrc]; kemudian . ~/.BASHRC FI # Persekitaran Khusus Pengguna dan Program Permulaan Path = $ Path: $ Home/Bin Histsize = 0 Laluan Eksport .bash_profile (akhir)

Simpan fail dan muatkan perubahan dengan arahan di bawah.

[[dilindungi e -mel] ~] Sumber $ .BASH_PROFILE

Catatan: Sekiranya anda tidak mahu sistem ingat arahan yang telah anda taip, hanya laksanakan perintah di bawah yang akan melumpuhkan atau menghentikan sejarah rakaman dengan cepat.

[[dilindungi e -mel] ~] $ eksport histsize = 0

Petua: Cari 'Histsize'dan edit dalam'/etc/profil ' fail dengan superuser. Perubahan dalam fail akan memberi kesan secara global.

9. Padam atau jelas sejarah arahan

Dengan naik dan ke bawah anak panah, kita dapat melihat perintah yang digunakan sebelumnya yang mungkin membantu atau mungkin mengasyikkan anda. Memadam atau membersihkan semua penyertaan dari senarai sejarah bash dengan '-c'Pilihan.

[[dilindungi e -mel] ~] $ sejarah -c

10. Perintah carian dalam sejarah menggunakan arahan grep

Perintah carian melalui '.BASH_HISTORY'Dengan memancarkan fail sejarah anda ke'grep' seperti di bawah. Sebagai contoh, arahan di bawah akan mencari dan mencari 'PWD'Perintah dari senarai sejarah.

[[E -mel dilindungi] ~] $ Sejarah | Grep PWD 113 2013-06-09 10:40:12 PWD 141 2013-06-09 10:40:12 PWD 198 2013-06-09 15:46:23 Sejarah | Grep PWD 202 2013-06-09 15:47:39 Sejarah | GREP PWD

11. Cari arahan yang dilaksanakan terakhir

Cari arahan yang dilaksanakan sebelumnya dengan 'Ctrl+r' perintah. Sebaik sahaja anda menemui arahan yang anda cari, tekan 'Masukkan'Untuk melaksanakan sama lain tekan'ESC'Untuk membatalkannya.

(Reverse-i-Search) 'Sumber': Sumber .BASH_PROFILE

12. Ingat perintah yang dilaksanakan terakhir

Ingatlah arahan khusus yang digunakan sebelum ini. Gabungan Bang dan 8 (!8) Perintah akan ingat nombor 8 Perintah yang telah anda laksanakan.

[[dilindungi e -mel] ~] $ !8

13. Ingat semula arahan tertentu yang terakhir dilaksanakan

Ingat semula arahan yang digunakan sebelumnya (Netstat -np | grep 22) dengan '!'dan diikuti dengan beberapa surat perintah itu.

[[dilindungi e -mel] ~] $ !netstat netstat -np | grep 22 (tiada maklumat boleh dibaca untuk "-p": geteuid () = 501 tetapi anda harus menjadi akar.) TCP 0 68 192.168.50.2:22 192.168.50.1: 1857 Ditubuhkan - TCP 0 0 192.168.50.2:22 192.168.50.1: 2516 Ditubuhkan - Unix 2 [] Dgram 12284 - @/org/Freedesktop/Hal/Udev_Event UNIX 3 [] Stream yang disambungkan 14522 - Unix 2 [] Dgram 13622 - Unix 3 [] Stream disambungkan 12250 - @/var/Run/ HALD/DBUS -UJAJOJOMNA0G UNIX 3 [] Stream yang disambungkan 12249 - UNIX 3 [] aliran yang disambungkan 12228 -/var/run/dbus/System_Bus_Socket Unix 3 [] aliran yang disambungkan 12227 -

Kami telah cuba menyerlahkan kuasa perintah sejarah. Namun, ini tidak berakhir. Sila kongsi pengalaman arahan sejarah anda dengan kami melalui kotak komen kami di bawah.