History

From EIK wiki


Autor

Kätlin Lisete Nõgols

Rühm: A21

09.12.16

Sissejuhatus

"History" käsk on Linuxi terminalis väga laialdaselt kasutatav. Sellega on võimalik vaadata eelnevalt sisestatud käskude ajalugu ja teha palju muud põnevat. "History" käsk teeb eelnevalt sisestatud käskude uuesti sisestamise väga kiireks ja mugavaks. Pikkade ja keeruliste käskude puhul annab see võimaluse sisestada käsk kiiresti ning vigadeta. Selles artikis on lühiülevaade history kasutusvõimalustest ja nippidest. Juurde on lisatud ka täpsemad seletused ja näited

Kasutamine

Käskude ajalugu

Täielik ajalugu

Sisestades käsk history kuvatakse täielik nimistu viimati kasutatud käskudest

NÄIDE
history

1  ping google.com
2  echo $PS1
3  tail -f /var/log/messages
4  tail -f /var/log/messages
5  exit
6  clear
7  history
8  clear
9  history

Sisestades export HISTTIMEFORMAT=’%F %T’ kuvatakse käskude ajalugu koos kuupäevade ja kellaaegadega

NÄIDE
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[\u@\h \w]\$ \e[m '
7  2013-06-09 10:40:12   PS1="\e[0;32m[\u@\h \W]\$ \e[m "
8  2013-06-09 10:40:12   PS1="\u@\h:\w [\j]\$ "
9  2013-06-09 10:40:12   ping google.com
10  2013-06-09 10:40:12   echo $PS1

’%F %T’ tähendus

%F asendatakse aasta - kuu - kuupäev
%T asendatakse tunnid - minutid - sekundid

Sorteeritud ajalugu

Sisestades history number kuvatakse täpselt nii palju viimati sisestatud käske, kui suur on sisestatud number

NÄIDE
history 5

1  ping google.com
2  echo $PS1
3  tail -f /var/log/messages
4  tail -f /var/log/messages
5  exit

Sisestades history | grep fraas kuvatakse ajaloost käsud, mis sisaldavad sisestatud fraasi

NÄIDE
history | grep cd
   33  cd Pictures/
   37  cd ..
   39  cd Desktop/
   61  cd /usr/bin/
   68  cd
   83  cd /etc/
   86  cd resolvconf/
   90  cd resolv.conf.d/

Sisestades history | less kuvatakse ühe lehekülje kaupa käskude ajalugu

Sisestades history | tail kuvatakse viimased kümme käsku

Käskude ajaloo kustutamine

Kui soovitakse, et käskude ajalugu ei salvestuks, tuleb .bash_profile failis teha vastav sisestus. Seda varianti kasutatakse tihti turvalisuse eesmärgil

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

Sisestades käsu export HISTSIZE=0 peatub ajaloo salvestamine

Sisestades käsu history -c puhastatakse kogu käskude ajalugu, kuid jätkub uute käskude salvestamine

Piirangud

Samuti on võimalik seada piiranguid, näiteks mitu rida salvestatake käske

vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450

Üks huvitavatest võimalustest on ka varjata ühte konkreetset käsku. Selleks tuleb toimida järgnevalt

export HISTCONTROL=ignorespacels -ltr
pwd
  service httpd stop (rea alguses olev tühik on väga oluline)
history | tail -3

Käskude taasesitamine

Käskude ajaloost on võimalik ka taasesitada juba varem sisestatud käsku. Selleks tuleb kasutada hüüumärki ja reanumbrit kus käsk asub.

NÄIDE
history | more
1  service network restart
2  exit
3  id
4  cat /etc/redhat-release

!4
cat /etc/redhat-release

Ajalugu klaviatuurikombinatsioonidega

Kasutades klaviatuurinuppe on võimalik vaadata eelnevalt sisestatud käske ja neid taasesitada
1. Nool üles - ükshaaval käskude kuvamine tagasisuunas
2. Ctrl-p - ükshaaval käskude kuvamine tagasisuunas
3. ALT-Shift - võimalik tagasi liikuda kõige viimase ja käesoleva käsu vahel
4. Nool alla - ükshaaval käskude kuvamine edasisuunas
5. Ctrl-n - ükshaaval käskude kuvamine edasisuunas

Kokkuvõte

"History" käsku on mugav ja lihtne kasutada, kui on vaja uuesti sisestada pikki ja keerulisi käske. "History" käsuga on võimalik ka saada ülevaade sisestatud käskudest, mis võimaldab meelde tuletada ning üle vaadata tehtud töö.

Kasutatud allikad

1. http://www.thegeekstuff.com/2008/08/15-examples-to-master-linux-command-line-history
2. https://www.digitalocean.com/community/tutorials/how-to-use-bash-history-commands-and-expansions-on-a-linux-vps
3. http://www.tecmint.com/history-command-examples/
4. https://linuxjourney.com/lesson/history-command