Ike nke Linux History Command na Bash Shell


Anyị na-eji akụkọ ihe mere eme iwu ugboro ugboro n'ọrụ anyị na-eme kwa ụbọchị iji lelee akụkọ ihe mere eme nke iwu ma ọ bụ nweta ozi gbasara iwu nke onye ọrụ mebere. Na post a, anyị ga-ahụ ka anyị nwere ike isi jiri iwu akụkọ ihe mere eme nke ọma wepụta iwu nke ndị ọrụ gburu na Bash shell. Nke a nwere ike ịba uru maka ebumnuche nyocha ma ọ bụ chọpụta iwu e mere n'ụbọchị na oge.

Site na ụbọchị ndabara na stampụ oge agaghị ahụ mgbe ị na-eme iwu akụkọ ihe mere eme. Agbanyeghị, bash shei na-enye ngwaọrụ CLI maka edezi akụkọ iwu onye ọrụ. Ka anyị hụ ụfọdụ ndụmọdụ na aghụghọ na ike nke iwu akụkọ.

1. Depụta iwu ikpeazụ/niile emegburu na Linux

Ime iwu akụkọ dị mfe site na ọdụ ga-egosi gị ndepụta zuru oke nke iwu emechara ikpeazụ nwere nọmba ahịrị.

[[email  ~]$ history

    1  PS1='\e[1;35m[\[email \h \w]$ \e[m '
    2  PS1="\e[0;32m[\[email \h \W]$ \e[m "
    3  PS1="\[email \h:\w [\j]$ "
    4  ping google.com
    5  echo $PS1
    6   tail -f /var/log/messages
    7  tail -f /var/log/messages
    8  exit
    9  clear
   10  history
   11  clear
   12  history

2. Depụta iwu niile na ụbọchị na akara oge

Otu esi achọta ụbọchị na timestamp megide iwu? Iji ‘bupu’ iwu nwere mgbanwe ga-egosipụta iwu akụkọ ihe mere eme na timestamp kwekọrọ mgbe emechara iwu ahụ.

[[email  ~]$ export HISTTIMEFORMAT='%F %T  '

      1  2013-06-09 10:40:12   cat /etc/issue
      2  2013-06-09 10:40:12   clear
      3  2013-06-09 10:40:12   find /etc -name *.conf
      4  2013-06-09 10:40:12   clear
      5  2013-06-09 10:40:12   history
      6  2013-06-09 10:40:12   PS1='\e[1;35m[\[email \h \w]$ \e[m '
      7  2013-06-09 10:40:12   PS1="\e[0;32m[\[email \h \W]$ \e[m "
      8  2013-06-09 10:40:12   PS1="\[email \h:\w [\j]$ "
      9  2013-06-09 10:40:12   ping google.com
     10  2013-06-09 10:40:12   echo $PS1
%F Equivalent to %Y - %m - %d
%T Replaced by the time ( %H : %M : %S )

3. Filter Iwu na History

Dịka anyị nwere ike ịhụ otu iwu ka a na-emegharị ugboro ugboro na mmepụta n'elu. Otu esi enyocha iwu dị mfe ma ọ bụ na-adịghị emebi emebi na akụkọ ntolite?. Jiri iwu 'bupu' na-esote site na ịkọwa iwu na HISTIGNORE='ls -l:pwd:date:' agaghị echekwa ya site na sistemụ ma ghara igosi ya na iwu akụkọ ihe mere eme.

[[email  ~]$ export HISTIGNORE='ls -l:pwd:date:'

4. Ileghara iwu oyiri na akụkọ ihe mere eme

Iji iwu dị n'okpuru ga-enyere anyị aka ileghara ntinye iwu oyiri mere site n'aka onye ọrụ. Naanị otu ntinye ka a ga-egosi na akụkọ ihe mere eme, ọ bụrụ na onye ọrụ na-eme otu iwu ọtụtụ oge na Bash Prompt.

[[email  ~]$ export HISTCONTROL=ignoredups

5. Ewepụghị iwu mbupụ

Tọgharia iwu mbupụ na ofufe. Mezue unset mbupụ iwu n'otu n'otu n'otu n'otu iwu ọ bụla ebupụrụ site na iwu bupu.

[[email  ~]$ unset export HISTCONTROL

6. Chekwaa iwu mbupụ na-adịgide adịgide

Tinye ntinye dịka ndị a na .bash_profile iji chekwaa iwu bupu kpamkpam.

[[email  ~]$ vi .bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

export HISTCONTROL=ignoredups

PATH=$PATH:$HOME/bin
export PATH

7. Depụta iwu ndị egburu nke onye ọrụ akọwapụtara

Otu esi ahụ akụkọ iwu nke otu onye ọrụ gburu. Bash na-edobe ndekọ akụkọ ihe mere eme na faịlụ '~/.bash_history'. Anyị nwere ike ịlele ma ọ bụ mepee faịlụ ka ịhụ akụkọ iwu.

[[email  ~]$ vi .bash_history

cd /tmp/
cd logstalgia-1.0.3/
./configure
sudo passwd root
apt-get install libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libftgl-dev libpng12-dev libjpeg62-dev make gcc
./configure
make
apt-get install libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libftgl-dev libpng12-dev libjpeg62-dev make 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 install unison
unison

8. Gbanyụọ Ịchekwa Akụkọ Iwu

Ụfọdụ nzukọ anaghị edebe akụkọ ihe mere eme nke iwu n'ihi amụma nchekwa nke nzukọ a. N'okwu a, anyị nwere ike dezie faịlụ .bash_profile (Ọ bụ faịlụ zoro ezo) nke onye ọrụ wee tinye ntinye dịka n'okpuru.

[[email  ~]$ vi .bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
HISTSIZE=0
export PATH
.bash_profile (END)

Chekwaa faịlụ na ibu mgbanwe site na iwu dị n'okpuru.

[[email  ~]$ source .bash_profile

Rịba ama: Ọ bụrụ na ịchọghị ka sistemụ cheta iwu ndị ị denyere, mebie iwu dị n'okpuru nke ga-ewepụ ma ọ bụ kwụsị ịdekọ akụkọ ihe mere eme na ofufe.

[[email  ~]$ export HISTSIZE=0

Ndụmọdụ: Chọọ 'HISTSIZE' wee dezie na faịlụ '/etc/profile' na onye njikwa. Mgbanwe na faịlụ ga-emetụta ụwa niile.

9. Hichapụ ma ọ bụ kpochapụ akụkọ iwu

Site na ụta elu na ala, anyị nwere ike ịhụ iwu ejiriburu nke nwere ike inye aka ma ọ bụ nwee ike kpasuo gị iwe. Na-ehichapụ ma ọ bụ na-ehichapụ ndenye niile na listi akụkọ ihe mere eme bash na nhọrọ '-c'.

[[email  ~]$ history -c

10. Chọọ iwu na akụkọ ihe mere eme Iji Grep Command

Chọọ iwu site na '.bash_history' site na ịpịnye faịlụ akụkọ gị n'ime 'grep' dị ka n'okpuru. Dịka ọmụmaatụ, iwu dị n'okpuru ga-achọ ma chọta iwu 'pwd' site na listi akụkọ ihe mere eme.

[[email  ~]$ history | 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     history | grep pwd
  202  2013-06-09 15:47:39     history | grep pwd

11. Chọọ N'ikpeazụ E Mezuru Iwu

Jiri iwu 'Ctrl+r' chọọ iwu emeburu. Ozugbo ịchọtara iwu ị na-achọ, pịa 'Tinye'iji mee otu ihe ahụ ọzọ pịa'esc'kagbuo ya.

(reverse-i-search)`source ': source .bash_profile

12. Cheta Iwu Egburu Ikpeazụ

Cheta otu iwu ejiribu mee ihe. Ngwakọta iwu Bang na 8 (!8) ga-echeta iwu nọmba 8 nke ị meworo.

[[email  ~]$ !8

13. Cheta iwu akọwapụtara nke ọma

Cheta iwu ejiribu (netstat -np | grep 22) ya na '!' wee soro ụfọdụ mkpụrụedemede nke otu iwu ahụ.

[[email  ~]$ !net
netstat -np | grep 22
(No info could be read for "-p": geteuid()=501 but you should be root.)
tcp        0     68 192.168.50.2:22             192.168.50.1:1857           ESTABLISHED -
tcp        0      0 192.168.50.2:22             192.168.50.1:2516           ESTABLISHED -
unix  2      [ ]         DGRAM                    12284  -                   @/org/freedesktop/hal/udev_event
unix  3      [ ]         STREAM     CONNECTED     14522  -
unix  2      [ ]         DGRAM                    13622  -
unix  3      [ ]         STREAM     CONNECTED     12250  -                   @/var/run/hald/dbus-ujAjOMNa0g
unix  3      [ ]         STREAM     CONNECTED     12249  -
unix  3      [ ]         STREAM     CONNECTED     12228  -                   /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     12227  -

Anyị agbalịwo igosi ike nke iwu akụkọ ihe mere eme. Agbanyeghị, nke a abụghị njedebe ya. Biko kesaa ahụmịhe gị gbasara iwu akụkọ ihe mere eme site na igbe nkọwa anyị n'okpuru.