דף הבית » איך ל » המדריך למתחילים ל - Script Shell 3 עוד פקודות בסיסיות ורשתות

    המדריך למתחילים ל - Script Shell 3 עוד פקודות בסיסיות ורשתות

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

    כמה פקודות שימושיות בסיסיות

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

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

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

    הד - פקודה זו פשוט מדפיסה (מציג) את כל הטענה שלה על שורת הפקודה כמו פלט

    הוויכוח עם רווחים

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

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

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

    cat file_to_be_read

    נניח שאנו יוצרים קובץ טקסט זה ב- nano:

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

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

    קובץ תבנית grep - -

    אני מבטיח לך, grep יכול לעשות יותר, אבל עכשיו בואו מקל על דברים קלים יותר.

    הפניה מחדש של הפלט

    כדי לנתב מחדש את הפלט של פקודה לקובץ, אנו עושים שימוש באופי מיוחד, הסימן הגדול (>).

    בוא נשנה את הרשימה שלנו, נכון? הזן את הפקודה הבאה:

    echo pepperoni> רשימה

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

    כמו כן, שים לב כי התוכן הקודם של "רשימה" הוסרו. נסה שוב:

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

    הד פלפל צהוב >> רשימה

    קל! נשתמש בפקודה זו כדי ליצור רשימה גדולה יותר, יהיה לנו?

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

    בוא ניקח את הפלט של פקודה והכניס אותה לקובץ:

    ls -al /> ~ / rootlist

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

    צנרת, או שרשור

    צנרת נקראת כך משום שהיא משתמשת בצינור, (|; משותף עם המקש \ ברוב המקשים). בעיקרו של דבר, זה לוקח את הפלט של פקודה אחת ישירות מזינה אותו אחרת. ניתן ליצור שרשראות ארוכות של פקודות כדי לקבל פלט הרצוי מאוד ספציפי בדרך זו, וזה מאוד נוח עבור פקודות כמו grep.

    זה פועל הרבה כמו ">", אבל זה יכול להיות קשור מספר פעמים ואת ההשפעה שלו היא כללית יותר בכך שהוא לא צריך לעבור קובץ טקסט.

    כפי שניתן לראות, grep הוא תלוי-רישיות. ניתן להשתמש בדגל "i" כדי לגרום לו להתעלם מהמקרה.

    הפניה של תשומות

    אתה יכול גם לקחת תשומות מקבצים עבור פקודות באמצעות סמל פחות (<).

    חתול < list

    "זה לא שונה מלהשתמש בוויכוח! "אפשר לומר. ובכן, אתה תהיה נכון במקרה זה. איפה ניתוב מחדש של קלט באמת שימושי הוא שרשור פקודות יחד.

    נניח שאנחנו רוצים לסנן כל מילה שיש לה "pep" בה מתוך קובץ "הרשימה" הנוכחי שלנו לתוך קובץ חדש בשם "תיקונים".

    גרסאות

    בואו נעשה שוב את הפקודה הזו, ונסיע מיון.

    גרסאות

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

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

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

    תסריט פשוט

    בואו ניצור סקריפט שמכיל את הטופס הבא:

    סקריפט

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

    הנה הספרייה שאנו בודקים את הסקריפט ב:

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

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

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

    • tsort - פונקציית מיון טופולוגית מתקדמת יותר
    • tr - מאפשר לך למפות תווים ספציפיים לתווים אחרים, ולתעתק ביניהם.
    • Uniq - מסיר כל שאינו ייחודי (קרא: כפולות)
    • awk - עיבוד טקסט מתקדם באמת שפה / פונקציה שניתן להשתמש בהם כדי להפריד שדות בשמות קבצים
    • לחתוך, להדביק / להצטרף - פקודות שימושי לבידוד שדות מקבצי טקסט והוספת נתונים חדשים לתוך עמודות
    • לחפש - חיפושים כמו grep עושה, אבל משתמש בקובץ מילון (זה יכול להיות המשתמש שצוין) עבור החיפוש
    • wc - מאפשר לך לקבל ספירת מילים, ספירת שורות, ספירת תווים ועוד

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

    מהם חלק מהסקריפטים האהובים עליך? יש לך סקריפטים מיוחדים לשימוש עבור קבצים מבוססי טקסט? שתף את מה שאתה יודע את ההערות!