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

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

פקודה PV

פותח על ידי אנדרו ווד, PV - אשר מייצג צינור הצופה - מציג מידע הקשור להתקדמות של נתונים באמצעות צינור. המידע כולל זמן שחלף, אחוז הושלם (עם התקדמות בסרגל), קצב התפוקה הנוכחי, סך הנתונים שהועברו, ו- ETA.

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

האמור מסביר את דף האיש של הפקודה.

הורדה והתקנה

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

 sudo apt-get להתקין pv 

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

תכונות ושימוש

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

עם זאת, הפקודה pv יכול להיות מועיל במקרה זה. הנה דוגמא:

 pv /media/himanshu/1AC2-A8E3/fNf.mkv> ./Desktop/fnf.mkv 

והנה הפלט:

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

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

יש גם מתג תצוגה -n המאפשר לפקודה להציג אחוז שלם, אחד בכל שורה בשגיאה רגילה, במקום מחוון ההתקדמות החזותית הרגילה. להלן דוגמה לפעולה זו:

 pv -n /media/himanshu/1AC2-A8E3/fNf.mkv> ./Desktop/fnf.mkv 

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

הלאה, יש גם אפשרות שורת הפקודה, -L, זה מאפשר לך לשנות את קצב העברת הנתונים של הפקודה pv. לדוגמה, השתמשתי -L להגביל את קצב העברת הנתונים ל 2MB / s.

 pv -L 2m /media/himanshu/1AC2-A8E3/fNf.mkv> ./Desktop/fnf.mkv 

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

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

 pv /media/himanshu/1AC2-A8E3/fnf.mkv gzip> ./Desktop/fnf.log.gz 

סיכום

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