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

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

הערה : כל הפקודות המוצגות במאמר זה נבדקו על אובונטו.

דרכים שונות זמין

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

1. הכנס רווח לפני הפקודה

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

אז, פקודה כמו הבאה:

 [שטח] הד "זה סוד עליון" 

לא יופיע בהיסטוריה אם כבר עשית פקודה זו:

 ייצוא HISTCONTROL = ignorespace 

צילום המסך להלן הוא דוגמה להתנהגות זו.

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

2. השבת את כל ההיסטוריה עבור ההפעלה הנוכחית

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

 ייצוא HISTFILE = 0 

HISTFILE הוא מספר השורות (או הפקודות) שניתן לאחסן ברשימת ההיסטוריה עבור הפעלת bash מתמשכת. כברירת מחדל, משתנה זה כולל ערך מוגדר - לדוגמה, 1000 במקרה שלי.

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

3. מחק את כל ההיסטוריה לאחר שתסיים

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

 history -ww 

כפי שכבר צוין, זה יהיה באותו אפקט כמו הפתרון HISTFILE שהוזכרו לעיל.

4. לכבות את ההיסטוריה רק ​​עבור העבודה שאתה עושה

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

 [רווח] להגדיר + ההיסטוריה o 

הערה : [space] מייצג רווח ריק.

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

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

 [Space] set -o היסטוריה 

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

5. מחק פקודות ספציפיות מההיסטוריה

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

 [היסטוריה] היסטוריה grep "חלק של הפקודה שברצונך להסיר" 

הפקודה הנ"ל תפיק רשימה של פקודות תואמות (הנמצאות ברשימת ההיסטוריה) עם מספר [num] לפני כל אחת מהן.

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

 history [num] 

צילום המסך הבא הוא דוגמה לכך.

הפקודה השנייה "הד" הוסרה בהצלחה.

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

סיכום

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