מטא נתונים הם נתונים על נתונים. הגודל לכאורה הוא גודל הנתונים החשובים למשתמש הרגיל של המחשב. התוכן (הטקסט) של האותיות, התמונות, הסרטונים וכו 'של המשתמש מהווים את הגודל לכאורה. נתונים אלה אינם נשמרים באופן שרירותי במחשב. יש לשמור את הנתונים בגודל לכאורה באופן שליטה. זה חייב להיות מזוהה. זה חייב להיות שלם. יש דרישות אחרות לזה. יש צורך בנתונים נוספים כדי להשיג דרישות נוספות אלה, ונתונים נוספים אלה הם נתוני המטא.
זכור, יש רק ספרייה אחת בכרך. השאר הם ספריות משנה. מדריך השורשים מוליד תת-ספריות, המולידות ספריות משנה אחרות יורדות. עם זאת, ספריות משנה נקראות בדרך כלל ספריות. וכך, יש רק עץ ספרייה אחד.
לכן, ls -s אינו שימושי להשגת גודל ספרייה. איזו פקודה שימושית? - הפקודה דו. du מייצג שימוש בדיסק. הוא מדפיס את השימוש בדיסק של הספרייה.
מאמר זה מסביר את התכונות השונות של הפקודה du ב- Linux, המספקת למתכנתים דרכים שונות לדעת את גודל הספריות וספריות המשנה שלהן. Bash היא הקליפה המשמשת לדגימות הקוד של מאמר זה.
תוכן המאמר
- du ללא אופציה או טיעון
- גודל מדריכים אחרים
- גודל לכאורה
- פקודת סודו
- לא כולל רשומות לפי גודל
- exclude = PATTERN
- סיכום
du ללא אופציה או טיעון
ספריית העבודה הנוכחית היא הספרייה שבה משתמש המשתמש כעת. ההנחיה מציגה בדרך כלל את ספריית העבודה הנוכחית. הקלדת דו ללא כל אפשרות וטענה, כך:
שֶׁל
ולאחר מכן לחיצה על מקש Enter תציג את השימוש בדיסק עבור כל ספריות המשנה של ספריית העבודה הנוכחית. הוא יציג מידע זה עבור עץ המשנה של ספריית העבודה הנוכחית. נקודה בתצוגה מייצגת את ספריית העבודה הנוכחית.
כל נתיב של עץ המשנה מיוצג בשורה, בתצוגה. כל שורה מתחילה בגודל הספרייה (שהיא שם המשפחה בנתיב). התצוגה עשויה להיות משהו כמו:
8./dir1/dir2/dir3/dir412./dir1/dir2/dir3
16./dir1/dir2
עשרים./dir1
שים לב שלא ברור אם הגודל הוא בייט או קילובייט או מגה בייט או ג'יגה. קילוביטים של סמל, K פירושו 1024 בתים; מגה בייט של סמל, M פירושו 1,048,576 בתים; גיגה בייט של סמל, G פירושו 1,073,741,824 בתים. על מנת להצביע על הכפילים, יש להשתמש באפשרות -h (מתג), כדלקמן:
שֶׁל -הלאחר מכן התצוגה תיראה כך:
8.0K./dir1/dir2/dir3/dir412K./dir1/dir2/dir3
16K./dir1/dir2
20K./dir1
כאשר משתמשים באפשרות -h, אומרים שהגדלים הם בצורה קריאה.
הערה: עם האפשרות –all, הפקודה du תיתן גם שימוש בדיסק לקבצים; עם זאת, שימוש בדיסק לקבצים לא יטופל במאמר זה.
גודל מדריכים אחרים
נתיב מוחלט אופייני עבור אמצעי אחסון לינוקס הוא כדלקמן:
/בית/ג'ון/אמר/dirTwo/dirThree/dirFourספריית השורש הראשונה / היא. בספרייה זו יש ספריות משנה מיידיות, כולל ספריית הבית. ספריית הבית מכילה את ספריית המשתמש. אם שם המשתמש הוא ג'ון, הוא יכול לתת שם לספריית המשתמש, ג'ון. ספריית המשתמש מזוהה על ידי ~. לכן, המשתמש יכול להשתמש בפקודה cd ~ כדי להגיע לספרייה שלו מכל ספרייה. dirOne היא ספרייה שנוצרה על ידי המשתמש. המשתמש יכול גם ליצור ספריות אחרות ברמה זו. dirTwo, dirThree ו- dirFour הן ספריות משנה לספריות הקודמות שלהן, שנוצרו על ידי המשתמש.
המשתמש יכול לדעת את גודל כל ספרייה אחרת וספריות המשנה שלה (עץ-משנה) מכל ספרייה, תוך עקיפת הנתיב המוחלט כארגומנט. לדוגמה, אם יש צורך בשימוש בדיסק,
/בית/ג'ון/אמר/dirTwoאז הפקודה תהיה:
שֶׁל -ה /בית/ג'ון/אמר/dirTwoאוֹ
שֶׁל -ה~/אמר/dirTwoכאשר ~ מייצג את ספריית המשתמש.
כדי להשתמש בנתיב יחסי, המשתמש חייב להיות כבר בספריית האב המתאימה. לדוגמה, אם ההנחיה מופיעה,
ג'ון@מארח: ~/תגיד $כלומר המשתמש נמצא בספרייה,/home/john/dirOne, אז הפקודה הבאה תיתן את אותה התוצאה כמו הפקודה למעלה:
שֶׁל -הdirTwoהשבילים עדיין יהיו יחסיים. כדי להציג את אותו מידע עבור הספרייה הנוכחית, אין להשתמש בטיעון או להשתמש בנקודה.
ניתן להשתמש בתוכנית זו כדי לקבל את הגודל של ספרייה אחת בלבד, האחרונה בנתיב (לפני הנתיב). אפשר לקבל את גודל הספרייה באמצע הנתיב - ראה exclude = PATTERN להלן.
סכום סופי
ניתן לייצר גודל כולל של כל המדריכים המעורבים. במצב הנ'ל הפקודה תהיה:
שֶׁל -ה --סה'כגודל לכאורה
הגודל לכאורה קטן בדרך כלל משימוש בדיסק. עם זאת, במצבים מסוימים, הגודל לכאורה גדול יותר משימוש בדיסק; סיבה - ראה מאוחר יותר. הפקודה להשיג את הגדלים הנראים לנתיב היחסי למעלה תהיה:
שֶׁל -ה -בגודל המראהdirTwoעומק מקסימלי
עם –max-depth = 0, du מדפיס את הגודל של ספריית העבודה הנוכחית בלבד; עם du –max-depth = 1, du מדפיס את גודל ספריית העבודה הנוכחית ואת הגדלים של כל ספריות המשנה ברמה הראשונה שלה; עם –max-depth = 2, du מדפיס את הגודל של ספריית העבודה הנוכחית ואת הגדלים של כל ספריות המשנה ברמה הראשונה שלה, ושל כל ספריות המשנה ברמה השנייה; עם –max-depth = 3, du מדפיס את גודל ספריית העבודה הנוכחית ואת כל ספריות המשנה ברמה הראשונה שלה, וכל ספריות המשנה ברמה השנייה שלה, ומכל ספריות המשנה ברמה השלישית; זה ממשיך עם עליית הערך של עומק מקסימלי. דוגמה לשימוש בו היא:
שֶׁל -ה --מקסימום עומק=2פקודת סודו
אחת הספריות עם ספריות המשנה שלה בספריית השורש היא var. אם המשתמש מקליד
שֶׁל -ה /איפהולוחץ על Enter, הוא יבין כי הרשאה נשללת לכמה ספריות. כלומר, הוא אינו יכול לדעת את הגודל של כמה ספריות. ההרשאה נדחית מכיוון שהמשתמש אינו משתמש העל. למשתמש העל יש את הזכות לראות את הגדלים (שימוש בדיסק) של אותן ספריות. לכן, על מנת שהמשתמש ירכוש את ההרשאה הזו, עליו להשתמש בפקודת sudo כדלקמן:
סודו שֶׁל -ה /איפהאם הקליפה מבקשת מהמשתמש את הסיסמה שלו, על המשתמש להקליד את הסיסמה וללחוץ על Enter. באמצעות הפקודה sudo, המשתמש הרגיל (מתכנת) יכול לראות את הגדלים של כל הספריות בספריית var ובספריות דומות.
לא כולל רשומות לפי גודל
האפשרות – threshold = SIZE לא תאפשר רישום ספריות שגודלן קטן מ- SIZE. בשביל השביל,
/בית/ג'ון/אמר/dirTwo/dirThree/dirFourעם ההנחיה ב[מוגן בדוא'ל]: ~ $, אם כך
שֶׁל -ה --מפתן= 12K dirOneכאשר 12K פירושו 12 קילו -בתים, לא יציג את השורה עבור כל ספרייה שהשימוש בדיסק שלה נמוך מ- 12K.
–Exclude = PATTERN
אפשרות וערך זה יכולים להשמיט שורות ספריות שהמשתמש אינו מעוניין בהן ברישום.
כדי להשמיט את השורה של הספרייה האחרונה, dirFour של הנתיב
/בית/ג'ון/אמר/dirTwo/dirThree/dirFourהפקודה צריכה להיות:
שֶׁל -ה -לא לכלול= להגיד/dirTwo/dirThree/dirFour dirOneהתוצאה תהיה בערך,
4.0K dirOne/dirTwo/dirThree8.0K dirOne/dirTwo
12K dirOne
הערה: הגדלים לא כללו את גודל מדריך הרמות האחרון (dirFour) של הנתיב.
כדי שיהיו רק הגדלים של מדריכי העומק העליון ועצי המשנה שלהם, אין את ספריות העומק התחתון באפשרות. אז עם הפקודה,
שֶׁל -ה -לא לכלול= להגיד/dirTwo/dirThree dirOneהפלט יהיה בערך,
4.0K dirOne/dirTwo
8K dirOne
הערה: הגדלים לא כללו את הגדלים של מדריכי הידית התחתונה של העץ.
שקול שוב, את הקישור המוחלט,
/בית/ג'ון/אמר/dirTwo/dirThree/dirFourהפקודה הבאה תקבל את השימוש בדיסק רק בספריית dirTwo, שהיא ספרייה בתוך הנתיב. הפקודה היא:
שֶׁל -ה -לא לכלול=/בית/ג'ון/אמר/dirTwo/ * /בית/ג'ון/אמר/dirTwoהטיעון מכיל את כל הספריות הקודמות עד לזו המדוברת. הערך של אי הכללה כולל את כל הספריות הקודמות, שמסתיימות ב- *, ממש אחרי המדובר. * פירושו כל ספריות המשנה ברמה זו (ועצי המשנה שלהן). התוצאה תהיה בערך,
5.0K/בית/ג'ון/אמר/dirTwoסיכום
הניסיון לדעת את גודל הספרייה עם הפקודה ls -s מטעה. בעזרתו מתקבלים רק נתוני המטא של הספרייה. כדי לדעת את השימוש בדיסק של ספרייה, יש להשתמש בפקודה du. כאשר משתמשים בה עם האפשרות -h, ניתן לקרוא את גודל הספריות. ניתן להשיג את הגודל לכאורה באמצעות אפשרות הגודל לכאורה. ללא כל אפשרות וטענה, הפקודה du מציגה רק את הגדלים של כל ספריות המשנה של הספרייה הנוכחית, כולל זו של הספרייה הנוכחית. הטיעון ל- du הוא הנתיב, שעשוי להתחיל מהשורש. אופציות וחלק מערכיהן קובעות בדיוק לאילו ספריות פונים. פקודת sudo מעניקה למשתמש הרגיל הרשאות משתמש -על כברירת מחדל.