דף הבית » איך ל » כיצד לשמור את הפלט של פקודה לקובץ בבש (aka מסוף לינוקס ו- MacOS)

    כיצד לשמור את הפלט של פקודה לקובץ בבש (aka מסוף לינוקס ו- MacOS)

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

    זה עובד bash על כל מערכת הפעלה, מ- Linux ו- MacOS ל- Windows 10 של אובונטו מבוססי בס הסביבה.

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

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

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

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

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

    ls> / path / to / file

    אין צורך לציין את הנתיב לקובץ קיים. ציין נתיב חוקי כלשהו, ​​ובאש ייצור קובץ במיקום זה.

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

    cat / path / to / file

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

    uname -a >> / path / to / file

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

    כאשר תציג את תוכן הקובץ, תראה שתוצאות הפקודה השנייה שלך צורפו לסוף הקובץ:

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

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

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

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

    הפקודה tee / path / ל / קובץ

    זה יחליף כל דבר בקובץ עם הפלט של הפקודה, בדיוק כמו > מפעיל.

    לצינור הפלט של הפקודה tee , הדפסה אל המסך שלך ושמירתו לקובץ, אך צירוף אותו לקובץ:

    הפקודה tee -a / path / to / file

    זה יוסיף את הפלט לסוף הקובץ, בדיוק כמו >> מפעיל.

    את מעטפת bash כוללת כמה מפעילים נוספים, מתקדמים לבצע פונקציות דומות. הם יהיו שימושיים במיוחד אם אתה כותב סקריפטים באש. עיין בפרק I / O Redirection במדריך Advanced Bash-Scripting לקבלת מידע מפורט יותר.