Powerarfin Linux "Umurnin Tarihi" a cikin Bash Shell


Muna amfani da umarnin tarihi akai-akai a cikin ayyukanmu na yau da kullun don bincika tarihin umarni ko don samun bayanai game da umarnin da mai amfani ya zartar. A cikin wannan sakon, za mu ga yadda za mu iya amfani da umarnin tarihi yadda ya kamata don cire umarnin wanda masu amfani suka aiwatar a cikin harsashin Bash. Wannan na iya zama da amfani don manufar dubawa ko don gano wane umarnin da aka zartar a wane kwanan wata da lokaci.

Ta hanyar kwanan wata da timestamp ba za a gani yayin aiwatar da umarnin tarihi ba. Koyaya, bash shell yana ba da kayan aikin CLI don gyara tarihin umarnin mai amfani. Bari mu ga wasu nasihu da dabaru masu amfani a hannu da ikon umarnin tarihi .

1. Lissafi Na /arshe/Duk Dokokin Da Aka zartar a cikin Linux

Kashe umarni mai sauki tarihi daga tashar zai nuna muku cikakken jerin umarnin karshe da aka zartar tare da lambobin layi.

[[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. Lissafa Duk Dokoki tare da Kwanan wata da Timestamp

Yadda ake nemo kwanan wata da timestamp akasin umarni? Tare da 'fitarwa' umarni tare da canji zai nuna umarnin tarihi tare da timestamp daidai lokacin da aka aiwatar da umarnin.

[[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. Dokokin Tace a Tarihi

Kamar yadda zamu iya ganin wannan umarnin ana maimaita shi sau da yawa a cikin fitarwa a sama. Yadda ake tace umarni masu sauƙi ko mara ɓarna a cikin tarihi?. Yi amfani da umarnin 'fitarwa' mai zuwa ta hanyar tantance umarni a HISTIGNORE = 'ls -l: pwd: kwanan wata:' ba zai sami ceto ta tsarin ba kuma ba za a nuna shi cikin umarnin tarihi ba.

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

4. Watsi da Kwafin Dokoki a Tarihi

Tare da umarnin da ke ƙasa zai taimaka mana mu yi watsi da shigarwar umarni biyu waɗanda mai amfani ya yi. Shigar da shigarwa ɗaya kawai za a nuna a cikin tarihi, idan mai amfani ya aiwatar da umarni ɗaya sau da yawa a cikin Bash Prompt.

[[email  ~]$ export HISTCONTROL=ignoredups

5. Unset fitarwa Command

Fitar da umarnin fitarwa akan tashi. Zartar da unset fitarwa tareda canzawa daya bayan daya duk irin umarnin da aka fitar dashi ta hanyar fitarwa .

[[email  ~]$ unset export HISTCONTROL

6. Adana Umurnin fitarwa har abada

Yi shigar kamar haka a cikin .bash_profile don adana fitarwa umarni dindindin.

[[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. Jera Takamaiman Umarnin da Aka Kashe

Yadda zaka ga tarihin umarni da takamaiman mai amfani ya aiwatar. Bash yana adana bayanan tarihi a cikin fayil ɗin '~ ~/.bash_history' . Zamu iya duba ko buɗe fayil don ganin tarihin umarni.

[[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. Kashe Tarihin Dokoki

Wasu doungiya basa kiyaye tarihin umarni saboda manufofin tsaro na kungiyar. A wannan yanayin, za mu iya shirya .bash_profile fayil (Fayil ɗin ɓoye) na mai amfani da yin shigarwa kamar yadda ke ƙasa.

[[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)

Ajiye fayil da loda canje-canje tare da umarnin da ke ƙasa.

[[email  ~]$ source .bash_profile

Fadakarwa: Idan baku son tsarin ya tuna da umarnin da kuka rubuta, kawai aiwatar da umurnin da ke ƙasa wanda zai iya dakatar da shi ko dakatar da yin rikodin tarihi akan tashi.

[[email  ~]$ export HISTSIZE=0

Tukwici: Bincika 'HISTSIZE' kuma shirya a cikin '/ etc/profile' fayil tare da superuser. Canji cikin fayil zai yi tasiri a duniya.

9. Share ko Share Tarihin Umarni

Tare da kibiya sama da kasa, zamu iya ganin umarnin da aka yi amfani dashi a baya wanda zai iya taimakawa ko kuma zai iya baka haushi. Share ko share duk shigarwar daga jerin tarihin bash tare da zabin ‘-c’.

[[email  ~]$ history -c

10. Binciko Umarni a Tarihi Ta amfani da Grep Command

Binciko umarni ta hanyar '.bash_history' ta hanyar lika fayil din tarihinku zuwa 'grep' kamar yadda yake a kasa. Misali, umarnin da ke kasa zai bincika kuma ya nemo 'pwd' umarni daga jerin tarihin.

[[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. Bincike Execarshe Anyi Umurnin

Nemo umarnin da aka zartar a baya tare da umarnin 'Ctrl + r' . Da zarar ka samo umarnin da kake nema, latsa 'Shigar' don aiwatar da wannan kuma danna 'esc' don soke shi.

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

12. Tuno Umarnin Da Aka Kashe Na Karshe

Ka tuna takamaiman umarnin da aka yi amfani da shi a baya. Haɗin Bang da 8 (! 8) umarni zai tuna umarnin lamba 8 wacce kuka zartar.

[[email  ~]$ !8

13. Tuna Musamman Umurnin Qarshe

Ka tuna umarnin da aka yi amfani da shi a baya (netstat -np | grep 22) tare da '!' Sannan kuma a bi ta da wasu haruffa na wannan umarnin na musamman.

[[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  -

Mun yi ƙoƙari don haskaka ikon umarnin tarihi. Koyaya, wannan ba ƙarshen sa bane. Da fatan za a raba kwarewar ku na umarnin tarihi tare da mu ta akwatin tsokaci da ke ƙasa.