מאסטרינג ההיסטוריה של באש
The Bourne Again Shell, הידוע יותר בשם bash, הוא ברירת המחדל עבור רוב הפצות לינוקס. זה חזק מאוד ככל פגזים הפקודה ללכת, ומחזיקה כל מיני טריקים nifty עבור אלה מוכנים ללמוד. אחת התכונות הטובות ביותר היא, לדעתי, את מערכת ההיסטוריה הפקודה.
ישנן אפשרויות רבות לשימוש עם ההיסטוריה bash, כמה מהם אני משתמש כמעט בכל פעם שאני פותח פגז הפקודה. היום אני יהיה לכסות חלק מן ההיבטים השימושיים ביותר של ההיסטוריה, אבל אני בהחלט לא יוכל לכסות את כולם.
חצים למעלה / למטה
רבים מכם בוודאי מכירים את זה, אבל עבור כל מי שלא, זה יהפוך את החיים שלך הרבה יותר קל. בכל פעם שאתה בתוך פגז הפקודה, פשוט להשתמש בחצים למעלה ולמטה על המקלדת כדי לעבור את רשימת פקודות שהוזנו בעבר. בפעם הבאה שאתה מזין פקודה ארוכה שמתברר שיש שגיאת הקלדה, אתה לא צריך להקליד את כל העניין רק להכות את החץ למעלה ולעשות מה עריכות נדרשים.
!!
תכונה דומה לזו המפורטת לעיל היא המפץ הכפול (!!). תווים אלה שהוכנסו בקליפה מייצגים את הפקודה האחרונה שהוקלדה. נניח שאתה מנסה להפעיל פקודה רק כדי לגלות שאתה צריך הרשאות שורש לעשות את זה. במקום להקליד מחדש את כל הפקודה, אתה יכול פשוט להיכנס
sudo !!
בשא תחליף את !! עבור הפקודה הקודמת, כמו בדוגמה הבאה.
זה גם עובד עוד לאחור, אתה יכול לעשות משהו כמו
-5
כדי להחזיר את הפקודה 5 רשומות בחזרה בהיסטוריה.
!(מִלָה)
אולי לפני כמה ימים הקלדת פקודה ארוכה ומורכבת לתוך הקליפה שלך, לדוגמה סדרה של אפשרויות עבור "wterm". תוכל למצוא ולהיכנס מחדש מאשר בפקודה באמצעות החיפוש שנבנה בהיסטוריה. אתה פשוט להוסיף את האותיות הראשונות של הפקודה אחרי! ואת באש ימצאו אותו.
תיזהר עם זה. אתה עלול בסופו של דבר פועל משהו אחר ממה שציפית. אל תשתמש בפקודות שעלולות להיות מסוכנות כמו "rm" או "fdisk".
!?(מִלָה)
זה דומה לתכונה האחרונה בכך שהיא מחפשת את ההיסטוריה של המילה שהוזנה, אבל שלא כמו (מילה) זה ימצא את המילה בכל מקום בפקודה, לא רק את ההתחלה.
תיזהר עם זה. אתה עלול בסופו של דבר פועל משהו אחר ממה שציפית. אל תשתמש בפקודות שעלולות להיות מסוכנות כמו "rm" או "fdisk".
Ctrl-R
זה יכול להיות כלי ההיסטוריה האהוב עלי. זה קצת כמו ! פריט לעיל, אבל אינטראקטיבי. בקליפת הפקודה שלך, הקש Ctrl-R, וזה יתחיל חיפוש. תוך כדי הקלדה, באש יחפש את ההיסטוריה ויציג בפניך את התוצאות תוך כדי הקלדה. כאשר הוא מראה את הפקודה שאתה רוצה, פשוט להכות להיכנס והיא תפעיל את הפקודה. זה יכול להיות בטוח יותר מאשר דברים כמו ! כי אתה יכול לראות מה הפקודה תהיה לפני שאתה מפעיל את זה, אז אתה לא צריך לנחש או להסתמך על הזיכרון.
חיפוש ידני
אולי אתה לא אוהב את הדרך Ctrl-R עובד, או שאתה רוצה לראות את כל הפקודות שהקלדת, או רק את אלה שמכילים מילה מסוימת. פקודת ההיסטוריה תציג לך את היסטוריית הפקודות המלאה שלך, יחד עם מספר ההיסטוריה של כל פקודה (החזק את המחשבה הזאת, נסקור את המספרים האלה בעוד רגע).
ניתן גם לציין את מספר הפריטים שיופיעו בפקודת ההיסטוריה . כדי לראות את 10 הערכים האחרונים בהיסטוריה, תוכל להקליד
היסטוריה
כדי לראות את כל רשומות ההיסטוריה שמכילות מילה מסוימת, תוכל להשתמש ב- grep כדי לסנן את התוצאות, כמו להלן.
!(מספר)
כאשר אתה משתמש בפקודת ההיסטוריה כדי להציג את רשימת ההיסטוריה של הפקודות שלך, תראה שכל פריט ברשימה כולל מספר המשויך אליה. אתה יכול להשתמש בו כדי לזכור את הפקודה בפרט. לדוגמה, פריט 87 יכול להיות מופעל שוב על ידי הזנת
87
לתוך הקליפה שלך.
החלפת מילים
זה די גדול. כמה פעמים כתבתם פקודה ארוכה גדולה רק כדי להבין שאתה שם, למשל, HDD כאשר אתה רוצה HDC ? ובכן באש יש לך מכוסה. ניתן להחליף מילה בפקודה הקודמת עם אחר באמצעות "^", כמו בדוגמה הבאה
ניהול ההיסטוריה שלך
כברירת מחדל, ההיסטוריה נשמרת ב ~ / .bash_history. אתה יכול להתמודד עם קובץ זה אבל אתה רואה לנכון, אבל יש כמה דברים שימושיים שאתה יכול לנסות לנהל את זה באופן אוטומטי. כלומר, הגדרת משתני הסביבה HISTSIZE ו HISTFILESIZE . כדי להגדיר את מספר הערכים שניתן לשמור בקובץ ההיסטוריה ל- 1000, הזן
ייצוא HISTFILESIZE = 1000
לתוך הקליפה שלך. זה יגביל את הקובץ ל 1000 רשומות. אם ברצונך להפוך את השינוי הזה לצמיתות, שים את פקודת הייצוא בקובץ .bashrc או .bash_profile.