Kekuatan Perintah Sejarah Linux di Bash Shell
- 1325
- 380
- Clarence Powlowski
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 Sejarah1. 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.
- « Cara Membuat dan Menjalankan Unit Perkhidmatan Baru di Systemd Menggunakan Skrip Shell
- Cara Memasang dan Konfigurasi Lemp pada Debian 8 (Jessie) »