מדריך יוניקס (Unix) מספר 5 - איך להשתמש בצינורות (Pipes), בהיסטוריה(History), מיון (Sort) ובפקודות head וtail
צינורות (Pipes) מאפשרים לנו לנתב פלט של תוכנה (פקודה) אחת להיות קלט של פקודה אחרת. הצינורות נוראה שימושיים ומייעלים את העבודה ביוניקס. כמו כן, במהלך עבודתנו ביוניקס, קורים מצבים בהם אנו נזקקים לפעולות שעשינו בעבר ולכן נשתמש בפקודת הHistory.
What You'll Need
- מערכות הפעלה
- יוניקס
- מיון
- צינורות
- Unix
- Pipes
- היסטוריה
Steps
- 1
Step 1
הPipes מאפשרים לעבודתנו ביוניקס להיות מודולרית יותר. בעזרת התו " | " נוכל להשתמש בפלט של פקודה אחת כקלט של פקודה אחרת. למשל, כאשר נבצע את הפקודה ls -l נקבל פלט על המסך המראה את כל הספריות והקבצים בתיקיה בה אנו נמצאים - אך פעולת הls -l מוגבלת לפלט מסוים ובמידה ונרצה לקבל פלט ספציפי לא נוכל. אם נרצה לקבל כפלט למשל רק שורה אחת מבין כל השורות שls -l , נעזר בצינור. לדוגמא: ls -l | grep funfile הפלט של ls -l (הצגת כל הספריות והקבצים בתיקיה) נכנס כקלט לפקודת הgrep השולפת רק את השורה בה מופיעה המילה funfile. - 2
Step 2
ניתן להשתמש בכל פקודה המקבלת קלט ובכל הוריאציות שלהם. ניתן אפילו להשתמש בPipe ללא הגבלה. לדוגמא: ls -l | grep funfile | wc -c הפלט של ls -l יכנס כקלט לgrep אשר תבצע שליפה של השורה שבה מופיעה המילה funfile והפלט של grep funfile יכנס כקלט לwc -c אשר תספור את מספר התווים מהקלט. הPipe מהווה כלי חשוב ועוצמתי ביוניקס וחשוב להכיר אותו טוב. -
- 3
Step 3
קצת היסטוריה. בכדי לראות את הפעולות שעשיתם בעבר ניתן להשתמש בפקודה history. כאשר תקישו את הפקודה תקבלו בעמודה השמאלית ביותר את מספר הפקודה, בעמודה המרכזית את השעה בה התבצעה הפעולה ובצד ימין את הפקודה שהוקשה. - 4
Step 4
ביוניקס קיימת האופציה לראות מספר שורות מהסוף בעזרת tail ומההתחלה בעזרת head. לדוגמא: history | tail -5 דוגמא זו מראה כיצד לראות את כל השורות עד לשורה החמישית מהסוף בהיסטוריה (בעזרת שימוש בצינור) - 5
Step 5
דוגמא לשימוש בhead: history | head -3 פקודה זו תציג את כל שורות ההיסטוריה עד לשורה השלישית מההתחלה. - 6
Step 6
בכדי להראות שורה ספציפית בהיסטוריה נוכל להשתמש בשתי הפקודות יחדיו: history | tail -5 | head -1 פקודה זו תציג בפנינו רק את השורה החמישית מהסוף מכיוון שtail -5 יציג את השורה החמישית מהסוף והhead -1 יקח רק את השורה הראשונה מההתחלה של הפלט שהתקבל מtail. - 7
Step 7
עוד פקודה שכדאי להכיר היא פקודת הsort. דוגמא לשימוש בפקודת הsort: ls | sort פקודה זו תמיין בסדר האלפ"בית את הפלט של פקודת הls.