Bash Shell -ב סקוניל לש "הירוטסיהה דוקיפ" לש חוכה
.העשו ךיראת הזיאב תעצובמ הדוקפ וזיא תולגל ידכ וא תרוקיב תורטמל ישומיש תויהל יושע הז .Bash תפטעמב םישמתשמ ידי לע העצובש הדוקפה תא ץלחל ידכ תוליעיב הירוטסיהה תדוקפב שמתשהל לכונ דציכ הארנ הז
. הירוטסיה הדוקפה תמצועו םיישומיש םיקירטו םיפיט המכ הארנ ואוב .שמתשמה לש תודוקפה תיירוטסיה תכירעל CLI ילכ קפסמ bash shell ,תאז םע .הירוטסיהה תדוקפ עוציב תעב ואריי אל ןמז תמתוחו ךי
סקונילב ועצובש לכ/תונורחאה תודוקפה תא םושר .1
.תורוש ירפסמ םע הנורחאל ועצובש תודוקפ לש האלמ המישר ךל הארת לנימרטהמ הטושפ הירוטסיה הדוקפ עוציב
[[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
.הדוקפה עוציב תעב המיאתמ ןמז תמתוח םע הירוטסיה תדוקפ גיצת הנתשמ םע הדוקפ 'אוציי' םע ?הדוקפ דגנכ ןמז תמתוח ו ךיראת אוצמל דציכ
[[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
.הירוטסיהה תדוקפב גצות אלו תכרעמה ידי לע רמשית אל ':HISTIGNORE = 'ls -l: pwd: date -ב הדוקפה ןויצ ידי לע האבה 'אוציי' הדוקפב שמתשה .?הירוטסיהב תוינסרה אל וא תוטושפ תודוקפ ןנסל דציכ .לע
[[email ~]$ export HISTIGNORE='ls -l:pwd:date:'
הירוטסיהב תולופכ תודוקפמ םלעתה .4
.Bash תייחנהב םימעפ רפסמ הדוקפ התוא עצבמ שמתשמ םא ,הירוטסיהב גצות תחא המושר קר .השע שמתשהש תולופכ תודוקפ לש הסינכהמ םלעתהל ונל רוזעת ןלהלש הדוקפה תועצמאב
[[email ~]$ export HISTCONTROL=ignoredups
אוצייה תדוקפ לוטיב .5
. אוציי הדוקפה ידי לע ואצויש תודוקפה לכ ,תחא תחא הנתשמ םע אוציי לוטיב הדוקפה תא עצב .ןופלטב אוצייה תדוקפ לוטיב
[[email ~]$ unset export HISTCONTROL
תותימצל אוצייה תדוקפ תא רומש .6
.תותימצל אוציי הדוקפה תא רומשל ידכ .bash_profile ב ןמקלדכ ךרע ןזה
[[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
.תודוקפה תיירוטסיה תא תוארל ידכ ץבוק חותפל וא גיצהל םילוכי ונא . '~/.bash_history' ץבוקב הירוטסיה לש דועית רמוש Bash .יפיצפס שמתשמ ידי לע תעצובמה תודוקפה תיירוטסיה תא תוארל דציכ
[[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
.ןלהל טרופמכ ותוא ןיזהלו (רתסומ ץבוק והז) .bash_profile ץבוקה תא ךורעל םילוכי ונא ,הז הרקמב .ןוגראה לש החטבאה תוינידמ ללגב תודוקפ לש הירוטסיה רמוש וניא םיוסמ ןוגרא
[[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)
.הטמל הדוקפה תועצמאב םייוניש ןעטו ץבוק רומש
[[email ~]$ source .bash_profile
הרעה: תמא ןמזב הירוטסיה טילקהל קיספת וא תיבשתש הטמל הדוקפה תא עצב טושפ ,תדלקהש תודוקפה תא רוכזת תכרעמהש הצור ךניא םא.
[[email ~]$ export HISTSIZE=0
.ילבולג ןפואב עיפשי ץבוקב יונישה .לעה-שמתשמ םע 'etc/profile /' ץבוקב ךורעו 'HIZTSIZE' שפח :םיפיט
תודוקפ תיירוטסיה הקנ וא קחמ .9
.'c-' תויורשפא םע bash לש הירוטסיהה תמישרמ םיכרעה לכ לש יוקינ וא הקיחמ .ךתוא זיגרהל וא ליעוהל היושעש רבעב השמישש הדוקפ תוארל םילוכי ונא ,הטמלו הלעמל ץח םע
[[email ~]$ history -c
Grep דוקיפ תועצמאב הירוטסיהב תודוקפ שפח .10
.הירוטסיהה תמישרמ 'pwd' הדוקפה תא אצמתו שפחת הטמלש הדוקפה ,המגודל .ןלהל טרופמכ' grep'ל ךלש הירוטסיהה ץבוק תרנצ ידי לע 'bash_history.' ךרד הדוקפה תא שפח
[[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
.התוא לטבל ידכ 'esc' לע ץחל רחא רבד ותוא תא עצבל ידכ 'Enter' לע ץחל ,שפחמ התאש הדוקפה תא תאצמש רחאל . 'Ctrl + r' הדוקפה םע רבעב העצובש הדוקפב שפח
(reverse-i-search)`source ': source .bash_profile
הנורחאל העצובש הדוקפה תא רכוז .12
.תעציבש 8 רפסמ הדוקפה תא רוכזי (8 !) 8 -ו Bang הדוקפ לש בוליש .רבעב השמישש תיפיצפס הדוקפ רוכז
[[email ~]$ !8
הנורחאל העצובש תיפיצפס הדוקפ רכוז .13
.וז תמיוסמ הדוקפ לש תויתוא המכ הירחאו '!' םע (netstat -np | grep 22) רבעב הב תשמתשהש הדוקפה תא רוכז
[[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 -
.הטמל ונלש תורעהה תבית ךרד הירוטסיהה תדוקפב ךלש היווחב ונתוא ףתש אנא .הז ףוס אל הז ,תאז םע .הירוטסיהה תדוקפ לש החוכ תא שיגדהל וניסינ