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

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

מבוא

הפקודה cv הוא כלי זה נראה במיוחד עבור coreutils פקודות בסיסיות, כגון cp, mv, dd, tar, cat, ועוד, כרגע פועל על המערכת שלך ומציג את אחוז ההתקדמות שלהם. למרות שזה לינוקס ספציפי, יציאת Mac OSX זמין גם.

הורד והתקן

כדי להוריד ולהתקין את הפקודה cv, פנה אל מאגר Github והורד את חבילת המקור (שם הקובץ שהורדת במקרה שלי היה "cv-master.zip"). בסיום, לחלץ את הקבצים באמצעות הפקודה הבאה:

 פתח את cv-master.zip 

הזן את הספרייה "cv-master" והפעל את הפקודות הבאות כדי לבנות את החבילה ולהתקין את הקובץ הבינארי:

 להפוך את ההתקנה 

שים לב כי הפקודה cv תלוי בספריה "ncurses", לכן ייתכן שיהיה עליך להתקין חבילות המתאימות שניתן לבצע על ידי הפעלת הפקודה הבאה:

 sudo apt- לקבל להתקין ncurses-dev 

נקודה נוספת שראוי לציין היא כי לאחר ההתקנה, בינארי נכנס "/ usr / local / bin", כדי לוודא כי הנתיב מתווסף לסביבת המערכת שלך, אחרת פגז שלך לא יוכל למצוא את הפקודה בעת הפעלת זה. חלופה תהיה לשנות את הספרייה הנוכחית שלך ל "/ usr / local / bin" ולאחר מכן לבצע את הפקודה באופן הבא:

 ./קו"ח 

נוֹהָג

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

הערה : כל הדוגמאות המוצגות במאמר זה נבדקות על Ubuntu 14.04.

דוגמה בסיסית

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

 ./קו"ח 

הפקודה הציגה את הפלט הבא:

השדה הראשון בפלט הוא PID של הפקודה להיות במעקב, ואחריו את הפקודה ואת ההתקדמות באחוזים, כמו גם מספרים. נקודה שראוי לציין היא שהקו הראשון בפלט של הפקודה cv ( cat inactive/flushing/streaming/... ) הוא ברירת המחדל - בדקתי את הקוד ומצאתי שהקו מודפס בתנאים מסוימים, שככל הנראה מקבלים תמיד (אנחנו יכולים להתעלם ממנו בינתיים).

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

קבל תפוקה מוערכת של קלט / פלט ו- ETA

אמנם זה שימושי כדי לדעת את ההתקדמות של הפקודה, זה אפילו יותר נוח אם אתה מכיר מידע אחר כמו הזמן שנותר או ETA. לשם כך, הפקודה cv מציעה את אפשרות שורת הפקודה.

לדוגמה, כאשר הפקודה הבאה בוצעה:

 ./cv -w 

הוצג הפלט הבא:

 [9287] cp / media / heanshu / F58B-9AA9 / casper-rw 10.3% (105.2 MiB / 1 GiB) 27.9 MiB / s eta 0:00:32 

שני השדות האחרונים בפלט, המייצגים את התפוקה המשוערת של קלט / פלט ו- ETA, מסמנים כי פעולת ההעתקה מתקדמת בקצב של 27.9 MB לשנייה, ויידרשו 32 שניות לסיום.

לולאה הפקודה

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

 cv -m 

זה יהיה לוודא כי הפקודה cv לולאות בתהליכי פיקוח עדיין פועל.

סיכום

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

האם אי פעם השתמשת cv או כל פקודה דומה אחרת? איך היתה החוויה שלך? שתף את המחשבות שלך בהערות הבאות.