שליטה על שורת הפקודה ב - Linux
אם אתה מבלה הרבה זמן בעבודה על לינוקס, זה הגיוני ללמוד כיצד לייעל את השימוש שלך של אפשרויות שורת הפקודה - במיוחד את הזמן שאתה מבלה להקליד פקודות. רוב משתמשי לינוקס מכירים את ההיסטוריה הבסיסית של שורת הפקודה של לינוקס. הדרך הפשוטה ביותר להימנע להקליד את הפקודה היא להכות את מקש החץ למעלה עד שתמצא את הפקודה שלך, או להשתמש פשוט !!
עבור הפקודה האחרונה שבוצעה. היום נראה לך כמה לא ידוע יחסית, ובכל זאת דרכים יעילות אתה יכול להשתמש בהיסטוריה לינוקס כדי להאיץ את הדרך שבה אתה עובד.
הרחבת צנוע! לעבוד בשבילך
תגיד שהפעלת פקודה שדרשה הרשאת שורש, אבל שכחת לעשות sudo
. במקום להקלידו שוב, או לנווט למעלה ולאחר מכן לצאת, הנה מה שאתה יכול לעשות
$ touch build_04052014.tgz touch: לא ניתן לגעת 'build_04052014.tgz': הרשאה נדחתה $ sudo !! sudo touch new_binary [sudo] סיסמה עבור richa:
אם אתה רוצה לשמור את הפקודה הקודמת לתוך סקריפט חדש, הנה איך אתה יכול לעשות את זה, מבלי להקליד את זה
$ touch build_04052014.tgz $ echo !! > script1.sh $ cat script1.sh touch build_04052014.tgz
חיפוש ולהפעיל פקודה מההיסטוריה
לאחר גישה לפקודת ההפעלה האחרונה יש שימוש מוגבל. לפעמים אתה רוצה לחפש דרך ההיסטוריה כדי למצוא פקק או פקודה גדולה באמת שהקלדת החוצה. פשוט ![keyword]
חיפוש ![keyword]
מאפשר לך לגשת אליו. לדוגמה, היה לך פקודה גדולה שהיית מפעיל בבוקר, ואתה לא ממש זוכר את האפשרויות שנתת, אבל אתה עדיין רוצה להפעיל אותו שוב. אם זהו צילום מסך של ההיסטוריה שלך מאותה תקופה:
אז איך אתה מפעיל את הפקודה שוב? פשוט תעשה:
$! להפוך את brutus.mk & זפת ברוטוס / * brutus.tgz && cp brutus.tgz ../output בניין ....
כיצד לבצע מעל טיעון מן הפקודה הקודמת
לפעמים אתה אולי לא רוצה לבצע פקודה קודמת, אבל רק לשאת את הטענה. ניתן להשתמש באופרטור " !$
" כמוצג להלן.
אם היו מספר ארגומנטים לפקודה הקודמת שלך וברצונך לגשת רק לראשון, תוכל להשתמש ב- " !^
"
$ ls * .png * .txt * .tgz build_04052014.tgz oo2.png out2.png unix.txt OOO1.png out1.png out3.png windows.txt $ ls -a! ^ ls-a * .png oo1.png תרגיל .png out2.png out3.png
כדי לגשת למספר ארגומנט x, פשוט השתמש " ![prev_command]:[argument_number]
". הדוגמה הבאה מציגה זאת בצורה ברורה יותר.
$ ls * .png * .txt * .tgz build_04052014.tgz oo2.png out2.png unix.txt 1.1.png out1.png out3.png windows.txt $ ls -a! ls: 3 ls-a * .tgz build_04052014 .tgz
מה אם יש לך קצת פקודה אתה לא רוצה להופיע בהיסטוריה בכלל - אם אתה רק רוצה להסיר כפילויות יש היסטוריה מנקה. ניתן להגדיר את משתנה הסביבה HISTCONTROL כדי לטפל בזה. הנה איך לעשות את זה.
$ ייצוא HISTCONTROL = erasedups
למנוע פקודה מלהופיע בהיסטוריה
לפעמים, ייתכן שתרצה למנוע פקודות פשוטות טופס להופיע בהיסטוריה, כמו " ls
" או " pwd
". במקרים כאלה, ניתן למנוע מהם להופיע בהיסטוריה באמצעות הפקודה HISTCONTROL שוב, כמו שעשינו בדוגמה לעיל. עם זאת, זה בדרך כלל לא רעיון טוב כדי להסתיר פקודה מלהופיע בהיסטוריה.
כדי להסתיר פקודה, עליך להגדיר תחילה את HISTCONTROL כדי להתעלם משטחים, כלומר להתעלם מכל הפקודות המתחילות בחלל. לאחר מכן, בעת הקלדת הפקודה, הקפד להוסיף רווח נוסף לפני הקלדה. זה ימנע מההיסטוריה לזכור את הפקודה.
$ ייצוא HISTCONTROL = ignorespace
רק במקרה של סיבה מוזרה, ייתכן שתרצה להשבית את ההיסטוריה לינוקס לחלוטין. לשם כך, באפשרותך להשתמש בפקודה הבאה:
$ ייצוא HISTSIZE = 0
אם תחפש את ההיסטוריה שלך עכשיו, היא תהיה ריקה. שים לב כי הפקודה HISTSIZE יכול לשמש גם כדי לשנות את גודל ההיסטוריה שלך. אם אתה רוצה לאחסן יותר פקודות בהיסטוריה, לפתוח את הקובץ .bash_profile בספריית הבית שלך ולשנות את HISTSIZE (לעשות את זה גדול יותר או קטן יותר).
קרדיט תמונה: מסוף פגז שורת הפקודה לינוקס, מבוא לכסות שורת הפקודה