דף הבית » איך ל » כיצד להשתמש ההיסטוריה שלך Bash ב מסוף לינוקס או MacOS

    כיצד להשתמש ההיסטוריה שלך Bash ב מסוף לינוקס או MacOS

    פגז bash הוא סביבת מסוף סטנדרטית כלולה עם רוב הפצות לינוקס, כלול ב- MacOS, וזמין להתקנה ב- Windows 10. הוא זוכר את הפקודות שאתה מקליד ומאחסן אותם בקובץ ההיסטוריה. אתה בטח יודע כמה יסודות של ההיסטוריה bash, אבל זה הרבה יותר חזק ממה שאתה יכול להבין.

    קיצורי דרך במקלדת

    כדי לדפדף בין היסטוריית הבאש שלך, תוכל להשתמש במספר קיצורי דרך שימושיים רבים של לוח המקשים. לחץ על קיצורי דרך אלה והפקודות שבהן השתמשת בעבר יופיעו בשורת הפקודה.

    • חץ המורה למעלה או Ctrl + P: עבור אל הפקודה הקודמת בהיסטוריה שלך. לחץ על המקש מספר פעמים כדי לחזור אחורה באמצעות הפקודות שבהן השתמשת.
    • חץ למטה או Ctrl + N: עבור אל הפקודה הבאה בהיסטוריה שלך. לחץ על המקש מספר פעמים כדי לעבור קדימה באמצעות הפקודות שבהן השתמשת.
    • Alt + R: בטל כל שינוי בפקודה ששלחת מההיסטוריה שלך אם ערכת אותה בשורה הנוכחית.

    לשח יש גם מצב "זוכר" מיוחד שבו ניתן להשתמש כדי לחפש פקודות שהפעלת בעבר, במקום לגלול בהן אחת אחת.

    • Ctrl + R: זכור את הפקודה האחרונה התואמת את התווים שאתה מספק. לחץ על קיצור זה והתחל להקליד כדי לחפש את היסטוריית הבאש שלך עבור פקודה.
    • Ctrl + O: הפעל את הפקודה שמצאת באמצעות Ctrl + R.
    • Ctrl + G: השאר את מצב חיפוש ההיסטוריה מבלי להפעיל פקודה.

    הצג את היסטוריית הבש שלך

    ניתן להדפיס את כל היסטוריית הבאש למסך על-ידי הפעלת פקודה אחת:

    היסטוריה

    תראה רשימה של כל הפקודות בהיסטוריית הבאש שלך, יחד עם מספר שמאלה מכל אחת מהן. הפקודה עם "1" לידה היא הפקודה העתיקה ביותר בהיסטוריה שלך bash, ואילו הפקודה עם המספר הגבוה ביותר הוא האחרון.

    אתה יכול לעשות כל דבר שתרצה עם הפלט. לדוגמה, אתה יכול צינור זה grepהפקודה כדי לחפש את ההיסטוריה הפקודה.

    היסטוריה | grep your_search

    אתה יכול גם צינור זה זנב כדי להציג רק מספר קטן של הפקודות האחרונות שהפעלת. לדוגמה, הפקודה הבאה תציג את 5 הרשומות האחרונות בהיסטוריה שלך.

    היסטוריה | 10 Abdel

    הפעל פקודות מההיסטוריה שלך

    Bash יכול במהירות "להרחיב" פקודות קודמות, או להרחיב אותם ולשנות אותם. תכונה זו ידועה בשם "הרחבת היסטוריה" ומשתמש סימן קריאה, המכונה "המפץ". פשוט להקליד אותם בשורת הפקודה ולחץ על Enter כדי להפעיל אותם כאילו היית מפעיל כל פקודה אחרת.

    כדי להפעיל פקודה ספציפית מההיסטוריה שלך במספר שלה, השתמש בפקודה הבאה:

    !#

    לדוגמה, נניח שרצית להפעיל את הפקודה ה -12 מהיסטוריית הבאש שלך. זוהי הפקודה עם "12" משמאל לה בעת הפעלת היסטוריה פקודה. הקלד את הפקודה הבאה.

    !12

    כדי להפעיל מחדש את הפקודה האחרונה שהפעלת, הקלד את הטקסט הבא. זה יש את אותה השפעה כמו לחיצה על החץ למעלה פעם אחת כדי להציג את הפקודה הקודמת ולאחר מכן הקשה על Enter.

    !!

    אתה יכול גם להתייחס לפקודה מספר מסוים של השורות בחזרה. לדוגמה, !-2 היה להפעיל את הפקודה השנייה האחרונה אתה רץ. !! פירושו אותו דבר !-1 .

    הרחבה זו פועלת בכל מקום על הקו. אתה יכול להוסיף כל דבר שאתה אוהב לפני או אחרי !! או כל ביטוי אחר בסעיף זה. לדוגמה, באפשרותך להקליד את הפקודה הבאה כדי להפעיל מחדש את הפקודה האחרונה ששלחת סודו, נותן לו הרשאות שורש. זה שימושי במיוחד אם אתה שוכח להוסיף  סודו לפני הפעלת פקודה.

    סודו !!

    לחלופין, לדוגמה, תוכל לבצע מחדש את הפקודה הקודמת ולהצייד את הפלט שלה ל- grep כדי לחפש טקסט.

    !! | טקסט grep - -

    כדי לחפש פקודה בהיסטוריה שלך ולהפעיל אותה, הקלד את הפרטים הבאים. פעולה זו תפעיל את הפקודה האחרונה שתואמת לטקסט שתציין:

    !טקסט

    אז, אם לאחרונה רץ פקודה שהחלה עם פינג, באפשרותך להפעיל את הפקודה הבאה כדי לחפש אותה. זה יחפש אחורה דרך ההיסטוריה שלך, אתר את הפקודה האחרונה שמתחיל עם "פאי", ומיד להפעיל אותו:

    !פאי

    ניתן לצרף : p לכל אחת מההרחבות והבאש לעיל ידפיסו את הפקודה למסוף מבלי להפעיל אותה. אפשרות זו שימושית אם ברצונך לאשר שאתה בוחר את הפקודה הנכונה לפני שתפעיל אותה.

    !12: p
    !!: p
    !טקסט: p

    שימוש חוזר טיעונים מההיסטוריה שלך

    Bash גם מאפשר לך להפעיל פקודה חדשה, אבל להשתמש טיעונים של פקודות קודמות בהיסטוריה שלך. זה יכול לעזור לך במהירות שימוש חוזר ארוך או מסובך טיעונים ללא צורך להקליד אותם מחדש.

    הפקודה!

    לדוגמה, נניח שהפעלת את הפקודה גע / בית / כריס / some_long_file_name_you_dont_want_to_type_again . כעת ברצונך להפעיל את הפקודה nano / home / chris / some_long_file_name_you_dont_want_to_type_again. במקום להקליד את כל העניין מאפס, אתה יכול לרוץ:

    ננו!

    ה !$ היה גורם bash למלא באופן אוטומטי את הארגומנט האחרון מהפקודה הקודמת שלך.

    זה רק ממלא את הטיעון האחרון. אז, אם אתה מפעיל ping google.com -c 4 ולאחר מכן להפעיל פינג! $ , זה היה רק ​​להתרחב "פינג 4".

    כדי לתקן מצב זה, תוכל להשתמש בטריק הבא כדי להרחיב את הארגומנט הראשון בשורה, במקום האחרון:

    הפקודה!

    אז, אם אתה רץ ping google.com -c 4 ואז רץ ping! ^ , באש ירחיב את זה "ping google.com ".

    כדי למלא את כל הארגומנטים ששימשו בפקודה הקודמת במקום רק ארגומנט אחד, עליך להשתמש בפריטים הבאים:

    פקודה !*

    אז, אם אתה רץ ping! * במקום זאת, bash ימלא באופן אוטומטי את כל הארגומנטים שבהם השתמשת בפקודה הקודמת.

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

    פקודה: #

    לדוגמה, הפעלנו את הפקודה שם מארח מוקדם יותר. אם נריץ את הפקודה הבאה, באש יחפש אחורה לאורך ההיסטוריה כדי למצוא את הפקודה האחרונה שמתחילה באותיות שאנו מקלידים וממלא את הטיעון שציינו. אז, אם אנחנו רצים echo! su: 2 , באש יחפש אחורה כדי למצוא את הפקודה האחרונה מתחילה עם "su"ולמלא את הטיעון השני שלה, שהוא"אובונטו".

    טריקים אחרים לעבוד כפי שניתן לצפות. לדוגמה, החלפת המספר בכוכבית, הידועה בשם התו הכללי, גורמת לאש למלא את כל הארגומנטים מהפקודה:

    הפקודה abc: *

    הפעל מחדש את הפקודה הקודמת ושינה אותה

    Bash גם מאפשר לך להפעיל מחדש את הפקודה הקודמת ולציין משהו שיש לשנות. זה יכול להיות שימושי עבור תיקון שגיאת הקלדה בפקודה. לדוגמה, הפקודה הבאה תציג מחדש את הפקודה הקודמת, שתחליף את הטקסט "א ב ג"עם זה את הטקסט"xyz".

    ^ ^ ^

    לדוגמה, אם רצית בטעות פינג, אז אתה יכול לרוץ ^ Gog ^ goog ובאש יפעיל את הפקודה ping google.com במקום זאת.

    איפה ההיסטוריה שלך מאוחסן, ואיך לנקות את זה

    פגז ה- bash מאחסן את היסטוריית הפקודות שהפעלת בקובץ ההיסטוריה של חשבון המשתמש שלך ב- ~ / .bash_history כברירת מחדל. לדוגמה, אם שם המשתמש שלך הוא bob, תמצא את הקובץ בכתובת /home/bob/.bash_history.

    מכיוון שההיסטוריה שלך מאוחסנת בקובץ, היא נמשכת בין פעילויות באתר. אתה יכול להפעיל כמה פקודות, לצאת, לחזור למחרת, פקודות אלה עדיין יהיה בקובץ ההיסטוריה שלך מוכן להציג ולהשתמש. לכל חשבון משתמש יש קובץ היסטוריה משלו עם היסטוריית פקודות נפרדת.

    כדי לנקות את היסטוריית הבאש שלך, באפשרותך להפעיל את הפקודה הבאה. פעולה זו תמחק את תוכן הקובץ .bash_history של חשבון המשתמש שלך:

    היסטוריה

    בש רק זוכר מספר מצומצם של פקודות כברירת מחדל, מניעת קובץ ההיסטוריה מגידול גדול מדי. מספר רשומות ההיסטוריה bash זוכר נשלטת על ידי HISTSIZEמשתנה. ברירת המחדל היא בדרך כלל 500 או 1000 רשומות. באפשרותך להפעיל את הפקודה הבאה כדי להציג את גודל היסטוריית הבאש במערכת שלך.

    echo $ HISTSIZE

    כדי להגדיר את ההיסטוריה שלך לאפס, הפעל את הפקודה הבאה.

    HISTSIZE = 0

    עבור ההפעלה הנוכחית, bash לא תאחסן את כל רשומות ההיסטוריה, אלא אם כן תפעיל פקודה כמו HISTSIZE = 1000 כדי להחזיר אותו למספר מסוים של ערכים.

    כיצד להתעלם מרחבים כפילויות

    Bash מאפשר לך להתעלם מערכים היסטוריים שמתחילים בחלל אם אתה מגדיר את HISTCONTROLמשתנה ל ignorespace.

    HISTCONTROL = איזור

    הקלד רווח לפני פקודה לפני הפעלתו בקליפת הבאש והפקודה תפעל כרגיל, אך לא תופיע בהיסטוריה שלך אם יש לך משתנה זה מופעל. זה מאפשר לך לשמור על ההיסטוריה שלך קצת מנקה, בחירה להפעיל פקודות מבלי להופיע בהיסטוריה שלך.

    Bash גם מאפשר לך להתעלם פקודות כפולות שיכולים העומס ההיסטוריה שלך. כדי לעשות זאת, בחר HISTCONTROL ל התעלמו.

    HISTCONTROL = התעלמו

    כדי להשתמש בשני ignorespace ו התעלמו תכונה, להגדיר את HISTCONTROL משתנה ל התעלם.

    HISTCONTROL = להתעלם

    שים לב שמשתני הבאש שהגדרת יישארו רק עבור הפעילות הנוכחית. עליך להוסיף אותם לקובץ .bashrc של חשבון המשתמש שלך כדי להגדיר ערכים אלה באופן אוטומטי בכל הפעלה של bash שתתחיל, אם אתה מעדיף.

    פגז באש הוא כלי מורכב עם אפשרויות רבות יותר מאשר אלה. להתייעץ עם ההיסטוריה Bash ו Builtins הקטעים הרחבת היסטורית ב באש הרשמי ידני מידע מפורט יותר וטריקים מתקדמים אחרים ניתן להשתמש.