Bash vs Python для DevOps инженеров и системных администраторов
תוכן עניינים:
, נדבר על פקודת
history
, המאפשרת לך להציג רשימה של פקודות שהוצאו בעבר, לחפש ברשימה ולתפעל את קובץ ההיסטוריה.
שימוש
history
הפקודה וההיסטוריה
history
היא מעטפת מובנית, והתנהגותה עשויה להיות שונה מעט ממעטפת לקליפה. נעסוק בגרסת
history
המובנית של בש.
בצורה הפשוטה ביותר, כאשר מופעלת ללא כל אפשרות או טיעון, פקודת
history
מציגה את רשימת ההיסטוריה כולה עם מספרי שורות.
history
… 467 git push 468 tail -f var/logs/error 469 nano +22, 5 functions.sh 470 source project-env/bin/activate 471 history
הקלדת
!n
מבצעת את הפקודה n-th מרשימת ההיסטוריה, ו
!-n
הפקודה n שורות אחורה. בדוגמה הבאה אנו מבצעים את הפקודה בשורה
467
:
!467
דרך נוספת לבצע פקודה היא להשתמש בהרחבת
!word
word
מתייחס לפקודה האחרונה ביותר שמתחילה ב- 'word'.
בדרך כלל,
history
מציגה קווי פלט רבים שאינם מתאימים למסך. לצפייה בפלט עמוד אחד בכל פעם, צינור אותו לתוכנית הביפר כמו פקודה
less
או
less
:
history | less
להצגת השורות
n
האחרונות, העבירו את המספר כארגומנט לפקודה. לדוגמה, כדי להציג רק את חמשת השורות האחרונות מרשימת ההיסטוריה שתקלידו:
history -5
השתמש במקשי החצים
up
down
כדי לנווט בערכים ברשימה. כאשר מוצגת הפקודה שחיפשת, לחץ על
Enter
כדי לבצע אותה.
סוג
!!
כדי לבצע את הפקודה הקודמת:
!!
זה יעיל במיוחד כאשר אתה שוכח לבצע הוספת פקודה באמצעות
sudo
, ובמקום להקליד מחדש את הפקודה אתה יכול להקליד:
sudo !!
!-1
זהה לזה
!!
ומבצעת את הפקודה האחרונה מרשימת ההיסטוריה
!-2
שנייה אחרונה, וכן הלאה.
^word1^word2^
הרחבה מאפשרת לך להפעיל מחדש את הפקודה האחרונה המחליפה "word1" ב- "word2". אם הקלדת בטעות את
sduo command
במקום
sduo command
sudo command
אתה יכול לחזור על הפקודה באמצעות המילה הנכונה עם:
^sduo^sudo^
השתמש בפקודה
grep
כדי לסנן את הפלט. לדוגמה, כדי להציג את כל הפקודות כולל "ננו" תפעיל:
history | grep nano
302 sudo nano /etc/resolv.conf 356 nano setup.py 413 sudo nano /etc/hosts 469 nano +22, 5 functions.sh
עכשיו, אם אתה רוצה להפעיל מחדש את הפקודה
nano setup.py
פשוט הקלד:
!356
דרך נוספת לחפש בהיסטוריית הפקודות היא על ידי לחיצה על
Ctrl-R
. הפקודה תשתנה לדברים הבאים ותוכלו לחפש אחר פקודה שבוצעה בעבר.
(reverse-i-search)`':
הקליפה תציג שורה תואמת. כדי לעבור להצעה המתאימה הבאה, לחץ שוב על
Ctrl-R
.
עיין במדריך Bash למידע נוסף על הרחבת היסטוריה, מסכי שינוי ומעצבים.
שמירת רשימת ההיסטוריה
כברירת מחדל, בעת פתיחת הפעלה חדשה, באש קורא את רשימת ההיסטוריה מקובץ
.bash_history
. רשימת הפקודות שמבוצעות בהפעלה הנוכחית נשמרת בזיכרון ונשמרת בקובץ עם סיום הפגישה.
אפשרות
.bash_history
מאפשרת לשמור את רשימת היסטוריית ההפעלה הנוכחית בקובץ
.bash_history
:
history -a
האפשרות
-w
כותבת את רשימת ההיסטוריה המלאה לקובץ ההיסטוריה.
ניקוי היסטוריה
פקודת
history
מאפשרת לך לנקות את רשימת ההיסטוריה המלאה או להסיר חלקים מסוימים.
כדי לנקות את רשימת ההיסטוריה, השתמש באפשרות
-c
:
history -c
כדי למחוק שורה או קווים ספציפיים בין עמדות התחלה וסיום מרשימת ההיסטוריה, השתמש באפשרות
-d
.
לדוגמה, כדי להסיר את הקווים בין 365 ל 375 (כולל שורות אלה), הקלד:
history -d 365 375
כאשר משתמשים במספר שלילי, השורות סופרות חזרה מסוף רשימת ההיסטוריה.
הפקודות שלמעלה
.bash_history
את רשימת ההיסטוריה, שנשמרת בזיכרון, אך אינן מסירות ערכים מקובץ
.bash_history
בדיסק. כדי לנקות את הקובץ, עליכם לכתוב את רשימת ההיסטוריה לקובץ:
history -c
history -w
history -c
history -w
שינוי התנהגות היסטוריה
ניתן להגדיר את התנהגות היסטוריית הבאש באמצעות מספר משתני סביבה שונים. בעת שינוי התנהגות ההיסטוריה, קבע את המשתנים ב
~/.bashrc
או כל קובץ תצורה אחר אשר נטען כאשר המשתמש מתחבר.
כברירת מחדל, באש שומר על 500 שורות ברשימת היסטוריית הפקודות. משתנה
HISTSIZE
מאפשר לשנות ערך זה. כדי להגדיר אותו על 10000 הוסף את השורה הבאה לקובץ ה-
.bashrc
שלך:
HISTSIZE=10000
משתנה
HISTCONTROL
מקבל רשימת ערכים המופרדת במעי הגס המגדירים כיצד נשמרות הפקודות ברשימת ההיסטוריה:
-
ignorespace
- פקודות המתחילות במרחב אינן נשמרות ברשימת ההיסטוריה.ignoredups
- פקודות כפולות לא נשמרות.ignoreboth
-ignoreboth
- הוא קיצור רוח, הכולל גםignorespace
ignoredups
וגםignoredups
.
HISTCONTROL=ignoreboth
כאשר
HISTTIMEFORMAT
המשתנה
HISTTIMEFORMAT
, בש תלוי חותמת זמן של ביצוע עבור הפקודה בכל שורה.
לדוגמה, אם תגדיר:
HISTTIMEFORMAT="%F %T: "
ההיסטוריה תוצג בפורמט הבא:
413 2019-10-27 21:13:07: sudo nano /etc/hosts
סיכום
פקודת
history
מציגה רשימה של פקודות שבוצעו בעבר. לדוגמה, אתה יכול להשתמש בהיסטוריה כדי להציג פקודה ארוכה בה השתמשת בעבר שלא זכור לך.
כיצד לנקות סמלים בשורת המשימות היסטוריית היסטוריית קפיצה ב- Windows 7

מאמר זה מתאר כיצד לנקות או למחוק סמלים בשורת המשימות Windows 7, בדרכים רבות או יותר.
פקודת Chmod בלינוקס (הרשאות קבצים)

ב- Linux הגישה לקבצים מנוהלת באמצעות הרשאות הקבצים, התכונות והבעלות. מדריך זה מכסה כיצד להשתמש בפקודה chmod כדי לשנות את הרשאות הגישה של קבצים וספריות.
פקודת Chgrp בלינוקס (שנה קבוצה)

בלינוקס כל קובץ משויך לבעלים ולקבוצה ויש לו הרשאות הקובעות אילו משתמשים עשויים לקרוא, לכתוב או לבצע את הקובץ. הפקודה chgrpc משנה את הבעלות בקבוצה על קבצים נתונים.